14. 为Windows设置ips/inline

本指南介绍如何在Windows上使用windivert在第4层内联模式下使用suricata。

首先从使用windiver支持编译suricata开始。有关说明,请参阅 Windows Installation . 此文档尚未使用Windriver信息进行更新,因此请确保在配置Suricata之前添加以下标志 configure

--enable-windivert=yes --with-windivert-include=<include-dir> --with-windivert-libraries=<libraries-dir>

windivert.dll和windivert.sys必须与suricata可执行文件位于同一目录中。在运行时,windiver会自动安装驱动程序。有关windivert的更多信息,请参阅https://www.reqrypt.org/windivert-doc.html。

要检查您的Suricata中是否启用了windivert,请在提升的命令提示符或终端中输入以下命令:

suricata -c suricata.yaml --windivert [filter string]

有关windivert过滤器语言的信息,请参阅https://www.reqrypt.org/windivert doc.html过滤器语言

如果Suricata运行在网关上,并且是为了保护网关后面的网络,则需要在 NETWORK_FORWARD 层。这可以使用以下命令实现:

suricata -c suricata.yaml --windivert-forward [filter string]

当Suricata停止时,过滤器自动停止,正常流量恢复。

快速启动是检查所有流量,在这种情况下,您可以使用以下命令:

suricata -c suricata.yaml --windivert[-forward] true

其他几个例子:

仅TCP流量:

suricata -c suricata.yaml --windivert tcp

仅端口80上的TCP通信:

suricata -c suricata.yaml --windivert "tcp.DstPort == 80"

TCP和ICMP流量:

suricata -c suricata.yaml --windivert "tcp or icmp"