5.2. 使用oinkmaster进行规则管理

注解

suricata-update is the official and recommended way to update and manage rules and rulesets. See 使用Suricata更新进行规则管理

可以手动下载和安装规则,但有一种更简单、更快的方法可以做到这一点。有一些特殊的程序可以用来下载和安装规则。例如 Pulled PorkOinkmaster .在本文件中,将描述oinkmaster的使用。

要安装oinkmaster,请输入:

sudo apt-get install oinkmaster

有几个规则集。例如,新兴威胁(ET)新兴威胁Pro和VRT。在这个例子中,我们使用的是新出现的威胁。

Oinkmaster必须知道在哪里可以找到规则。这些规则可以在以下位置找到:

https://rules.emergingthreats.net/open/suricata-3.2/emerging.rules.tar.gz

打开oinkmaster.conf,通过输入以下内容添加此链接:

sudo nano /etc/oinkmaster.conf

在已经存在的URL前面放置一个,然后像这样添加新的URL:

../_images/oinkmasterconf.png

(按ctrl x关闭oinkmaster.conf,然后按y并回车。)

下一步是为新规则创建一个目录。输入:

sudo mkdir /etc/suricata/rules

下一步输入:

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

在新规则目录中,可以找到classification.config和reference.config。两个目录都必须添加到suricata.yaml文件中。通过输入:

sudo nano /etc/suricata/suricata.yaml

并添加新的文件位置,而不是已经存在的文件位置,如下所示:

../_images/suricata_yaml.png

要查看是否一切正常,运行Suricata:

suricata -c /etc/suricata/suricata.yaml -i wlan0 (or eth0)

您将注意到,Surica尝试加载了几个规则文件,但这些文件不可用。在suricata.yaml中,可以通过删除规则集或在规则集前面放置一个来禁用这些规则集。要停止Suricata的运行,请按ctrl c。

新出现的威胁所包含的规则比在苏里达加载的规则要多。要查看规则目录中可用的规则,请输入:

ls /etc/suricata/rules/*.rules

找到那些还没有出现在suricata.yaml中的,如果需要,可以添加到yaml中。

您可以通过输入:

sudo nano /etc/suricata/suricata.yaml

如果通过在规则文件前面放置一个来禁用规则文件中的规则,则下次运行oinkmaster时,将再次启用该规则。您可以通过oinkmaster禁用它,方法是输入以下内容:

cd /etc/suricata/rules

找到要禁用的规则的SID。

随后输入:

sudo nano /etc/oinkmaster.conf

一直走到文件的结尾。在此处键入:

disablesid 2010495

请键入要禁用的规则的SID,而不是2010495。也可以通过输入用逗号分隔的SID来禁用多个规则。

如果再次运行oinkmaster,您可以看到已禁用的规则的数量。您还可以启用默认情况下禁用的规则。通过输入:

ls /etc/suricata/rules

在这个目录中,您可以看到几个输入的规则集,例如:

sudo nano /etc/suricata/rules/emerging-malware.rules

在这个文件中,您可以看到哪些规则是启用的,而哪些规则不是启用的。您不能仅仅通过删除就长期启用它们。因为每次运行oinkmaster时,规则都会再次被禁用。相反,请查找要启用的规则的SID。将sid放在oinkmaster.config的正确位置:

sudo nano /etc/oinkmaster.conf

通过键入:

enablesid: 2010495

请键入要启用的规则的SID,而不是2010495。还可以通过输入用逗号分隔的SID来启用多个规则。

在oinkmaster.conf中,您可以修改规则。例如,如果您使用suricata作为inline/ips,并且您希望修改一个规则,该规则在匹配时发送警报,并且您希望该规则删除数据包,则可以通过输入以下内容来执行此操作:

sudo nano oinkmaster.conf

在可以修改规则的部分,键入:

modifysid 2010495 "alert" | "drop"

SID 2010495就是一个例子。请键入要更改的规则的SID。

重新运行oinkmaster以注意更改。

5.2.1. 更新您的规则

如果您已经下载了一个规则集(以本文件中描述的方式),并且希望更新规则,请输入:

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

建议您经常更新规则。每天修改新出现的威胁,每周或每周多次更新VRT。