suricata -- 为Linux设置IPS/内联

本文解释如何在第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/内联)