如何在Snort中创建内容规则

时间:2019-09-03 10:28:43

标签: snort network-security intrusion-detection

目的是检测HOME_NET中是否有人在搜索“恐怖主义”并生成警报。我正在使用安装在运行Ubuntu 18.04的虚拟机(VirtualBox)中的Snort 2.9。

问了相同的qs here,但仍未得到回答。

出于测试目的,将HOME_NET设置为一台计算机(192.168.30.102)

创建的规则如下:

alert tcp $HOME_NET any -> any any (msg:"terrrorism content found"; content:"terrorism"; nocase; sid:10000002;)

这是来自Philip Craiger博士here的精彩视频。
还按照建议的herehere尝试了其他一些变体:

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"terrrorism content found"; content:"terrorism"; nocase; sid:10000002;)

alert tcp $HOME_NET any -> $EXTERNAL_NET 80 (msg:"terrrorism content found"; content:"terrorism"; http_uri; sid:10000002;)

alert tcp $HOME_NET any -> $EXTERNAL_NET 80 (msg:"terrrorism content found"; content:"terrorism"; http_client_body; sid:10000002;)

为了进行测试,在网络浏览器(firefox)中进行了一个简单的Google搜索。 但是,不会生成警报。

检测单词“ HTTP”的规则已正确执行:

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"HTTP found"; content:"HTTP"; sid:10000002;)

这是一个相当简单的规则,因为“ HTTP”是数据包应用程序数据中的第一个单词。但是,上述对先前规则的任何修改似乎都不起作用。没有生成警报。

如果有人能指出正确的方向,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

供以后参考:

Google和大多数网络搜索引擎都是通过HTTPS连接运行的。因此,应用程序层数据包已加密,无法由Snort解析。
Snort只能应用于未加密的数据包。

有关此内容的更多详细信息,请参见here