Suricata IPS 手册 blocking/unblocking 与 snort 和 guardian

Suricata IPS manual blocking/unblocking vs. snort and guardian

有没有人有使用 Suricata 作为 IPS 的经验?我在 Debian 上,我希望能够手动阻止和取消阻止特定的 ip 地址 (iptables)。我没有使用过 Suricata,因为我目前 运行 Snort 作为 IDS,而 Guardian 作为我的 IPS。我对 Suricata 做了一些研究,据我所知,可以手动将规则添加到 Suricata 的规则文件中,这将阻止给定的 IP 地址。当 Suricata 作为守护程序 运行 时,当您重新启动守护程序时,阻止规则是否会像守护程序一样被删除? 预先感谢您提供任何提示。

如果您 运行 Suricata 处于 netfilter 队列模式,您仍然可以使用 iptables 进行阻塞。例如。您的 iptables 设置可能如下所示:

iptables -N BLOCKLIST
iptables -A FORWARD -j BLOCKLIST
iptables -A FORWARD -j NFQUEUE

然后用-q启动suricata:

suricata -q 0

要将 ip 添加到黑名单,请执行

iptables -A BLOCKLIST -s 1.2.3.4 -j DROP

移除

iptables -D BLOCKLIST -s 1.2.3.4 -j DROP

因为 -j NFQUEUE 规则是在 -j BLOCKLIST 规则之后评估的,所以在将流量发送到 Suricata 之前应用黑名单。

也可以在 Suricata 本身中进行阻塞。添加如下规则:

drop ip 1.2.3.4 any -> any any (msg:"1.2.3.4 dropped"; sid:1;)

然后重启Suricata。或者,您可以在 YAML 中启用 'rule reloads'(如果您使用的是 3.0,它始终处于启用状态)并发送 USR2 信号。

在 Suricata 2.x 取消注释 'rule-reload' 在你的 suricata.yaml:

detect-engine:
  - rule-reload: true