【问题标题】:Suricata IPS manual blocking/unblocking vs. snort and guardianSuricata IPS 手动屏蔽/解锁 vs. snort 和 Guardian
【发布时间】:2016-01-22 17:46:50
【问题描述】:

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

【问题讨论】:

    标签: linux debian iptables snort


    【解决方案1】:

    如果您在 netfilter 队列模式下运行 Suricata,您仍然可以使用 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 中启用“规则重新加载”(如果您使用的是 3.0,则始终启用)并发送 USR2 信号。

    在 Suricata 2.x 上取消注释 suricata.yaml 中的“规则重新加载”:

    detect-engine:
      - rule-reload: true
    

    【讨论】:

    • 谢谢你的信息很有帮助。将 rule-reload 设置为 true 后,我可以添加和删除规则并让它们立即生效,而无需重新启动 suricata 守护进程吗?
    • 对。只需发送一个 SIGUSR2 信号,新规则就会被加载并应用。
    • 我想我会添加一个自定义规则文件到 suricata yaml 并以编程方式向它写入规则,例如删除类似于您的示例的特定 IP 地址,然后发送 SIGUSR2 以动态重新加载规则我可以不用 BLOCKLIST 的方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多