欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在Suricata使用Oinkmaster来进行规则管理

程序员文章站 2022-07-10 20:19:44
...

可以使用Oinkmaster来对suricata的规则进行统一管理,比如更新,启用,停用等

0x00 安装

  1. 环境:

    CentOS-7.0

    Suricata-3.2

    Suricata规则目录:/etc/suricata/rules

  2. 从官网下载Oinkmaster的tar文件

    下载地址:https://pilotfiber.dl.sourceforge.net/project/oinkmaster/oinkmaster/2.0/oinkmaster-2.0.tar.gz

  3. 安装:

    # 解压
    tar zxvf oinkmaster-2.0.tar.gz
    # 进入oinkmaster目录
    cd oinkmaster-2.0
    # 编辑配置文件oinkmaster.conf
    vim oinkmaster.conf
    

    在文件oinkmaster.conf中,将rules的获取地址添加进来。增加下面这一行:

    url = https://rules.emergingthreats.net/open/suricata-3.2/emerging.rules.tar.gz
    
  4. 安装成功


0x01 下载/更新规则

在oinkmaster解压后的文件夹内运行如下命令

sudo ./oinkmaster.pl -C ./oinkmaster.conf -o /etc/suricata/rules

0x02 启用/停用一条规则

修改oinkmaster.conf文件

# 启用sid为1325的sig
enablesid 1325
# 停用sid为4,5,6的三条sig
disablesid 4,5,6

修改后,重新运行oinkmaster

sudo ./oinkmaster.pl -C ./oinkmaster.conf -o /etc/suricata/rules

0x03 有用的脚本

oinkmaster提供了一些脚本文件,帮助我们更方便的使用oinkmaster来管理suricata的规则。脚本文件在oinkmaster-2.0/contrib目录下,该目录下的README.contrib中给出了使用方法。直接执行./脚本文件名也可以查看使用方法。下面举两个例子:

  1. makesidex.pl

    解析指定目录下所有的*.rules文件,寻找所有被停用的规则并在每个停用的规则前打印"disablesid #"。这个脚本的输出可以追加到oinkmaster.conf中,便于我们统一管理所用的规则。

    # for example
    ./makesidex.pl /etc/suricata/rules >> ../oinkmaster.conf
    
  2. addmsg.pl

    这个脚本会解析oinkmaster.conf文件,将其中localsid/enablesid/disablesid 所在行的sid自动添加上msg,msg从给定的rules文件中寻找。

    之前如果是这个样子
         disablesid 286
        disablesid 287
        disablesid 288
    执行脚本文件后,会变成这样
        disablesid 286             # POP3 EXPLOIT x86 bsd overflow
        disablesid 287             # POP3 EXPLOIT x86 bsd overflow
        disablesid 288             # POP3 EXPLOIT x86 linux overflow
    

    注意,如果写成

    ​ disablesid 1,2,3

    是无法自动添加的。但是写成

    ​ disablesid \

    ​ 1, \

    ​ 2, \

    ​ 3

    则可以自动添加msg。

    # foe example
    ./addmsg.pl ../oinkmaster.conf /etc/suricata/rules/ > oinkmaster.conf.new