FirewallD - это приложение с внешним CLI, которое помогает защитить ваш Linux-компьютер от злоумышленников. Вы можете включить ведение журнала в FirewallD, чтобы увидеть список всех плохих парней, которых он остановил. Для этого необходимо открыть приложение терминала и ввести специальные команды. После включения протоколирования вы сможете увидеть список всех отброшенных пакетов информации, которые FirewallD остановил. Команды работают под CentOS/RHEL (Red Hat Enterprise Linux)/Suse/OpenSUSE Linux. Вот как включить ведение журнала FirewallD для отклонённых пакетов в операционных системах Linux.
Firewalld - это динамически управляемый брандмауэр Linux для защиты ваших сетевых соединений, служб и интерфейсов. На этой странице объясняется, как использовать опцию LogDenied в firewalld для включения механизма протоколирования отклонённых пакетов в операционных системах Linux.
Как включить ведение журнала firewalld в Linux
Мы можем установить опции LogDenied в файле /etc/firewalld/firewalld.conf. Другой вариант - использовать команду firewall-cmd. После ее включения ваш Linux-компьютер будет записывать в журнал все пакеты, отклоненные или отброшенные FirewallD. Существует несколько способов включить ведение журнала firewalld. Попробуйте любой из следующих способов:
Обратите внимание, что при использовании firewalld в Linux следует одновременно использовать только один метод для включения и настройки протоколирования отклоненных пакетов.
Настройка протоколирования отклонённых пакетов {firewalld.conf method}
Отредактируйте файл /etc/firewalld/firewalld.conf, введите:
1 | sudo nano /etc/firewalld/firewalld.conf |
Найдите:
1 | LogDenied=off |
Заменить:
1 | LogDenied=all |
Сохраните и закройте файл в vi/vim. Перезапустите службу firewalld, выполните команду:
1 | sudo systemctl restart firewalld.service |
ИЛИ
1 | sudo systemctl reload firewalld.service |
ИЛИ
1 | sudo 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 |
Firewalld включить ведение журнала {метод firewall-cmd}
В этом методе мы будем использовать команду firewall-cmd следующим образом.
Найдите и перечислите фактические настройки LogDenie
1 | sudo firewall-cmd --get-log-denied |
Измените фактические настройки LogDenie
1 | sudo firewall-cmd --set-log-denied=all |
Проверьте их:
1 | sudo firewall-cmd --get-log-denied |
Включение журнала firewalld с помощью инструмента настройки GUI {метод firewall-config}
Пользователи настольных систем Fedora, CentOS или OpenSUSE могут попробовать метод GUI. Откройте окно терминала, а затем откройте инструмент настройки графического интерфейса firewalld. Другими словами, запустите firewall-config следующим образом:
1 | firewall-config |
Найдите и щелкните меню " Options " и выберите опцию "Change Log Denied". Выберите новый параметр LogDenied в меню и нажмите OK.
Как просмотреть заблокированные пакеты?
Используйте команду grep или команду journalctl:
1 | journalctl -x -e |
ИЛИ мы используем комбинацию dmesg и grep следующим образом:
1 2 | dmesg dmesg | grep -i REJECT |
Примеры вывода:
1 2 3 4 5 6 7 8 9 10 11 12 13 | [20042.637753] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:c1:08:00 SRC=218.26.176.3 DST=172.xxx.yyy.zzz LEN=40 TOS=0x00 PREC=0x00 TTL=240 ID=55921 PROTO=TCP SPT=57604 DPT=1433 WINDOW=1024 RES=0x00 SYN URGP=0 [20046.765558] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:41:08:00 SRC=80.82.70.239 DST=172.xxx.yyy.zzz LEN=40 TOS=0x00 PREC=0x00 TTL=240 ID=57597 PROTO=TCP SPT=44042 DPT=3464 WINDOW=1024 RES=0x00 SYN URGP=0 [20047.814002] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:41:08:00 SRC=120.147.208.68 DST=172.xxx.yyy.zzz LEN=48 TOS=0x00 PREC=0x00 TTL=111 ID=26712 DF PROTO=TCP SPT=61102 DPT=445 WINDOW=8192 RES=0x00 SYN URGP=0 [20055.064170] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:c1:08:00 SRC=192.241.218.101 DST=172.xxx.yyy.zzz LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=54321 PROTO=TCP SPT=43855 DPT=2082 WINDOW=65535 RES=0x00 SYN URGP=0 [20069.898251] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:41:08:00 SRC=80.82.70.239 DST=172.xxx.yyy.zzz LEN=40 TOS=0x00 PREC=0x00 TTL=237 ID=28418 PROTO=TCP SPT=44042 DPT=3489 WINDOW=1024 RES=0x00 SYN URGP=0 [20083.001724] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:41:08:00 SRC=95.217.132.22 DST=172.xxx.yyy.zzz LEN=52 TOS=0x00 PREC=0x00 TTL=113 ID=40426 DF PROTO=TCP SPT=51883 DPT=3389 WINDOW=64240 RES=0x00 CWR ECE SYN URGP=0 [20086.000830] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:41:08:00 SRC=95.217.132.22 DST=172.xxx.yyy.zzz LEN=52 TOS=0x00 PREC=0x00 TTL=113 ID=40888 DF PROTO=TCP SPT=51883 DPT=3389 WINDOW=64240 RES=0x00 CWR ECE SYN URGP=0 [20092.000875] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:41:08:00 SRC=95.217.132.22 DST=172.xxx.yyy.zzz LEN=52 TOS=0x00 PREC=0x00 TTL=113 ID=41676 DF PROTO=TCP SPT=51883 DPT=3389 WINDOW=64240 RES=0x00 SYN URGP=0 [20117.283302] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:c1:08:00 SRC=124.156.241.62 DST=172.xxx.yyy.zzz LEN=40 TOS=0x08 PREC=0x00 TTL=238 ID=54321 PROTO=TCP SPT=46206 DPT=9997 WINDOW=65535 RES=0x00 SYN URGP=0 [20120.870817] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:41:08:00 SRC=202.141.249.180 DST=172.xxx.yyy.zzz LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=28320 DF PROTO=TCP SPT=53409 DPT=445 WINDOW=8192 RES=0x00 SYN URGP=0 [20129.579209] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:c1:08:00 SRC=185.176.27.110 DST=172.xxx.yyy.zzz LEN=40 TOS=0x00 PREC=0x00 TTL=243 ID=62492 PROTO=TCP SPT=56008 DPT=3334 WINDOW=1024 RES=0x00 SYN URGP=0 [20160.927205] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:c1:08:00 SRC=201.25.123.138 DST=172.xxx.yyy.zzz LEN=52 TOS=0x08 PREC=0x20 TTL=112 ID=9284 DF PROTO=TCP SPT=63427 DPT=445 WINDOW=8192 RES=0x00 SYN URGP=0 [20172.446500] FINAL_REJECT: IN=eth0 OUT= MAC=f2:3c:92:1f:f2:72:84:78:ac:5a:19:41:08:00 SRC=198.46.135.194 DST=172.xxx.yyy.zzz LEN=40 TOS=0x00 PREC=0x00 TTL=244 ID=5662 PROTO=TCP SPT=41553 DPT=8423 WINDOW=1024 RES=0x00 SYN URGP=0 |
Как записать все отброшенные пакеты в файл /var/log/firewalld-droppd.log
Создайте новый файл конфигурации /etc/rsyslog.d/firewalld-droppd.conf на вашем сервере CentOS/RHEL v7/8:
1 | sudo 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 | sudo systemctl restart rsyslog.service |
Теперь просмотрите журнал с помощью команды cat/grep/egrep или команды tail:
1 | sudo tail -f /var/log/firewalld-droppd.log |
Заключение
Следить за отклоненными и потерянными пакетами с помощью firewalld - важная задача для системных администраторов Linux. Это позволяет избежать проблем с безопасностью и отслеживать атаки. Поэтому в RHEL/CentOS/Fedora и SUSE/OpenSUSE Linux мы должны включить и регистрировать отброшенные пакеты с помощью firewalld.