Back to Blog

pfSense

Suricata vs. Snort: Similarities and Differences

Suricata vs. Snort: Similarities and Differences

Snort and Suricata are two of the most popular intrusion detection and prevention systems (IDS/IPS) in the world.  Both systems use signatures, rules, and protocol analysis to detect malicious traffic on networks. This blog post will talk about the similarities and differences of Snort and Suricata software.

The History of Snort and Suricata

Snort was released in 1998. It is a mature and established solution with over 600,000 reported users. For years, engineers defaulted to Snort as a real-time monitoring solution because of its vast ruleset, high accuracy, and flourishing community support. Then, in 2010, the Open Information Security Foundation (OISF) began building Suricata. Suricata is similar in many ways and can use almost all of the same rules available in Snort. 

OISF started building Suricata with the goal of addressing the capacity limitations faced by intrusion detection and prevention systems. When the hardware of an IDS/IPS is overused, the system begins dropping packets. This opens the door to malicious traffic entering the network completely undetected. Attackers can take advantage of this limitation by intentionally overloading the system. Suricata is built to improve processing capability and protect against these types of attacks. 

Similarities between Snort and Suricata 

Multithreading

Multithreading allows the software to be broken into multiple threads and executed on different CPU cores in parallel. Multiple threads decrease the rate at which additional rules slow down processing time. This is not only valuable for protecting against overload attacks, but also offers additional general protection as processing demands on intrusion detection systems have grown alongside network traffic in recent years.

In addition to new plugins, rewritten TCP handling, and other features, Snort introduced multithreading capabilities in the Snort 3.0 release. As of Snort 3.0, both Snort and Suricata offer multithreading capabilities.

*please note that the Snort binary on pfSense is 2.9.20 at the time of this writing.

Network-Based Intrusion Detection

Both systems are network-based intrusion detection systems (NIDS). NIDS detect malicious traffic across an entire network, allowing organizations to monitor their cloud, virtual, and local network environments for suspicious events. 

Signature and Anomaly-based Intrusion Detection

Snort and Suricata both implement signature-based and anomaly-based detection. Signature-based detection measures packets against a pre-defined ruleset, allowing organizations to identify threats with great accuracy. Anomaly-based detection, on the other hand, uses machine learning to model baseline traffic patterns, and then alerts organizations of outlier traffic. This allows administrators to have visibility into unusual behavior patterns they may not have created rulesets for. Combining the two detection techniques, enables clear and comprehensive monitoring— making both Snort and Suricata very powerful solutions. 

Intrusion Prevention

For organizations looking to move beyond detection, both Snort and Suricata are equipped with intrusion prevention systems. Intrusion prevention systems take action to stop potential threats detected by intrusion detection systems. 

Differences between Snort and Suricata

At present, there are no significant differences between the two technologies. There are small differences pertaining to rulesets, new releases, etc., but again, they are minor.

For example, Snort rule sets are separated into a community ruleset and a subscriber rule set, whereas Suricata has an ETOpen ruleset and an ETPro ruleset.

Snort’s community rule set and Suricata’s ETOpen rule set are both driven forward by community contributions. Snort’s community rule set has approximately 4,000 rules and ETOpen has over 40,000. ETOpen also receives updates from an internal team, while Snort’s community rule set is exclusively updated by the community.

The subscriber rule set and ETPro on the other hand, are not open source and are developed by internal teams. Despite the difference in names, both packages separate their rule sets in the same way. The paid rule sets are designed more intentionally and cohesively than the community rule sets; they are built to strategically defend against modern malware, and do not rely solely on crowdsourced efforts. Functionally, both paid rule sets are nearly equivalent. The only difference is, depending on your use case (home or business), one option may have a lower subscription cost than the other.

Conclusion

Overall, the two packages share many more similarities than differences. There’s no definitive answer on which package your team should use. If you find yourself at a crossroads, you can always test both packages for your specific case and evaluate performance. You’ll be able to tell if one package is flagging more false positives in your network than the other, or if there’s a notable difference in speed. 

The good news is that regardless of which solution you choose, it will be compatible with pfSense Plus software. For help with the configuration process, see our documentation.

Commonly Asked Questions

What is an Intrusion Detection and Prevention System?

An Intrusion Prevention System (IPS), or sometimes referred to as an Intrusion Detection and Prevention System (IDPS), is an essential component of any security system. This advanced network security technology scans your incoming traffic in real-time, searching for suspicious activity that could threaten the safety of your organization. If anything out of the ordinary is detected, it will immediately take action to prevent any potential damage before it can occur.

How is Snort used?

Snort is designed to keep a vigilant eye on both incoming and outgoing network traffic, swiftly alerting users if it discovers any suspicious packets or potential threats. With its real-time notification system, users can rest assured that their IP networks are secure from malicious actors.

What is Suricata used for?

Suricata is standard in network defense and threat detection. Like Snort, it detects and stops network threats.