Skip to main content
Back to projects

Home SOC with Wazuh and Suricata

Defensive-security lab combining Windows and Linux events with network alerts. Includes controlled detection tests and backup monitoring.

Background and goals

I built a home lab to practice system administration and investigating alerts on equipment I own. My goal is to follow a signal from its origin to Wazuh, understanding what was detected and what additional context is needed to interpret it.

The environment combines Windows, a Raspberry Pi running Linux, and a virtualized Wazuh server. I also added backup monitoring because data availability is part of defensive security.

Architecture

  • Windows: Wazuh agent and Sysmon as endpoint event sources.
  • Raspberry Pi 5: Suricata sensor and Wazuh agent collecting Linux and IDS logs.
  • Managed switch: mirrors the PC’s traffic to the sensor in both directions.
  • Virtual machine: hosts Wazuh Manager, Indexer, and Dashboard in VirtualBox on the PC.
Event sources and investigation

The switch sends a copy of PC traffic to Suricata. Its EVE log and Linux events reach Wazuh through the Raspberry Pi agent. The Windows agent contributes endpoint events. Both sources can be examined on the server.

The diagram loads when this section comes into view.

The diagram summarizes how events are collected; it does not imply that a joint correlation rule exists across every source.

From a test signal to an alert

The documented exercise uses a prepared local HTTP response to trigger a Suricata signature. It is a controlled simulation inside the lab, with no exploitation or real compromise.

Interactive demonstration

From test traffic to an alert

Explore the five stages of a controlled SOC test. These fields summarize documented checks; they are not live logs.

Stage 1 of 5

Prepare the signal

I generate a controlled HTTP response to check whether the lab detects a known pattern.

Signal or evidence
Test HTTP response in my own lab.
What I check
There is no alert yet: this is the starting point.
Step 1 of 5

The result confirms that this signal traveled from the sensor to Wazuh. By itself, it does not demonstrate the detection of a complete attack.

Backup monitoring

The backup monitor produces JSON events for failures and recoveries. I configured the Linux agent to read them and validated local rules with wazuh-logtest. The documentation includes warnings for a missing backup drive and subsequent recovery, visible in the dashboard.

This applies the same method to an operational issue: identify the problem, inspect the event, and confirm that the return to normal is recorded.

Independent Windows test

I also documented a controlled test using encoded PowerShell. According to the lab record, Wazuh received an alert for rule 92057, level 12, mapped to MITRE T1059.001. This exercises the Sysmon/EventChannel data source separately from the Suricata and HTTP tests above. It is not a real attack or evidence of traffic being blocked. The selected image shows the test command, not the event as displayed in Wazuh.

Visual evidence

The following are reviewed photographs and historical screenshots. The Home Assistant warning shows stale monitoring data after the monitor was stopped; it does not establish that every Wazuh service stopped.

Select an image to enlarge it. Use the arrow keys to navigate and Esc to close.

Raspberry Pi assembled in a case with cooling and cables
My Raspberry Pi 5 setup, used as the SOC sensor.
PowerShell running an encoded command that outputs a test marker
PowerShell command used to test detection in Wazuh.
Home Assistant notice for SOC entities with no recent monitoring data
Home Assistant notification when the SOC monitor was stopped.

Decisions and lessons learned

  • Distinguish detection from blocking instead of attributing a response to an IDS that does not perform one.
  • Centralize records while preserving their source: a network event and an endpoint event offer different perspectives.
  • Move Suricata logs to the SSD and verify rotation to manage storage growth.
  • Check each integration stage before adding more rules or dashboards.

Scope and limitations

The Wazuh server depends on the PC hosting its virtual machine; it is not always available when the PC is off. Verified mirroring covers the PC’s traffic, not all Wi-Fi traffic. The HTTP exercise does not prove HTTPS content inspection or permanently lossless capture.

This case study summarizes checks documented through October 25, 2026. The gallery uses three reviewed copies without private metadata; full alerts containing identifiers are excluded. The operational dashboard remains private.

The network infrastructure supporting capture and remote access is covered in my home network and services project.