web-dev-qa-db-ja.com

iptablesからfirewalldへの移行:コメントルール

Centos 7を使用して、iptablesからfirewalldに移行しています。以前は、(永続的な)iptablesルールを/etc/sysconfig/iptablesに記述していました。これは、#(これまたはそのIPを制限した理由を思い出させるために)。

現在、現在の(永続的な)構成は/etc/firewalld/ファイル(特に/etc/firewalld/zones/*.xml)から読み取られているようです。そこにxmlコメントを追加できると思いますが、これらのファイルを直接編集するのではなく、firewall-cmd経由で編集することをお勧めします(いいえ?)。

したがって、ルールにコメントを追加するための標準的な方法または推奨される方法のどちらであるかはわかりません。

助言がありますか?

編集:記録のために、XMLコメントがfirewall-cmdの変更に耐えられないことを確認しました。

2
leonbloy

考え直すと、この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では、動的な(非永続的な)ルールを追加することもできます。しかし、それはそれほど頻繁なシナリオではないに違いない。

0
leonbloy

Firewall-cmdのマニュアルページには、直接オプションに関するセクションがあり、パラメータを指定できるため、次のようなことができます。

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

マイケル・ハンプトンが言ったように、おそらく最良のものではありません。

1
lsd

2020年2月の時点で、firewalldは十分に広範に使用されていると思いますfirewall-cmdまたはfirewall-configからのルールの注釈付けが非常に重要です、OPで説明されている理由による。

[〜#〜] cms [〜#〜]firewall-cmd --directipsets、または編集でルールを文書化する提案ゾーンファイルを手動で作成すると、すべて管理が複雑になり、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>

このアプローチでさえ、豊富なルールを導入することで構成が過度に複雑になることを理解していますが、注釈の利点を信じています今のところ価値があります。

0
CODE-REaD