01The problem
Security courses show alerts as screenshots. I wanted real ones: a SIEM watching machines I actually run, so I could practice triage and turn alerts into incident-response write-ups the way an analyst would.
02Setup
- Wazuh 4.14 all-in-one (manager, indexer and dashboard) on a dedicated Ubuntu 24.04 VM.
- Agents enrolled on the hypervisor and on the SIEM host itself for log collection and alerting.
- A Node.js / Express proxy that takes collected alerts and sends them to locally hosted language models, which draft incident-response write-ups.
- A React + TypeScript dashboard that shows Wazuh alerts and network anomalies next to the native Wazuh interface.
Because the models run on my own hardware, alert data (hostnames, usernames, IP addresses) never has to leave the lab to get a write-up drafted.
03Architecture
04What broke and how I fixed it
The write-up of the problems I hit while building this is in progress. The networking faults in the lab that hosts it are documented in the Proxmox case study.
05What I'd do next
- Enroll more endpoints, including a Windows machine, so the alerts cover more than Linux hosts.
- Map alerts to MITRE ATT&CK techniques in the dashboard to make triage faster.
- Score the drafted write-ups against my own to see where the local models get things wrong.