我不知道这个问题是否被认为与编程有关,但我无论如何都会尝试。我是Alienvault OSSIM系统的新手。我正在努力学习如何制定自己的规则,但不幸的是,我遇到了一些困难。我在Snort rules文件夹中的规则文件"local.rules"中创建了一个简单的规则。
alert icmp any any <> any any (msg:"simple ping rule."; icode:0; itype:0; classtype:icmp-event; sid:250888; rev:5;)
该规则在任何机器向任何机器发送icmp ping后触发。我检查了Snort是否处理此规则,并且它的记录确实出现在Snort日志文件中。
从我对此所做的搜索中,我意识到在改变规则文件之后,我必须运行下面的脚本来映射规则文件。
perl /usr/share/ossim/scripts/create_sidmap.pl /etc/snort/rules/
然后我在local_rules.xml文件中创建了以下OSSIM规则:
<group name="local,syslog,">
<rule id="100020" level="2">
<if_sid>250888</if_sid>
<description>it's a new rule that i write myself!!</description>
</rule>
</group>
系统重新启动后,我向机器发送了一些ping,但该规则没有出现在警报日志中。在OSSIM系统错误日志中出现如下内容:
2014/08/06 11:30:59 rules_list: Signature ID '250888' not found. Invalid 'if_sid'.
谁能告诉我我做错了什么? 我不熟悉Alienvault OSSIM System,但从snort的角度来看,这是一个无效的本地规则。本地规则的sid必须>= 1,000,000,因为这些sid是为Snort发行版中包含的规则保留的(请参阅此处的相关文档)。也许可以尝试将sid更改为1000000(或1250888,如果您想保留250888部分)。
如果在snort中创建规则,则不需要创建规则local_rules.xml
在更改snort 的local.rules之后的any any (msg:"simple ping rule."; icode:0; itype:0; classtype:icmp-event; sid:250888; rev:5;)
并执行以下命令
perl /usr/share/ossim/scripts/create_sidmap.pl /etc/snort/rules/
进入web界面>配置>威胁情报>数据源>数据源id 1001
在搜索输入中写下你的规则的名称(250888),你会发现你的规则