從 iptables 遷移到 firewalld:註釋規則
我正在使用 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>
雖然,正如邁克爾漢普頓所說,這可能不是最好的事情。