Ручная блокировка/разблокировка Suricata IPS по сравнению с snort и guardian

У кого-нибудь есть опыт использования Suricata в качестве IPS? Я на Debian, и я хотел бы иметь возможность вручную блокировать и разблокировать определенные IP-адреса (iptables). Я не использовал Suricata, так как в настоящее время использую Snort в качестве IDS и Guardian в качестве IPS. Я провел небольшое исследование Suricata и, насколько я могу судить, можно вручную добавить правила в файл правил Suricata, которые будут блокировать заданный IP-адрес. Когда Suricata работает как демон, стираются ли правила блокировки при перезапуске демона, как в случае с Guardian? Заранее спасибо за любые советы.


person Anon    schedule 20.01.2016    source источник


Ответы (1)


Если вы запускаете Suricata в режиме очереди netfilter, вы все равно можете использовать iptables для блокировки. Например. ваша настройка iptables может выглядеть так:

iptables -N BLOCKLIST
iptables -A FORWARD -j BLOCKLIST
iptables -A FORWARD -j NFQUEUE

Затем запустите сурикату с -q:

suricata -q 0

Чтобы добавить IP-адреса в черный список, выполните

iptables -A BLOCKLIST -s 1.2.3.4 -j DROP

Удалять

iptables -D BLOCKLIST -s 1.2.3.4 -j DROP

Поскольку правило -j NFQUEUE оценивается после правила -j BLOCKLIST, черный список применяется перед отправкой трафика в Suricata.

Также можно сделать блокировку в самой Suricata. Добавьте правило, например:

drop ip 1.2.3.4 any -> any any (msg:"1.2.3.4 dropped"; sid:1;)

Затем перезапустите Suricata. Кроме того, вы можете включить «перезагрузку правил» в своем YAML (если вы используете версию 3.0, она всегда включена) и отправить сигнал USR2.

В Suricata 2.x раскомментируйте «rule-reload» в вашем suricata.yaml:

detect-engine:
  - rule-reload: true
person Victor Julien    schedule 22.01.2016
comment
спасибо ваша информация была очень полезной. Если для параметра rule-reload установлено значение true, могу ли я добавлять и удалять правила, чтобы они немедленно вступали в силу без перезапуска демона suricata? - person Anon; 22.01.2016
comment
Верно. Просто отправьте сигнал SIGUSR2, и новые правила будут загружены и применены. - person Victor Julien; 22.01.2016
comment
Я думаю, что добавлю пользовательский файл правил в yaml suricata и программно напишу для него правила, например, отбрасывая определенные IP-адреса, подобные вашему примеру, а затем отправлю SIGUSR2 для перезагрузки правил на лету, чтобы я мог обойтись без БЛОК-СПИСОК. - person Anon; 22.01.2016