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