Suricata IDS/IPS

NETWORK THREAT DETECTION ENGINE — OPEN SOURCE IDS · IPS · NSM
What is Suricata

Suricata is a high-performance, open-source network threat detection engine developed by the Open Information Security Foundation (OISF). It operates as an Intrusion Detection System (IDS), Intrusion Prevention System (IPS), or Network Security Monitoring (NSM) platform.

It inspects network traffic in real time — parsing dozens of application-layer protocols, matching signatures, running Lua scripts, and writing rich EVE JSON logs — all without dropping packets at multi-gigabit speeds using multi-threaded workers.

Modes of Operation
IDS (Intrusion Detection)
Passive mode. Reads a copy of traffic via SPAN port or tap. Generates alerts; does not block. Zero risk to production traffic. Use --af-packet or pcap input.
IPS (Intrusion Prevention)
Inline mode via Linux NFQ or AF_PACKET. Actively drops or rejects packets matching rules. Requires kernel netfilter integration with NFQUEUE or a network bridge.
NSM (Network Security Monitoring)
Full metadata logging: DNS queries, HTTP transactions, TLS certificates, file extraction, flow records. Invaluable for forensic investigation even without signature hits.
Offline PCAP Analysis
Feed any .pcap file for post-incident analysis. Suricata parses it and generates the same EVE JSON output as live capture.
Architecture
Packet Capture
AF_PACKET (Linux), DPDK, PF_RING, PCAP, NFQ. Multi-threaded capture workers bind to individual CPU cores.
Stream Reassembly
TCP session tracking and stream reassembly into ordered byte streams before application-layer parsing begins.
App-Layer Parsers
Protocol decoders for HTTP/2, TLS, DNS, FTP, SMB, SMTP, SSH, DCERPC, NFS, and 20+ others — all built-in.
Detection Engine
Multi-pattern matching (Aho-Corasick / hyperscan) over signatures. Lua scripting for custom logic. Threshold and suppress controls.
File Extraction
Extract files from HTTP, SMTP, FTP, SMB. Hash with MD5/SHA1/SHA256, submit to YARA or external threat intel.
Outputs
EVE JSON (unified log), fast.log (alerts), pcap recording, Syslog, Unix socket, Redis, Kafka. All configurable per event type.