Suricata、Docker 和主机网络:无非 Docker 流量

Suricata、Docker 和主机网络:无非 Docker 流量

我创建了一个装有 Suricata 和 Evebox 的 docker 容器。在我的主机上,我首先执行以下操作:

ifconfig enp2s0:1 192.168.0.111 netmask 255.255.255.0 up

这将根据我现有的接口设置一个新的接口。然后我像这样运行 docker 容器:

docker run --privileged --network host --cap-add NET_ADMIN --cap-add NET_RAW --rm suricata-evebox

然后我启动 suricata/evebox:

mkdir -p /data/evebox
suricata -i enp2s0:1 -D
evebox -v -D /data/evebox --datastore sqlite --input /var/log/suricata/eve.json

curl http://testmyids.com以下是从机器运行时的场景:

  • 在 Docker 容器内:检测警报
  • 在 docker 主机上:检测警报
  • 在本地网络上的机器上:看不到它

有没有办法让 Suricata 看到通过网络传输的所有流量,而不仅仅是主机和容器的流量?

答案1

首先,这里有一个可能的解决方案,可以在路由器本身或您想要监控的任何机器上设置:https://superuser.com/questions/853077/iptables-duplicate-traffic-to-another-ip

如果这对您的用例来说不可行,还有另一种选择,即可以在路由器和所有客户端之间设置交换机,该交换机应支持端口镜像。然后,您将向 ids/docker 主机添加另一个 NIC,它将接收来自镜像交换机的“WAN”端口的所有流量,这些流量可以传递到您的 suricata 容器。

相关内容