Firewalld представляет собой динамически управляемый брандмауэр Linux для защиты ваших сетевых соединений, служб и интерфейсов. На этой странице объясняется, как использовать опцию LogDenied в firewalld для включения механизма протоколирования запрещенных пакетов в операционных системах Linux.
Журнала firewalld в Linux
Для включение журнала блокировки мы можем установить параметры LogDenied в файле /etc/firewalld/firewalld.conf. Другой вариант - использовать команду firewall-cmd. После ее включения ваш Linux-компьютер будет записывать в журнал все пакеты, отклоненные или отброшенные FirewallD. Существует несколько методов включения протоколирования firewalld.
Настройка ведения журнала для отклоненных пакетов
Отредактируйте файл /etc/firewalld/firewalld.conf, введите:
1 | nano /etc/firewalld/firewalld.conf |
Найдите:
1 | LogDenied=off |
Заменить:
1 | LogDenied=all |
Сохраните и закройте файл. Перезапустите службу firewalld, выполните:
1 | systemctl restart firewalld.service |
ИЛИ
1 | systemctl reload firewalld.service |
ИЛИ
1 | firewall-cmd --reload |
По умолчанию опция LogDenied выключена. Опция LogDenied включает протоколирование правил непосредственно перед правилами отклонения и отбрасывания в цепочках INPUT, FORWARD и OUTPUT для правил по умолчанию, а также заключительных правил отклонения и отбрасывания в зонах. Возможные значения: all, unicast, broadcast, multicast и off.
Для сценариев мы можем использовать комбинацию команды grep и команды sed следующим образом:
1 2 3 | grep '^LogDenied' /etc/firewalld/firewalld.conf grep -q -i '^LogDenied=off' /etc/firewalld/firewalld.conf && echo "Change it" || echo "No need to change" grep -q -i '^LogDenied=off' /etc/firewalld/firewalld.conf | sed -i'Backup' 's/LogDenied=off/LogDenied=all/' /etc/firewalld/firewalld.conf |
firewall-cmd включить журналирование
В этом методе мы будем использовать команду firewall-cmd следующим образом.
Найдите и перечислите фактические настройки LogDenie
1 | firewall-cmd --get-log-denied |
Измените фактические настройки LogDenie
1 | firewall-cmd --set-log-denied=all |
Проверьте это:
1 | firewall-cmd --get-log-denied |
Просмотр отклонённых пакетов
Используйте команду grep или команду journalctl:
1 | journalctl -x -e |
ИЛИ мы используем комбинацию dmesg и grep следующим образом:
1 | dmesg |
1 | dmesg | grep -i REJECT |
Запись все отброшенных пакетов в файл /var/log/firewalld-droppd.log
Создайте новый файл конфигурации /etc/rsyslog.d/firewalld-droppd.conf на вашем сервере:
1 | nano /etc/rsyslog.d/firewalld-droppd.conf |
Добавьте следующую конфигурацию
1 2 3 | :msg,contains,"_DROP" /var/log/firewalld-droppd.log :msg,contains,"_REJECT" /var/log/firewalld-droppd.log & stop |
1 | systemctl restart rsyslog.service |
Теперь просмотрите журнал с помощью команды cat/grep/egrep или tail:
1 | tail -f /var/log/firewalld-droppd.log |