Centos 7を使用して、iptablesからfirewalldに移行しています。以前は、(永続的な)iptablesルールを/etc/sysconfig/iptables
に記述していました。これは、#
(これまたはそのIPを制限した理由を思い出させるために)。
現在、現在の(永続的な)構成は/etc/firewalld/
ファイル(特に/etc/firewalld/zones/*.xml
)から読み取られているようです。そこにxmlコメントを追加できると思いますが、これらのファイルを直接編集するのではなく、firewall-cmd
経由で編集することをお勧めします(いいえ?)。
したがって、ルールにコメントを追加するための標準的な方法または推奨される方法のどちらであるかはわかりません。
助言がありますか?
編集:記録のために、XMLコメントがfirewall-cmd
の変更に耐えられないことを確認しました。
考え直すと、このfirewalld-cmd
のことは少しばかげています。結局のところ、XML構成ファイルは人間が編集できます。いくつかのシンプルできちんとしたXMLファイル(*)を編集するためだけに、コマンドの追加レイヤー(1つのコマンドですが、 tons of arguments )を習得する必要があるので、私にはほとんど意味がありません。
少しバカなタイピングをした
firewall-cmd --permanent --zone=work --add-port=445/tcp
/etc/firewalld/zones/work.xml
に次の行を追加するためだけに
<port protocol="tcp" port="445"/>
したがって、少なくとも今のところ、XML要素にコメント属性が含まれていないことを考慮して(その方向に somerequests がある)私は次の戦略に傾いています:firewalld-cmd
を忘れて(おそらくそれを削除して)、XMLファイルを自分で編集し、XMLコメントを自由に追加します。
(*)firewalld-cmd
では、動的な(非永続的な)ルールを追加することもできます。しかし、それはそれほど頻繁なシナリオではないに違いない。
Firewall-cmdのマニュアルページには、直接オプションに関するセクションがあり、パラメータを指定できるため、次のようなことができます。
firewall-cmd --direct --add-rule <table> <chain> <priority> <args> -c <some comment>
マイケル・ハンプトンが言ったように、おそらく最良のものではありません。
2020年2月の時点で、firewalld
は十分に広範に使用されていると思いますfirewall-cmd
またはfirewall-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>
このアプローチでさえ、豊富なルールを導入することで構成が過度に複雑になることを理解していますが、注釈の利点を信じています今のところ価値があります。