Konstas.Engineering Notes
Networking · Cybersecurity · Infrastructure
Security Operations

Building an Open-Source Security Monitoring Stack

Articles · July 2026 · Ioannis (John) Konstas

You don't need a six-figure SIEM to have real visibility. A capable open-source monitoring stack — network detection, host detection, traffic analytics, and a place to correlate it all — runs on modest hardware and teaches you more about your environment than any appliance. The trick is understanding what each tool sees, because they watch different things and the value is in combining them.

Two vantage points: network and host

Detection happens at two levels, and you want both:

The components

Suricata — network detection and traffic analysis

Suricata is the modern NIDS/IPS: multi-threaded, rule-driven (compatible with the widely used ET/Snort rule ecosystems), and — underrated — a superb passive traffic logger, emitting structured JSON (EVE) for flows, DNS, TLS, and HTTP. Even before a single alert fires, that metadata is gold for hunting.

# Run Suricata on a mirror/SPAN port or tap; emit JSON for everything
suricata -i eth1 -c /etc/suricata/suricata.yaml
# Rules auto-updated via suricata-update; ET Open is free and strong
suricata-update && systemctl restart suricata
# eve.json now streams flow/dns/tls/http/alert records -> ship to your log store

Wazuh — host detection, the maintained OSSEC successor

OSSEC pioneered open-source HIDS — file integrity monitoring, log analysis, rootkit checks. Its actively developed successor, Wazuh, is what to deploy today: agents on every host feed a central manager doing file-integrity monitoring, log analysis, vulnerability detection, and compliance checks, with its own dashboard. Where the network stack sees the exploit attempt, Wazuh sees whether it landed.

ntopng — real-time traffic visibility

Suricata tells you about bad traffic; ntopng shows you all traffic — top talkers, per-host bandwidth, application breakdown, and historical flows. It's how you answer "what is this host suddenly sending 40 GB to?" and how you learn the baseline that makes anomalies visible.

# brew install ntopng   (or apt); point it at the same tap/SPAN
ntopng -i eth1 -w 3000        # web UI on :3000, drill into any host/flow

A place to correlate: the log layer

Detection tools are only as good as your ability to search and correlate across them. Ship Suricata's EVE JSON and Wazuh alerts into a log platform — the classic open choice is an Elasticsearch/OpenSearch + dashboards stack (Graylog is a lighter, friendlier alternative). Now a single timeline shows the network alert, the host that received it, and the traffic that followed.

How the pieces reinforce each other

The stack's power is correlation. A realistic detection chain:

  1. Suricata alerts on an exploit attempt against a web server from an external IP.
  2. Wazuh on that server shows a new process spawned and a modified binary seconds later — the exploit landed.
  3. ntopng reveals the server now beaconing to an unfamiliar host on a regular interval — C2.
  4. Your log platform ties the three events into one incident timeline for response.

No single tool tells that story; together they do.

Deployment notes

Real visibility comes from combining vantage points: Suricata on the wire, Wazuh on the host, ntopng for the baseline, and a log layer to correlate. Each is blind alone; together they tell the whole story of an intrusion.

← All articles

Research and direction by Ioannis (John) Konstas; compiled and finalized with AI assistance.

👁· views