Linux

從 iptables 遷移到 firewalld:註釋規則

  • April 18, 2020

我正在使用 Centos 7 從 iptables 遷移到 firewalld。在過去,我曾經/etc/sysconfig/iptables#, ETC)。

現在,似乎目前(永久)配置是從/etc/firewalld/文件(尤其是/etc/firewalld/zones/*.xml)中讀取的。我想我可以在那裡添加 xml 註釋,但似乎好的做法不是直接編輯這些文件,而是通過firewall-cmd(不是?)。

因此,我不確定向規則添加註釋的標准或推薦方式是哪種。

有什麼建議麼?

已編輯:作為記錄,我已經驗證 xml 註釋不會在firewall-cmd修改後保留。

截至 2/2020 年,我認為firewalld使用足夠廣泛,易於註釋規則 fromfirewall-cmd或 fromfirewall-config非常重要,原因在 OP 中討論。

建議我們在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>

我意識到即使是這種方法也會通過引入豐富的規則使配置過於復雜,但現在相信註釋的好處是值得的。

儘管在 firewall-cmd 手冊頁中,有一個關於直接選項的部分,允許您提供參數,因此您可以執行以下操作:

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

雖然,正如邁克爾漢普頓所說,這可能不是最好的事情。

引用自:https://serverfault.com/questions/893112