Вопрос или проблема
Мне нужно добавить богатые правила в Firewalld без ассоциированной зоны, так как источники/назначения сети все удаленные. Например:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="204.4.3.4" destination address="172.18.30.0/24" port port="80" protocol="tcp" accept"
Добавление богатого правила не является проблемой. Но как я могу отобразить его после создания? firewall-cmd --list-rich-rules
работает только с зоной.
Это работает в Debian Bullseye (11)
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="204.4.3.4" destination address="172.18.30.0/24" port port="80" protocol="tcp" accept"
firewall-cmd --reload
Добавление флага permanent
заставляет его нацелиться на неэпхемерный файрвол (для которого перечислены правила), и также сохраняет, тогда firewall-cmd --list-rich-rules
покажет его.
Вывод:
rule family="ipv4" source address="204.4.3.4" destination address="172.18.30.0/24" port port="80" protocol="tcp" accept
Команда на самом деле добавляет его в зону по умолчанию, но вы никогда не говорили, что это вам не нужно. Без флага --permanent
ничего, касающегося правила, не появляется в каких-либо командах firewall-cmd --list-<attribute>
или где-либо в /etc/firewalld
. Единственная причина, которую я могу придумать для этого, заключается в том, что это эфемерно.
Ответ или решение
Как отобразить богатые правила в Firewalld без привязки к зоне
На сегодняшний день управление сетевой безопасностью через демон Firewalld является ключевым аспектом обеспечения корректной работы систем и приложений. Важно уметь не только добавлять правила, но и визуализировать их для контроля и мониторинга. В этой статье мы рассмотрим, как отображать богатые правила в Firewalld, не привязывая их к какой-либо зоне.
Введение в использование богатых правил
Богатые правила (rich rules) в Firewalld позволяют более детально настроить доступ к системным ресурсам, чем стандартные правила. Они могут использоваться для указания различных условий, таких как IP-адреса источника и назначения, порты и протоколы. Например, следующая команда позволяет добавить богатое правило, которое разрешает трафик по протоколу TCP с определенного IP-адреса на определённую подсеть:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="204.4.3.4" destination address="172.18.30.0/24" port port="80" protocol="tcp" accept'
Однако, после добавления данного правила может возникнуть вопрос: как отобразить созданные богатые правила?
Проблема отображения без зоны
Команда firewall-cmd --list-rich-rules
действительно требует указания зоны. Поэтому, если правило привязано к разным сетям или вы хотите соотнести его с общей безопасностью системы без указания на зону, вы можете столкнуться с трудностями при его отображении.
Рекомендуемое решение
Чтобы отобразить богатые правила, рекомендуется использовать параметр --permanent
, который позволяет делать правила постоянными. Это обеспечивает их сохранность даже после перезагрузки системы. После выполнения команды для добавления правила с флагом --permanent
, вам нужно будет перезагрузить конфигурацию Firewalld командой:
firewall-cmd --reload
После этого, вы можете просмотреть все богатые правила в используемой по умолчанию зоне, нажав:
firewall-cmd --zone=public --list-rich-rules
Если же зона не является исправной, используйте:
firewall-cmd --zone=drop --list-rich-rules
Заключение
Firewalld – это мощный инструмент для управления безопасностью в Linux. Добавление богатых правил без явной привязки к зоне может вызывать сложности в их отображении, но использование флага --permanent
и перезагрузка конфигурации помогут вам в этом. Убедитесь, что после выполнения всех операций вы проверяете правильность настройки, чтобы обеспечить безопасность своей системы.
Теперь, когда вы знаете, как управлять богатым правилом в Firewalld и отображать его, вы сможете более эффективно контролировать сетевую безопасность вашего окружения.