A fully self-hosted SOC running on a Fedora 42 Linux mini PC. Detects network intrusions, monitors endpoints in real time, and delivers threat intelligence — built entirely on open-source tools used in enterprise security operations.
Every tool is free and open-source — the same stack deployed in enterprise SOCs worldwide.
Two machines, one centralized SOC. Network and host detection working in parallel.
Two roles, clearly divided — infrastructure and detection running in parallel.
Full step-by-step field manuals. Reproduce this entire setup from scratch.
We didn't follow a tutorial. Here's what actually broke and how we fixed it.
wazuh-certs-tool.sh manually, and placed each cert with exact ownership and permissions.<ossec_config> root element inside the cluster block with a missing closing tag. Used Python's XML parser to identify exact line numbers, repaired the file with targeted sed and Python scripts.x509: certificate valid for 192.168.1.33, not 127.0.0.1. SSL certificate generated for the server's actual IP but the Filebeat config pointed to localhost. Diagnosed from reading the exact error message.illegal_argument_exception because fields like agent.name were mapped as text instead of keyword type, preventing aggregation. Existing indices can't be remapped — fixed by applying a correct index template so all future daily indices are created with proper field types.Live captures from the Wazuh dashboard, OpenSearch, and Suricata alert feeds. Replace placeholders with your actual screenshots.
-->
-->
-->
-->