Red Hat Training

A Red Hat training course is available for RHEL 8

9.7. ゾーン間で転送されるトラフィックのフィルタリング

ポリシーオブジェクトを使用すると、ユーザーはポリシーで同様のパーミッションを必要とする異なるアイデンティティーをグループ化できます。トラフィックの方向に応じてポリシーを適用できます。

ポリシーオブジェクト policy objects 機能は、firewalld で正引きフィルターと出力フィルターを提供します。firewalld を使用して、異なるゾーン間のトラフィックをフィルタリングし、ローカルでホストされている仮想マシンへのアクセスを許可して、ホストを接続できます。

9.7.1. ポリシーオブジェクトとゾーンの関係

ポリシーオブジェクトを使用すると、サービス、ポート、リッチルールなどの firewalld のプリミティブをポリシーに割り当てることができます。ポリシーオブジェクトは、ステートフルおよび一方向の方法でゾーン間を通過するトラフィックに適用することができます。

# firewall-cmd --permanent --new-policy myOutputPolicy

# firewall-cmd --permanent --policy myOutputPolicy --add-ingress-zone HOST

# firewall-cmd --permanent --policy myOutputPolicy --add-egress-zone ANY

HOST および ANY は、入出力ゾーンリストで使用されるシンボリックゾーンです。

  • HOST シンボリックゾーンは、firewalld を実行しているホストから発信されるトラフィック、またはホストへの宛先を持つトラフィックのポリシーを許可します。
  • ANY シンボリックゾーンは、現行および将来のすべてのゾーンにポリシーを適用します。ANY シンボリックゾーンは、すべてのゾーンのワイルドカードとして機能します。

9.7.2. 優先度を使用したポリシーのソート

同じトラフィックセットに複数のポリシーを適用できるため、優先度を使用して、適用される可能性のあるポリシーの優先順位を作成する必要があります。

ポリシーをソートする優先度を設定するには、次のコマンドを実行します。

# firewall-cmd --permanent --policy mypolicy --set-priority -500

この例では、-500 の優先度は低くなりますが、優先度は高くなります。したがって、-500 は、-100 より前に実行されます。優先度の高い値は、低い値よりも優先されます。

ポリシーの優先度には、以下のルールが適用されます。

  • 負の優先度を持つポリシーは、ゾーンのルールの前に適用されます。
  • 正の優先度を持つポリシーは、ゾーンのルールの後に適用されます。
  • 優先度 0 は予約されているため、使用できません。

9.7.3. ポリシーオブジェクトを使用した、ローカルでホストされているコンテナーと、ホストに物理的に接続されているネットワークとの間でのトラフィックのフィルタリング

ポリシーオブジェクト機能を使用すると、コンテナーと仮想マシンのトラフィックをフィルターにかけることができます。

手順

  1. 新しいポリシーを作成します。

    # firewall-cmd --permanent --new-policy podmanToHost
  2. すべてのトラフィックをブロックします。

    # firewall-cmd --permanent --policy podmanToHost --set-target REJECT
    
    # firewall-cmd --permanent --policy podmanToHost --add-service dhcp
    
    # firewall-cmd --permanent --policy podmanToHost --add-service dns
    注記

    Red Hat では、デフォルトでホストへのすべてのトラフィックをブロックしてから、ホストに必要なサービスを選択的に開くことを推奨しています。

  3. ポリシーで使用する入力ゾーンを定義します。

    # firewall-cmd --permanent --policy podmanToHost --add-ingress-zone podman
  4. ポリシーで使用する出力ゾーンを定義します。

    # firewall-cmd --permanent --policy podmanToHost --add-egress-zone ANY

検証

  • ポリシーに関する情報を確認します。

    # firewall-cmd --info-policy podmanToHost

9.7.4. ポリシーオブジェクトのデフォルトターゲットの設定

ポリシーには --set-target オプションを指定できます。以下のターゲットを使用できます。

  • ACCEPT - パケットを受け入れます
  • DROP - 不要なパケットを破棄します
  • REJECT - ICMP 応答で不要なパケットを拒否します
  • CONTINUE (デフォルト) - パケットは、次のポリシーとゾーンのルールに従います。

    # firewall-cmd --permanent --policy mypolicy --set-target CONTINUE

検証

  • ポリシーに関する情報の確認

    # firewall-cmd --info-policy mypolicy