首页 > 解决方案 > 如何在 Snort 中创建内容规则

问题描述

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

此处询问了相同的 qs,但仍未得到答复。

出于测试目的,将 HOME_NET 设置为单机(192.168.30.102)

创建的规则如下:

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

这是从 Philip Craiger 博士的精彩视频中提到还按照此处此处
的建议尝试了其他一些变体:

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)中进行了简单的谷歌搜索。但是,不会生成任何警报。

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

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

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

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

标签: snortnetwork-securityintrusion-detection

解决方案


备查:

谷歌以及大多数网络搜索引擎通过 HTTPS 连接运行。因此,应用层数据包是加密的,无法被 Snort 解析。
Snort 只能应用于未加密的数据包。

可以在此处找到有关此的更多详细信息。


推荐阅读