(文档翻译)suricata的ips模式

有关suricata的IPS更详尽的解释见:https://www.jianshu.com/p/c96fec8b58fe

一、查看suricata是否支持NFQ

suricata --build-info

我的suricata显示如下:

Suricata Configuration:
  AF_PACKET support:                       yes
  eBPF support:                            no
  XDP support:                             no
  PF_RING support:                         no
  NFQueue support:                         yes
  NFLOG support:                           no
  IPFW support:                            no
  Netmap support:                          yes > v13
  DAG enabled:                             no
  Napatech enabled:                        no
  WinDivert enabled:                       no
...
...

可以看到我们开启了NFQueue support的功能。

二、suricata的运行场景

网关模式

suricata运行在网关

如果suricata是运行在网关,那么就旨在保护网关下的计算机。
在网关场景向suricata发送流量的最简单规则是:

sudo iptables -I FORWARD -j NFQUEUE

这样,所有转发的流量都会转到suricata。

有关iptables详解的文章:https://www.jianshu.com/p/a1e92d3aaffc

主机模式

suricata运行在当前主机

如果suricata是运行在当前的主机,那么就旨在保护当前正在运行的主机。
在主机模式下,有两个最简单的iptables规则:

sudo iptables -I INPUT -j  NFQUEUE
sudo iptables -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的条件的话,就变成:

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

在这个示例中,suricata就会检查80端口上所有的输入和输出。示意图如下:



要查看是否已经正确设置iptables规则,请在确保suricata正在运行的条件下输入:

sudo iptables -vnL

在此示例,您可以查看是否正在记录数据包:



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

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

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的ips模式)