idaholab / Malcolm

Malcolm is a powerful, easily deployable network traffic analysis tool suite for full packet capture artifacts (PCAP files), Zeek logs and Suricata alerts.
https://idaholab.github.io/Malcolm/
Other
327 stars 53 forks source link

investigate default capture settings for best Suricata performance #435

Closed mmguero closed 1 month ago

mmguero commented 4 months ago

We're not doing much in the way of tuning for Suricata capture, neither on Malcolm or on Hedgehog. We should go over some of these resources and make adjustments where needed. However, note that we do have a number of variables that can be set via suricata_config_populate.py so we might already have the stuff in place to handle it. We just need to examine what might be best for good defaults to work fast "out of the box."

We should look at the defaults for any of the following:

mmguero commented 3 months ago

See #445 as well, as splitting out eve.json by thread and enabling rotation will also help with performance.

mmguero commented 3 months ago

(note: all Malcolm environment variables in this document should be prepended with SURICATA_)

Tuning Considerations

Suricata setting Malcolm variable Default
max-pending-packets MAX_PENDING_PACKETS 1024
mpm-algo (not currently adjustable) AC (Aho-Corasick)
detect.profile (not currently adjustable) high
detect.sgh-mpm-context (not currently adjustable) single
af-packet various various
stream.bypass (not currently adjustable) no

High Performance

IP Defrag

Flow and Stream handling

Defaults