The SOC case
Een geavanceerde, zelfgehoste Security Operations Center in een Proxmox-hypervisor omgeving met AI-integratie.
Wat
In het kader van mijn opleiding Cloud & Cybersecurity heb ik een volledig operationeel Security Operations Center (SOC) opgezet als schoolproject. De gehele opstelling draait binnen een Proxmox-hypervisor omgeving, waarbij de verschillende services gehost worden in lichtgewicht Docker containers.
De infrastructuur is als volgt opgebouwd:
- 🛡️ OPNsense firewall & CrowdSec: Netwerkbeveiliging, routing en actieve mitigatie.
- 📊 Wazuh: Log-clustering server en centrale SIEM.
- 🤖 n8n: SOAR-systeem voor geautomatiseerde workflows en incidentrespons.
- 🧠 Ollama (AI): Lokaal gehoste AI-samenvatting-bot (Ollama 3.2 model).
- 🌐 VirusTotal API: Threat intelligence voor het scannen van bestandshashes.
- 📱 Signal (REST API): Notificatiesysteem voor security alerts.
- 🐵 Infection Monkey: Attacktool voor het simuleren van aanvallen (zoals SSH bruteforce).
- 👁️ Suricata: IDS/IPS daemon als extra beveiligingslaag met threat intel.
- 💻 Windows 11 Client: Het endpoint en primaire doelwit voor de aanvalssimulaties.
Opdracht
De opdracht bestond uit het inrichten van een realistische SOC-omgeving om loggegevens te verzamelen, correleren en visualiseren in dashboards. Daarbij moest een SIEM-tool gekoppeld worden aan een SOAR-systeem om automatische respons-workflows op te zetten.
Daarnaast was het de bedoeling om specifieke aanvalsscenario's uit te werken, de detectie hiervan te verfijnen, en playbooks op te stellen voor de mitigatie. Een belangrijk aandachtspunt hierbij was het efficiënt omgaan met resources en externe API's (zoals de rate-limits van VirusTotal).
Uitwerking
De uitwerking van het SOC is gedemonstreerd aan de hand van twee duidelijke attack-scenario's, ondersteund door een extra laag netwerkbeveiliging.
Attack 1: Malware Detectie & SOAR
De eerste aanval simuleert het downloaden van een schadelijk bestand. Op de Windows 11 client monitort een Wazuh-agent constant de Downloads folder. Om API rate-limits te respecteren, wordt niet het hele systeem, maar uitsluitend deze folder gescand.
Wazuh & VirusTotal
Wanneer een bestand in de folder verschijnt, berekent Wazuh de hash en stuurt deze door naar de VirusTotal API, het centrale log platform. De gecentraliseerde logs verschijnen in het Wazuh-dashboard, waarbij automatisch een rule-level wordt toegewezen.

n8n Workflow
Alerts met een rule-level 4+ worden doorgestuurd naar het n8n SOAR-systeem. Na een duplicaatscontrole (om alert-fatigue te voorkomen) wordt de unieke log naar de Ollama AI gestuurd.

AI Analyse & Alerting via Signal
Na de AI-analyse wordt een waarschuwing verstuurd naar de Signal app via een lokale API-interpreter.
"De AI helpt enorm bij het uniform houden van logs, omdat veel van de logs een ander soort body of context hebben (bv. Suricata vs CrowdSec). Bovendien kan de AI ook een eerste automatische analyse uitvoeren en een oplossing als suggestie meegeven."
Attack 2: SSH Bruteforce & Remediation
In de tweede fase simuleer ik een netwerkaanval via een SSH-bruteforce, geïnitieerd vanuit de attacktool Infection Monkey.
- Detectie: De aanval triggert onmiddellijk een alert binnen de CrowdSec Security Engine op basis van de geïnstalleerde security scenario's.
- Mitigatie: CrowdSec deelt deze informatie direct met de OPNsense firewall.
- Isolatie: Het malafide IP-adres wordt opgenomen in de firewall alias
crowdsec ipv4, wat resulteert in een onmiddellijke tijdelijke ban van het netwerk.

Extra Beveiligingslaag: Suricata
Als extra verdedigingslinie draait er een Suricata daemon (IDS/IPS) met diverse threat intel databanken. Deze blokkeert actief Nmap scans en ongeautoriseerd netwerkverkeer. Ook deze logs vloeien via syslog netjes door naar Wazuh.
Resultaat
Het project resulteerde in een naadloos samenwerkende SOC-opstelling waarbij hands-on ervaring is opgedaan met threat detection, log-analyse en geautomatiseerde incidentrespons.
De combinatie van OPNsense, Wazuh en n8n zorgde voor krachtige en automatische netwerkisolatie (zoals gezien bij de SSH bruteforce). Tegelijkertijd bewees de integratie van n8n met lokaal gehoste AI (Ollama) zeer waardevol in het reduceren van alert-fatigue en het overzichtelijk samenvatten van complexe beveiligingslogs via Signal.