美文网首页
suricata -- 为Linux设置IPS/内联

suricata -- 为Linux设置IPS/内联

作者: lx_jian | 来源:发表于2019-07-04 21:40 被阅读0次

    本文解释如何在第3层内联模式下使用Suricata以及如何为此目的设置iptables。

    首先开始编译具有NFQ支持的Suricata。

    要检查Suricata中是否启用了NFQ,请输入以下命令:

    suricata --build-info

    并检查功能之间是否有NFQ。

    要使用NFQ模式运行suricata,您必须使用-q选项。此选项告诉Suricata它应该使用哪个队列号。

    sudo suricata -c /etc/suricata/suricata.yaml -q  0

    1.iptables配置

    首先,要了解您希望向Suricata发送哪些流量非常重要。是通过计算机的流量或计算机生成的流量。

    图1 图2

    如果Suricata运行在网关模式,并且旨在保护该网关后面的计算机,那么正在处理第一种情况(图1):forward_ing

    如果Suricata必须保护正在运行的计算机,那么您正在处理第二种情况;host (图2).这两种使用Suricata的方法也可以组合使用。

    (1)在网关场景向Suricata发送流量的最简单规则是:

    sudo iptables -I FORWARD -j NFQUEUE

    在这种情况下,所有转发的流量都会转到Suricata。

    (2)在主机情况下,这是两个最简单的iptable规则:

    sudo  iptables -I INPUT -j  NFQUEUE

    sudo iptable s-I OUTPUT -j NFQUEUE

    可以设置队列号。如果不这样做,默认情况下队列号将为0。

    想象一下,你希望Suricata只检查TCP流量;你可以这样做:

    sudo  iptables -I INPUT -p tcp -j NFQUEUE

    sudo  iptables -I OUTPUT -p tcp -j NFQUEUE

    或端口80上的所有传入流量或目标端口80上的所有流量,在这种情况下,Suricata只检查TCP流量。

    sudo iptables -I INPUT -p tcp  --sport 80  -j NFQUEUE

    sudo iptables -I OUTPUT -p tcp  --dport  80 -j NFQUEUE

    在此示例中,Suricata检查端口80上的所有输入和输出。

    图3 图4

    要查看您是否已正确设置iptables规则,请确保Suricata正在运行并输入

    sudo  iptables  -vnL

    在该示例中,您可以查看是否正在记录数据包。

    图5

    这种是将iptables与IPv4一起使用的方法。要将它与IPv6一起使用,之前提到的所有命令都必须以'ip6tables'开头。也可以让Suricata检查两种流量。

    还有一种方法可以将iptables用于多个网络(网卡)。例:

    图6

    sudo  iptables  -I  FORWARD  -i  eth0  -o  eth1  -j  NFQUEUE

    sudo  iptables  -I  FORWARD  -i  eth1  -o  eth0  -j  NFQUEUE

    选项-i(输入)-o(输出)可以与之前提到的所有选项组合使用

    如果您停止使用Suricata并使用互联网,则流量将无法通过。要使Internet正常工作,您必须清除所有iptable规则。

    要清除所有iptable规则,请输入:

    sudo  iptables  -F

    相关文章

      网友评论

          本文标题:suricata -- 为Linux设置IPS/内联

          本文链接:https://www.haomeiwen.com/subject/jvovnqtx.html