Back to Projects
Project

Security Monitoring with Wazuh SIEM

Open-source SIEM deployed on a production VPS with custom decoders, application-level detection rules, and MITRE ATT&CK threat classification. Real attack data from day one.

WazuhSIEMSecurityMITRE ATT&CKLinuxMonitoring
Security Monitoring with Wazuh SIEM

Overview

After deployment, most developers may not be aware of the attacks reaching their servers. Attacks are happening on live servers, but without a way to collect, analyze, and assess the evidence, they remain unaware of the type and nature of these threats.

This project deploys Wazuh as a full SIEM on a production VPS, extends it with a custom decoder for application-level security events, builds detection rules mapped to MITRE ATT&CK techniques, and connects the monitoring to the authentication system so that both infrastructure-level and application-level threats are visible in a single dashboard.

Custom Application Integration

The authentication system writes every security-relevant event as structured JSON to a log file. A custom Wazuh decoder parses this format, extracting fields including the event type, user ID, source IP address, and timestamp, making them available to the detection rule engine.

Custom Detection Rules

Eight custom detection rules are defined, numbered 110001 through 110008.

  • 110001LOGIN_FAILURE → MITRE T1110 (Brute Force)
  • 110002 — Repeated failures from same IP → active brute force
  • 110003ACCOUNT_LOCKED at severity 10 → MITRE T1110.001 (Password Guessing)
  • 110004PASSWORD_RESET events
  • 110005 — Unusual TOKEN_REFRESH patterns
  • 110006ADMIN_ACTION audit trail
  • 110007LOGIN_SUCCESS after repeated failures
  • 110008 — Unusual registration patterns

Real-World Results

Within hours of the server going live, Wazuh detected thousands of automated connection attempts. SSH attempts hit the closed port and received no response. HTTP probes received standard responses. Both categories appear in the dashboard with MITRE ATT&CK classifications.

Detection Stack

ComponentDetail
PlatformWazuh 4.7.5 all-in-one
Custom decoderAUTH_AUDIT JSON event parser
Custom rules110001 — 110008
MITRE ATT&CKT1110, T1110.001 and others
Log sourcesOS auth logs + application audit log
Dashboard accessNetbird private network only
Related Projects

More projects

More systems and experiments connected to security, infrastructure, backend development, and AI.

Zero Trust Infrastructure

Zero Trust Infrastructure

Production server hardened with Zero Trust Network Access using Netbird and WireGuard. Port 22 closed on the public internet. SSH and internal services accessible only through an encrypted private overlay network.

Zero TrustNetbirdWireGuardLinuxSecurityInfrastructure
View Project
Reusable Secure Auth System

Reusable Secure Auth System

A production-deployed authentication and authorization backend built under Secure SDLC principles. Supports hybrid authentication for browser and API clients, role-based access control, and a full security documentation suite.

Node.jsTypeScriptPostgreSQLExpressJWTRBACSecurity
View Project
Web Security Scanner

Web Security Scanner

An automated web security scanner that checks HTTP security headers, SSL certificates, DMARC records, and exposed sensitive files. Returns a weighted score and grade from A to F with plain-language findings.

TypeScriptNode.jsExpressPostgreSQLDrizzleSecurityDockerOWASP
View Project