Можно ли включить ведение журнала в FirewallD


10

Я использую Fedora 20 и хотел бы узнать, что мой брандмауэр делает в фоновом режиме. Можно ли просмотреть журнал трафика, заблокированного FirewallD?

Ответы:


7

Согласно этой странице , журналы FirewallD находятся по адресу /var/log/firewalld. Чтобы получить отладочные сообщения, вам нужно запустить его с помощью --debugили --debug=2.


12

Я знаю, что это устаревшее сообщение, но я искал это сегодня и нашел тонны старых блогов, которые пытаются решить эту проблему. Для общественности это обновление от Red Hat должно быть более доступным, чем только для подписчиков:

Обновление до firewalld-0.4.3.2-8.el7 от Errata RHSA-2016: 2597

Укажите, какие пакеты должны быть зарегистрированы

firewall-cmd --set-log-denied=<value>

значение может быть одним из: все, одноадресная, широковещательная, многоадресная или выключена

Источник: https://access.redhat.com/solutions/1191593


3
это также может быть установлено вручную/etc/firewalld/firewalld.conf
Стюарт Кардалл

5

Для регистрации заблокированного трафика у меня работал firewalldследующий подход с rsyslogd:

Отредактируйте /etc/sysconfig/firewalldи обновите значение для LogDeniedдо all(или по мере необходимости)

LogDenied=all

перезапустить firewalld

sudo systemctl restart firewalld

Обычно это добавляет правила ведения журнала непосредственно перед отклонением / удалением правил в брандмауэре, например:

LOG  all  --  anywhere   anywhere  LOG level warning prefix "IN_drop_DROP: "
LOG  all  --  anywhere   anywhere  LOG level warning prefix "FINAL_REJECT: "

Создайте файл с именем /etc/rsyslog.d/custom_iptables.conf(note note is.conf) и добавьте в него следующие операторы:

:msg,contains,"_DROP" /var/log/iptables.log
:msg,contains,"_REJECT" /var/log/iptables.log
& stop

перезапустите rsyslog

sudo systemctl restart rsyslog   

Теперь отброшенные и отклоненные пакеты будут зарегистрированы в /var/log/iptables.log


Confirm, я подтверждаю, что вижу отклоненные записи в journalctl -f. FWIW, первоначально, основываясь на другом ответе, я только сделал LogDenied = all, но этого было недостаточно.
Привет, Ангел,

1
поскольку в настоящее время firewalld не использует iptables по умолчанию, могу ли я рекомендовать переименовать _iptables.conf→, _firewalld.confчтобы уменьшить путаницу?
Привет, Ангел,

Хорошо, я просто повторяю это на другом ПК, используя этот ответ, и я заметил одно несоответствие, о котором стоит упомянуть: у меня нет /etc/sysconfigdir, вместо этого я редактирую /etc/firewalld/firewalld.confфайл. Я не заметил этого в последний раз, когда использовал этот ответ, потому что LogDenied=allшаг, который я сделал, использовал другой ответ.
Привет, Ангел,

4

Вам нужно добавить строку /etc/sysconfig/firewalld
для максимальной детализации:

FIREWALLD_ARGS=--debug=10

Затем перезапустите firewalldсервис

sudo systemctl restart firewalld

Это лучше, чем редактировать /usr/lib/systemd/system/firewalld.service.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.