Я создал док-контейнер с Suricata и Evebox. На моем хосте я начинаю с:
ifconfig enp2s0:1 192.168.0.111 netmask 255.255.255.0 up
Это устанавливает новый интерфейс по сравнению с моим существующим. Затем я запускаю контейнер докера следующим образом:
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
с машин:
Есть ли способ заставить Suricata видеть весь трафик, проходящий по сети, а не только трафик хоста и контейнеров?
Во-первых, вот возможное решение, которое можно настроить на самом маршрутизаторе или на любом компьютере, который вы хотите контролировать: https://superuser.com/questions/853077/iptables-duplicate-traffic-to-another-ip
Если это невозможно для вашего варианта использования, есть другой вариант в виде коммутатора, который можно настроить между вашим маршрутизатором и всеми клиентами, коммутатор должен поддерживать зеркалирование портов. Затем вы должны добавить еще одну сетевую карту к вашему хосту ids / docker, который будет получать весь трафик от порта WAN зеркального коммутатора, который может быть передан в ваш контейнер Suricata.