Firewalld 1.0 リリース

動的に制御されるファイアウォール firewalld 1.0 のリリースが提示され、nftables および iptables パケット フィルター上のラッパーの形式で実装されます。 Firewalld はバックグラウンド プロセスとして実行され、パケット フィルター ルールをリロードしたり、確立された接続を切断したりすることなく、D-Bus 経由でパケット フィルター ルールを動的に変更できます。 このプロジェクトは、RHEL 7 以降、Fedora 18 以降、SUSE/openSUSE 15 以降を含む多くの Linux ディストリビューションですでに使用されています。 firewalld コードは Python で書かれており、GPLv2 ライセンスに基づいてライセンスされています。

ファイアウォールを管理するには、firewall-cmd ユーティリティが使用されます。このユーティリティは、ルールを作成するときに、IP アドレス、ネットワーク インターフェイス、ポート番号ではなく、サービスの名前に基づきます (たとえば、SSH へのアクセスを開くには、 「firewall-cmd —add —service= ssh」を実行して SSH を閉じます (「firewall-cmd –remove –service=ssh」)。 ファイアウォール構成を変更するには、firewall-config (GTK) グラフィカル インターフェイスと firewall-applet (Qt) アプレットを使用することもできます。 D-BUS API firewalld を介したファイアウォール管理のサポートは、NetworkManager、libvirt、podman、docker、fail2ban などのプロジェクトで利用できます。

バージョン番号の大幅な変更は、下位互換性を破壊し、ゾーンの操作動作を変更する変更に関連しています。 ゾーン内で定義されたすべてのフィルタリング パラメータは、firewalld が実行されているホストに宛てられたトラフィックにのみ適用されるようになり、通過トラフィックのフィルタリングにはポリシーの設定が必要になります。 最も顕著な変化:

  • iptables 上での動作を可能にするバックエンドは廃止されたと宣言されました。 iptables のサポートは当面維持されますが、このバックエンドは開発されません。
  • ゾーン内転送モードは、すべての新しいゾーンでデフォルトで有効化およびアクティブ化され、XNUMX つのゾーン (パブリック、ブロック、信頼済み、内部など) 内のネットワーク インターフェイスまたはトラフィック ソース間でのパケットの自由な移動が可能になります。 以前の動作に戻し、パケットが XNUMX つのゾーン内で転送されないようにするには、コマンド「firewall-cmd –permanent –zone public –remove-forward」を使用できます。
  • アドレス変換 (NAT) に関連するルールは、「inet」プロトコル ファミリに移動されました (以前は「ip」および「ip6」ファミリに追加されていたため、IPv4 と IPv6 用のルールを複製する必要がありました)。 この変更により、ipset を使用するときに重複を取り除くことができました。ipset エントリの XNUMX つのコピーの代わりに、XNUMX つのコピーが使用されるようになりました。
  • 「--set-target」パラメータで指定された「default」アクションは、「reject」と同等になりました。 ゾーンで定義されたルールに該当しないパケットはすべて、デフォルトでブロックされます。 ICMP パケットについてのみ例外が発生し、引き続き通過が許可されます。 パブリックにアクセス可能な「信頼できる」ゾーンの古い動作に戻すには、次のルールを使用できます。 firewall-cmd -permanent -new-policyallowForward firewall-cmd -permanent -policyallowForward -set-target ACCEPT firewall-cmd -permanent -ポリシーallowForward —add-ingress -zone public firewall-cmd —permanent —policyallowForward —add-egress-zone trusted firewall-cmd —reload
  • 正の優先度ポリシーは、「--set-target catch-all」ルールが実行される直前に実行されるようになりました。 「--set-target Drop|reject|accept」を使用するゾーンを含む、最後のドロップ、拒否または受け入れルールを追加する前の時点で。
  • ICMP ブロッキングは、現在のホスト (入力) にアドレス指定された受信パケットにのみ適用され、ゾーン間でリダイレクトされるパケット (転送) には影響しません。
  • TFTP プロトコルの接続を追跡するように設計された tftp-client サービスは、使用できない形式であったため、削除されました。
  • 「直接」インターフェイスは非推奨になり、既製のパケット フィルター ルールを直接挿入できるようになりました。 リダイレクトされたパケットや発信パケットをフィルタリングする機能を追加した後、このインターフェイスの必要性はなくなりました。
  • CleanupModulesOnExit パラメータが追加されました。これはデフォルトで「no」に変更されます。 このパラメータを使用すると、firewalld のシャットダウン後のカーネル モジュールのアンロードを制御できます。
  • ターゲットシステム (宛先) を決定する際に ipset を使用できるようにします。
  • WireGuard、Kubernetes、および netbios-ns サービスの定義を追加しました。
  • zsh のオートコンプリート ルールを実装しました。
  • Python 2 のサポートは終了しました。
  • 依存関係のリストが短縮されました。 firewalld が動作するには、Linux カーネルに加えて、Python ライブラリ dbus、gobject、nftables のみが必要になり、ebtables、ipset、iptables パッケージはオプションとして分類されます。 Python ライブラリのデコレーターとスリップが依存関係から削除されました。

出所: オープンネット.ru

コメントを追加します