FirewallD

Управление файерволом

КомандаОписание
sudo dnf install firewalld установка firewalld
sudo systemctl enable firewalld Разрешить автозапуск
sudo systemctl start firewalldЗапустить firewalld
sudo firewall-cmd --stateсостояние
sudo firewall-cmd --reloadПерезапустить файервол
sudo firewall-cmd --list-allПосмотреть открытые порты
sudo firewall-cmd --info-service sshПосмотреть информацию о сервисе
КомандаОписание
sudo firewall-cmd --get-zones Список зон
firewall-cmd –zone=trusted –add-source=10.11.12.128/25Добавить в доверенную зону сеть
firewall-cmd --zone=trusted --list-allПосмотреть настройки зоны trusted
sudo firewall-cmd --list-all-zones Информация по всем зонам
sudo firewall-cmd -get-default-zone Зона по умолчанию public, zone=block всё блокируется, в зоне drop - дропается, trusted разрешается
sudo firewall-cmd --change-interface=enp08 --zone=trustedЗоны привязываются к интерфейсам

Приоритет у public зоны над trusted зоной и если они будут перекрываться, то trusted зона использоваться не будет.

КомандаОписание
sudo firewall-cmd --get-servicesПосмотреть информацию о всех сервисах
sudo firewall-cmd --service=ssh --remove-port=22/tcp --permanent Удалить из сервиса SSH порт 22
sudo firewall-cmd --service=ssh --add-port=2222/tcp --permanent Добавить в сервис SSH порт 2222
cat /etc/firewalld/services/ssh.xml Настройки лежат в этом файле
cat /usr/lib/firewalld/services Описание всех сервисов, можно файл модифицировать и скопировать в /etc/firewalld/services/
sudo firewall-cmd --zone=public --add-port=10100-11000/udp --add-port=13107/udp --permanentОткрыть постоянно несколько портов
sudo firewall-cmd --add-port=3456/tcp --permanentРазрешить порт
firewall-cmd --add-port=3478/{udp,tcp} --permanentДобавить два типа за один раз
КомандаОписание
sudo ss -altnp4 | grep sshdПосмотреть на каком порту сидит sshd
sudo firewall-cmd --add-icmp-block-inversion Заблокировать ICMP полностью
sudo firewall-cmd --get-icmp-types Получить информацию о всех ICMP, которые можно блокировать
sudo firewall-cmd --set-target=default default это отбой Reject(packed filtered) и понятно, что fw используется. set-target=DROP - будет таймаут(предпочтительный способ для скрытия).Дропаются все пакеты, которые не разрешены в настроках.
sudo firewall-cmd --runtime-to-permanentсохраняем сразу все текущие настройки постоянно
sudo firewall-cmd --panic-onрежим паники, дропаются все пакеты
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="3.5.2.1/32" port protocol="tcp" port="333" accept'добавить точечное правило
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="3.5.2.1/32" service name="tftp" log prefix "tftp" level = "info" limit value="1/m" accept' Разрешить соединение с адреса 3.5.2.1/32 к сервису tftp, логировать не чаще раза в минуту, к логам приписывать tftp и важность info
sudo journalctl -p crit \| tail -1 Проверить логи с уровнем "crit"
sudo firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="3.5.2.1/32" port protocol="tcp" port="333" accept'удалить правило
sudo firewall-cmd --delete-zone=myzone --permanentУдалить зону
sudo firewall-cmd --permanent --zone=public --set-target=DROPпо умолчанию REJECT, DROP, чтобы сканеры не могли определить защищён ли сервер файерволом

rich-rule без зоны добавляется в дефолтную зону.

Просмотри логов tail -f /var/log/firewalld

в файле /etc/sysconfig/firewalld повышаем уровень детализации FIREWALLD_ARGS=--debug=10 логов и sudo systemctl restart firewalld