Назад | Перейти на главную страницу

Переход с iptables на firewalld: правила комментирования

Я перехожу с iptables на firewalld, используя Centos 7. Раньше я писал (постоянные) правила iptables в /etc/sysconfig/iptables , который также служил для размещения комментариев, добавленных # (чтобы напомнить нам, почему мы ограничили тот или иной ip и т. д.).

Теперь кажется, что текущая (постоянная) конфигурация считывается из /etc/firewalld/ файлы (особенно /etc/firewalld/zones/*.xml). Думаю, я мог бы добавить туда xml-комментарии, но кажется хорошей практикой не редактировать эти файлы напрямую, а через firewall-cmd (нет?)

Следовательно, я не уверен, какой способ добавления комментариев к правилам является стандартным или рекомендуемым.

Какие-либо предложения?

Отредактировано: для записи, я подтвердил, что комментарии XML не сохраняются firewall-cmd модификации.

Хотя на странице руководства firewall-cmd есть раздел Direct Options, который позволяет вам указывать параметры, чтобы вы могли сделать что-то вроде:

firewall-cmd --direct --add-rule <table> <chain> <priority> <args> -c <some comment>

Хотя, как сказал Майкл Хэмптон, наверное, не самое лучшее.

По состоянию на 2/2020, я думаю firewalld использовать достаточно широко, чтобы простота аннотирования правил либо из firewall-cmd или из firewall-config очень важно, по причинам, обсуждаемым в ОП.

Предложения о том, что мы документируем правила в CMS, через firewall-cmd --direct, через ipsets, или редактировать файлы зон вручную, все усложняет управление и препятствует firewalld, что из сделать конфигурацию межсетевого экрана более прозрачной.

Поэтому пока firewall-cmd --comment становится доступным, я буду аннотировать свои правила с помощью log prefix возможность firewall-cmd --add-rich-rule. Например,

firewall-cmd --add-rich-rule="rule family=ipv4 source address=192.168.103.225 reject log prefix='Onsite NIDS'"
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.103.225 reject log prefix='Onsite NIDS'"

Результирующая аннотация появляется в моем системном журнале как побочный эффект, но теперь вывод firewall-cmd --list-all-zones самодокументируется:

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens160
  sources:
  services: dhcpv6-client http https ssh
  ports: 1515/tcp 1514/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
        rule family="ipv4" source address="192.168.103.225" log prefix="Onsite NIDS" reject

Комментарий также записан в моем файле зоны как:

# cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="http"/>
  <service name="https"/>
  <port protocol="tcp" port="1515"/>
  <port protocol="tcp" port="1514"/>
  <rule family="ipv4">
    <source address="192.168.103.225"/>
    <log prefix="Onsite NIDS"/>
    <reject/>
  </rule>
</zone>

Я понимаю что даже такой подход чрезмерно усложняет настройку путем введения богатые правила, но считаю, что польза от аннотации пока стоит.

Обдумывая это, я нахожу это firewalld-cmd вещь немного глупая. В конце концов, файлы конфигурации XML доступны для редактирования человеком. Для меня не имеет смысла изучать дополнительный уровень команд (ну, одну команду, но с тонны аргументов) только для редактирования некоторых простых и понятных файлов XML (*).

Я немного тупо набирал

firewall-cmd --permanent --zone=work --add-port=445/tcp

просто для добавления следующей строки в /etc/firewalld/zones/work.xml

<port protocol="tcp" port="445"/>

Следовательно, по крайней мере на данный момент, и учитывая, что элементы XML не включают атрибуты комментариев (есть некоторые Запросы в этом направлении) я склоняюсь к следующей стратегии: просто забудьте о firewalld-cmd (возможно, даже удалите его), отредактируйте файлы XML самостоятельно и свободно добавьте комментарии XML.

(*) Это правда, что firewalld-cmd позволяет также добавлять динамические (непостоянные) правила. Но готов поспорить, что это не очень частый сценарий.