在Suricata使用Oinkmaster来进行规则管理
可以使用Oinkmaster来对suricata的规则进行统一管理,比如更新,启用,停用等
0x00 安装
-
环境:
CentOS-7.0
Suricata-3.2
Suricata规则目录:/etc/suricata/rules
-
从官网下载Oinkmaster的tar文件
下载地址:https://pilotfiber.dl.sourceforge.net/project/oinkmaster/oinkmaster/2.0/oinkmaster-2.0.tar.gz
-
安装:
# 解压 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
安装成功
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中给出了使用方法。直接执行./脚本文件名
也可以查看使用方法。下面举两个例子:
-
makesidex.pl
解析指定目录下所有的*.rules文件,寻找所有被停用的规则并在每个停用的规则前打印"disablesid #"。这个脚本的输出可以追加到oinkmaster.conf中,便于我们统一管理所用的规则。
# for example ./makesidex.pl /etc/suricata/rules >> ../oinkmaster.conf
-
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
上一篇: 跨域请求处理