Skip to content

Suricata

Build a Suricata network-detection lab, validate local and managed rules, investigate EVE JSON, analyse saved traffic, and introduce blocking only after defining a safe rollback path.

What Suricata does

Suricata is an open-source network threat-detection engine maintained by the Open Information Security Foundation. It supports real-time intrusion detection, inline intrusion prevention, network security monitoring, and offline PCAP processing. Its EVE JSON output provides structured alert, flow, DNS, HTTP, TLS, file, and statistics events for investigation and integration.

Watch the Suricata introduction on YouTube

Watch the supporting Suricata demonstration

Choose your journey

Complete the journeys in order for a full proof of concept, or choose the task that matches an existing authorised lab.

Before you begin

Documented baseline

The original PoC used Suricata 7.0.6, Ubuntu 22.04 LTS, the ET Open ruleset, and pfSense 2.7.2. Treat that combination as historical evidence. For a new build, record the exact engine, operating system, capture method, ruleset, package filenames, checksums, and validation date.

Component Historical PoC Record for a new build
Suricata 7.0.6 Exact package version and repository
Sensor OS Ubuntu 22.04 LTS OS release, architecture, and patch date
Rules ET Open Source, licence, update time, and checksum
Host capture AF_PACKET / NFQUEUE examples Interface, mode, and offload state
Gateway option pfSense 2.7.2 pfSense and Suricata package versions

Use an isolated, authorised lab

Packet capture can expose sensitive data, and inline testing can interrupt access. Use disposable systems, keep console access, take snapshots, and prepare cleanup before generating test traffic or enabling blocking.

How data moves through this PoC

1Network or PCAP2Capture method3Decode and inspect4Rule evaluation5EVE alert or drop

Troubleshoot from left to right. Prove that traffic reaches the selected capture path before changing variables, rules, outputs, or blocking policy.

Troubleshooting shortcuts

Symptom Start here
Service is not running Validate installation and inspect the journal
Local rule never fires Check HOME_NET, interface, SID, and both tests
Downloaded rules fail Stage and validate before activation
Inline traffic stops Execute the prepared rollback
PCAP results differ Compare engine, config, rules, and checksums

Lab architecture

Host OS Role Historical address
pfSense FreeBSD / pfSense Optional gateway IDS/IPS 192.168.1.200 WAN / 10.0.0.2 LAN
Suricata Ubuntu 22.04 LTS Host IDS/IPS 10.0.0.27
WS2019 Windows Server 2019 Controlled test client simulating a compromised host 10.0.0.24

Suricata proof-of-concept network architecture

In the demonstrated PoC, WS2019 represented a compromised machine and visited controlled test websites to trigger Suricata signatures. Preserve that packet-to-alert objective in a new build, but prefer locally controlled fixtures where possible because public destinations, redirects, DNS answers, and downloaded signatures can change.

Continue with a journey

Where to go next