Awesome Open Source
Awesome Open Source

Suricata-Update

The tool for updating your Suricata rules.

Installation

pip install --upgrade suricata-update

Documentation

https://suricata-update.readthedocs.io/en/latest/

Issues

https://redmine.openinfosecfoundation.org/projects/suricata-update

Example Usage

suricata-update

The default invocation of suricata-update will perform the following:

  • Read the configuration, /etc/suricata/update.yaml, if it exists.

  • Read in the rule filter configuration files:

    • /etc/suricata/disable.conf
    • /etc/suricata/enable.conf
    • /etc/suricata/drop.conf
    • /etc/suricata/modify.conf
  • Download the best version of the Emerging Threats Open ruleset for the version of Suricata found.

  • Read in the rule files provided with the Suricata distribution from /etc/suricata/rules.

  • Apply disable, enable, drop and modify filters.

  • Resolve flowbits.

  • Write the rules to /var/lib/suricata/rules/suricata.rules.

If you are not yet ready to use /var/lib/suricata/rules then you may be interested in the --output <http://suricata-update.readthedocs.io/en/latest/#cmdoption-o>_ and --no-merge <http://suricata-update.readthedocs.io/en/latest/#cmdoption-o>_ command line options.

Suricata Configuration

The default Suricata configuration needs to be updated to find the rules in the new location.

Example suricata.yaml

.. code-block:: yaml

default-rule-path: /var/lib/suricata/rules rule-files: - suricata.rules

Optionally -S /var/lib/suricata/rules/suricata.rules could be provided on the Suricata command line.

Notes

This suricata-update tool is based around the idea /etc/suricata should not be used for active rule management, but instead as a location for more or less static configuration. Instead /var/lib/suricata is used for rule management and /etc/suricata/rules is used as a source for rule files provided by the Suricata distribution.

Files and Directories

/usr/share/suricata/rules Used as a source of rules provided by the Suricata engine. If this directory does not exist, etc/suricata/rules will be used.

/etc/suricata/update.yaml The default location for the suricata-update configuration file.

/etc/suricata/disable.conf Default location for disable rule filters if not provided in the configuration file or command line.

/etc/suricata/enable.conf Default location for enable rule filters if not provided in the configuration file or command line.

/etc/suricata/drop.conf Default location for drop rule filters if not provided in the configuration file or command line.

/etc/suricata/modify.conf Default location for modify rule filters if not provided in the configuration file or command line.

/var/lib/suricata/rules The output directory for rules processed by the suricata-update tool. This directory is owned and managed by suricata-update and should not be touched by the user.

/var/lib/suricata/rules/suricata.rules The default output filename for the rules processed by suricata-update.

This is a single file that contains all the rules from all input files and should be used by Suricata.

/var/lib/suricata/update/cache Directory where downloaded rule files are cached here.

/var/lib/suricata/rules/cache/index.yaml Cached copy of the rule source index.

/var/lib/suricata/update/sources Configuration direction for sources enabled or added with enable-source or add-source.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (50,849
security (1,799
network-monitoring (57
ids (31
suricata (16

Find Open Source By Browsing 7,000 Topics Across 59 Categories