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.

Другие вопросы по тегам