
Я использую Debian 8 и хочу обновить правила fwsnort с помощью этой команды:
fwsnort --update-rules
Хотя после загрузки 9,4 МБ правил в файле '/etc/fwsnort/snort_rules/emerging-all.rules' не удается применить все правила в iptables с помощью этой команды:
fwsnort --ipt-apply
и выдает ошибку:
[+] Встраивание правил fwsnort 11312 в политику iptables...
iptables-restore v1.4.21: указан недопустимый порт/служба «[6789]».
Произошла ошибка в строке: 11131.
Попробуйте «iptables-restore -h» или «iptables-restore --help» для получения дополнительной информации.
и даже когда я пытаюсь напрямую восстановить все правила из emerge-all.rules обратно в iptables с помощью этой команды:
iptables-restore < /etc/fwsnort/snort_rules/emerging-all.rules
в результате получается такой вывод:
iptables-restore: line 53 failed
В чем проблема с fwsnort?
решение1
Причина в том,небольшая, но серьезная ошибка в fwsnort(даже в текущей версии upstream 1.6.6), что приводит к тому, что одно из правил (по крайней мере, правил, которые сейчас в сети) вызывает синтаксическую ошибку. Это происходит только в том случае, если в правиле snort в скобках указан один порт, поскольку fwsnort удаляет скобки только в том случае, если указано более одного порта.
Этот патч применяется к пакету Debian(в настоящее время только в Debian Unstable) устраняет эту проблему.
Я такжеотправил патч, который я использовал для исправления проблемы в Debian, как запрос на извлечениев upstream. Upstream отреагировал быстро и выпустилfwsnort 1.6.7 с этим исправлением.