Suricata is one of the most powerful open-source intrusion detection systems (IDS) available leveraging Suricata rules to detect a wide range of threats, but many people aren’t aware of the wide range of protocols Suricata can handle to monitor and analyze network traffic. Additionally, Suricata is capable of producing various types of log data that make it function as a fully capable network security monitoring system (NSM). Let’s review some of the details.
Suricata can handle a wide range of protocols to effectively monitor and analyze network traffic for suspicious activity, including but not limited to:
Basic Protocols:
Application Layer Protocols (Layer 7):
Other Supported Protocols:
This is not an exhaustive list, but it highlights the most common protocols Suricata can work with. For a more complete list of which protocols are used in Suricata, please visit the Suricata user docs or the Suricata GitHub.
Suricata is versatile when it comes to log generation. It can produce several log types depending on your configuration and what information you want to capture:
The specific types of Suricata logs generated depend on your configuration settings. You can choose to enable or disable different logging options based on your needs and desired level of detail.
Suricata primarily uses YAML:
Additionally, Suricata interacts with other formats depending on its logging configuration:
Using Suricata involves several key steps:
First, choose a platform. Suricata is available for various operating systems like Linux, FreeBSD, UNIX, Mac OS X, and Windows. Download the installer suitable for your chosen platform from https://suricata.io/download/. The installation process generally involves following the instructions provided by the download source using your system’s package manager, or you can compile the code if you prefer a more customized approach.
Suricata relies on a configuration file to define its operational parameters. The file specifies details like network interfaces to monitor, rule sets to use, logging options, and potential actions for detected threats. Popular options for rule sets include those available from Emerging Threats (ET) and Snort rules. You can also create custom rules to address specfic vulnerabilities or concerns within your network.
Once configured, you can initiate Suricata using the appropriate system commands (e.g., systemctl start suricata on some Linux distributions).
Regularly review Suricata logs to identify potential threats and investigate suspicious activity. Make sure to also keep Suricata's rule sets updated with the latest threat signatures to ensure optimal protection. This may involve periodic manual updates or setting up automated update mechanisms. Always make sure to monitor Suricata's resource consumption (CPU, memory) to ensure it's functioning optimally. You might need to adjust configurations or upgrade hardware if performance bottlenecks occur.
Additional Tips:
To begin learning more about Suricata, we recommend downloading the open-source book published by Stamus Networks titled “The Security Analyst’s Guide to Suricata” — the first practical guide to threat detection and hunting using Suricata, the world’s most popular open-source network security engine.
Written for security operations center (SOC) analysts and threat hunters who use Suricata to gain insights into what is taking place on their networks, the book provides vital information on entry points and an in-depth analysis of the most important Suricata features.
To be notified of new blog posts and other news, make sure to subscribe to the Stamus Networks blog, follow us on Twitter, LinkedIn, and Facebook, or join our Discord.