-1

我以 afpacket 类型的内联模式安装和配置 snort。我没有规则地测试它,并且只测试一个规则和更多规则。但结果是一样的。我的 snort 性能太低了。

当我使用通过 (brctl) 创建的系统桥时,我可以使用完整的网络绑定宽度,并且我的 cpu 使用率大约为零。

虽然我在系统桥后面以被动模式 (IDS) 使用 snort,但我的 cpu 使用率大约是 60-70%,而且我的网络绑定宽度很好(大约占满的 80%)

但是当我在内联模式 (IPS) 中使用 snort 时,虽然 CPU 使用率接近于零,但我的网络绑定宽度非常低且低于 1 MB。我通过(ab)测试它

ab -c 10 -n 10000 http://server/50kfile

我的配置如下: http: //www.pastebin.ca/2688413(我使用 (grep -v ^# | grep -v ^$) 删除评论)完整的配置文件是: http: //www.pastebin.ca /2688414

我在运行 snort 时添加 -Q 我使用 ubuntu 12.04

感谢您的帮助

4

1 回答 1

1

预处理器中可能需要调整的一些内容:

您应该减少 http_inspect decompress_depth 和 compress_depth。我建议将其从 65535 减少到 20000 之类的东西:

decompress_depth 20000 compress_depth 20000

您应该将 http_inspect_server: post_depth 从 65495 减少到 4000 左右:

http_inspect_server: post_depth 4000

规范化预处理器很昂贵。您可能不需要像现在这样规范化(除非您正在寻找这些类型的特定漏洞利用)。我建议删除以下内容:

预处理器 normalize_ip4 预处理器 normalize_icmp4 预处理器 normalize_ip6 预处理器 normalize_icmp6

normalize_tcp 可能是您需要规范化的全部内容,但这又取决于您是否正在寻找任何需要规范化此流量的特定漏洞。

我不建议使用敏感数据预处理器,除非您特别需要查找数据泄漏,并且如果您需要,您应该定义特定的主机。这个预处理器可能会降低 20% 的性能,尤其是在没有定义特定主机的情况下。

您还可以启用和使用性能预处理器。如果您使用正确的选项启用此功能,snort 将在退出时打印出统计信息。这可以包含有用的信息,例如哪些预处理器/规则最昂贵。

请参阅此处的文档, 我将使用以下内容来启用 1 秒性能监控并启用规则和预处理器分析:

预处理器性能:时间 1 pktcnt 1000 配置 profile_rules:打印所有,排序 total_ticks 配置 profile_preprocs:打印 100,排序 total_ticks

听起来预处理器可能会导致性能问题。启用性能监控将告诉您哪些预处理器最昂贵,您可以对其进行调整,直到它适用于您的环境。

于 2014-03-31T00:47:10.153 回答