我是snort的新手,所以希望你能帮助我。我试图通过local.rules文件在snort中创建自己的规则。我通过虚拟盒在Windows 7上安装了snort。我的配置似乎工作正常,因为我可以用字符串-T测试它,它工作正常。另外,当我在附加的截图标题为snort规则中运行前三个简单规则它们工作正常时,我的问题是当我尝试修改一个特定的规则时,在这种情况下是在下载bit torrent时记录,但我是得到所有这些http_inspect错误。不知道它们是什么,如果我在snort.conf文件中遗漏了什么。我没有触及snort.conf中的预处理器设置。我得到的错误也附在截图Snort输出中。我正在运行的规则语法是snort -i 1 -c c:\ snort \ etc \ snort.conf -A console。该规则将记录在日志文件夹中,并且我还附加了wireshark输出。任何有关这方面的帮助将非常感激。
由于 Garreth
答案 0 :(得分:1)
看起来你的tcp配置缺少客户端/服务器/两者 端口和80之间的关键字。因此,80正在丢失和 reassembly仅设置为8080。在配置文件中更改为:
preprocessor stream5_tcp: policy first, ports 80 8080
这意味着每个HTTP端口都需要在stream5_tcp预处理器中列出,而这不是 执行。
有关设置snort的更多信息,请浏览以下链接: https://www.talentcookie.com/2015/05/snort-how-does-it-work/ https://www.talentcookie.com/2015/05/snort-an-open-source-ids-in-freebsd-10-or-above/ https://www.talentcookie.com/2015/10/snort-performance-is-your-snort-working-fast-enough/
答案 1 :(得分:1)
来自http_inspect的消息不是您的配置或错误的错误,它们是来自流量触发的预处理器规则的消息。特别是规则120:3:1(GID = 120,SID = 3,REV = 1)。 GID 120规则特定于http预处理器的http服务器检查。当http_inspect预处理器检测到异常网络流量时,此规则会生成一个事件。此规则的消息是" NO CONTENT-LENGTH或TRANSFER-ENCODING"。这条规则的目的是服务器响应头。它可能会发出警报,因为没有" Content-Length"标题或没有"转移编码"响应头中的标头。
以下是http服务器响应标头的示例:
接受-范围:字节
内容长度:67023552
内容类型:应用程序/ x-苹果磁盘镜像
日期:星期四,2016年3月10日05:32:31 GMT
服务器:下载
状态:200
服务器响应中应始终有一个内容长度标头,因为它告诉客户端该请求有多少数据。当数据的实际长度与内容长度标题中显示的不同时,客户端应丢弃它并抛出错误。如果没有内容长度标头,则客户端不知道将要发送多少数据,并且无法验证它是否获得了此请求的所有数据。如果服务器响应中缺少此标头,则snort将生成您看到的规则,因为这是异常流量。它也可能缺少transfer-encoding标题。在上面的示例中,您会注意到没有传输编码,因此如果服务器响应标头如上所示,则snort会生成此规则。 transfer-encoding标头不在很多http响应中,这是正常的。我相信这些规则是在你拥有" extended_response_inspection"并且文本规则被设置为警报(你有一个preprocessor.rules文件snort正在拾取,或者这个规则在你的任何规则文件中?)。此选项在http server configuration options的snort手册中有说明。如果您不关心这些警报,可以从规则文件中删除gid规则。如果您的规则文件中没有这些规则,那么您可以添加" no_alerts" http服务器配置的选项。从此选项的snort手册:
"此选项会关闭HTTP Inspect预处理器模块生成的所有警报。这对规则集中的HTTP规则没有影响。没有指定参数。"
如果该选项生成规则,您也可以从http配置中删除extended_response_inspection选项。