41.7. ファイアウォールゾーンでの作業


ゾーンは、着信トラフィックをより透過的に管理する概念を表しています。ゾーンはネットワークインターフェイスに接続されているか、ソースアドレスの範囲に割り当てられます。各ゾーンは個別にファイアウォールルールを管理しますが、これにより、複雑なファイアウォール設定を定義してトラフィックに割り当てることができます。

41.7.1. 特定のゾーンのファイアウォール設定をカスタマイズすることによるセキュリティーの強化

ファイアウォール設定を変更し、特定のネットワークインターフェイスまたは接続を特定のファイアウォールゾーンに関連付けることで、ネットワークセキュリティーを強化できます。ゾーンの詳細なルールと制限を定義することで、意図したセキュリティーレベルに基づいて受信トラフィックと送信トラフィックを制御できます。

たとえば、次のような利点が得られます。

  • 機密データの保護
  • 不正アクセスの防止
  • 潜在的なネットワーク脅威の軽減

前提条件

  • firewalld サービスが実行中である。

手順

  1. 利用可能なファイアウォールゾーンをリスト表示します。

    # firewall-cmd --get-zones
    Copy to Clipboard

    firewall-cmd --get-zones コマンドは、システムで利用可能なすべてのゾーンを表示し、特定のゾーンの詳細は表示しません。すべてのゾーンの詳細情報を表示するには、firewall-cmd --list-all-zones コマンドを使用します。

  2. この設定に使用するゾーンを選択します。
  3. 選択したゾーンのファイアウォール設定を変更します。たとえば、SSH サービスを許可し、ftp サービスを削除するには、次のようにします。

    # firewall-cmd --add-service=ssh --zone=<your_chosen_zone>
    # firewall-cmd --remove-service=ftp --zone=<same_chosen_zone>
    Copy to Clipboard
  4. ネットワークインターフェイスをファイアウォールゾーンに割り当てます。

    1. 使用可能なネットワークインターフェイスをリスト表示します。

      # firewall-cmd --get-active-zones
      Copy to Clipboard

      ゾーンがアクティブかどうかは、その設定と一致するネットワークインターフェイスまたはソースアドレス範囲の存在によって決定します。デフォルトゾーンは、未分類のトラフィックに対してアクティブですが、ルールに一致するトラフィックがない場合は常にアクティブになるわけではありません。

    2. 選択したゾーンにネットワークインターフェイスを割り当てます。

      # firewall-cmd --zone=<your_chosen_zone> --change-interface=<interface_name> --permanent
      Copy to Clipboard

      ネットワークインターフェイスをゾーンに割り当てることは、特定のインターフェイス (物理または仮想) 上のすべてのトラフィックに一貫したファイアウォール設定を適用する場合に適しています。

      firewall-cmd コマンドを --permanent オプションとともに使用すると、多くの場合、NetworkManager 接続プロファイルが更新され、ファイアウォール設定に対する変更が永続化します。この firewalld と NetworkManager の統合により、ネットワークとファイアウォールの設定に一貫性が確保されます。

検証

  1. 選択したゾーンの更新後の設定を表示します。

    # firewall-cmd --zone=<your_chosen_zone> --list-all
    Copy to Clipboard

    コマンド出力には、割り当てられたサービス、ネットワークインターフェイス、ネットワーク接続 (ソース) を含むすべてのゾーン設定が表示されます。

41.7.2. デフォルトゾーンの変更

システム管理者は、設定ファイルのネットワークインターフェイスにゾーンを割り当てます。特定のゾーンに割り当てられないインターフェイスは、デフォルトゾーンに割り当てられます。firewalld サービスを再起動するたびに、firewalld は、デフォルトゾーンの設定を読み込み、それをアクティブにします。他のすべてのゾーンの設定は保存され、すぐに使用できます。

通常、ゾーンは NetworkManager により、NetworkManager 接続プロファイルの connection.zone 設定に従って、インターフェイスに割り当てられます。また、再起動後、NetworkManager はこれらのゾーンを "アクティブ化" するための割り当てを管理します。

前提条件

  • firewalld サービスが実行中である。

手順

デフォルトゾーンを設定するには、以下を行います。

  1. 現在のデフォルトゾーンを表示します。

    # firewall-cmd --get-default-zone
    Copy to Clipboard
  2. 新しいデフォルトゾーンを設定します。

    # firewall-cmd --set-default-zone <zone_name>
    Copy to Clipboard
    注記

    この手順では、--permanent オプションを使用しなくても、設定は永続化します。

41.7.3. ゾーンへのネットワークインターフェイスの割り当て

複数のゾーンに複数のルールセットを定義して、使用されているインターフェイスのゾーンを変更することで、迅速に設定を変更できます。各インターフェイスに特定のゾーンを設定して、そのゾーンを通過するトラフィックを設定できます。

手順

特定インターフェイスにゾーンを割り当てるには、以下を行います。

  1. アクティブゾーン、およびそのゾーンに割り当てられているインターフェイスをリスト表示します。

    # firewall-cmd --get-active-zones
    Copy to Clipboard
  2. 別のゾーンにインターフェイスを割り当てます。

    # firewall-cmd --zone=zone_name --change-interface=interface_name --permanent
    Copy to Clipboard

41.7.4. ソースの追加

着信トラフィックを特定のゾーンに転送する場合は、そのゾーンにソースを追加します。ソースは、CIDR (Classless Inter-domain Routing) 表記法の IP アドレスまたは IP マスクになります。

注記

ネットワーク範囲が重複している複数のゾーンを追加する場合は、ゾーン名で順序付けされ、最初のゾーンのみが考慮されます。

  • 現在のゾーンにソースを設定するには、次のコマンドを実行します。

    # firewall-cmd --add-source=<source>
    Copy to Clipboard
  • 特定ゾーンのソース IP アドレスを設定するには、次のコマンドを実行します。

    # firewall-cmd --zone=zone-name --add-source=<source>
    Copy to Clipboard

以下の手順は、信頼される ゾーンで 192.168.2.15 からのすべての着信トラフィックを許可します。

手順

  1. 利用可能なすべてのゾーンをリストします。

    # firewall-cmd --get-zones
    Copy to Clipboard
  2. 永続化モードで、信頼ゾーンにソース IP を追加します。

    # firewall-cmd --zone=trusted --add-source=192.168.2.15
    Copy to Clipboard
  3. 新しい設定を永続化します。

    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard

41.7.5. ソースの削除

ゾーンからソースを削除すると、当該ソースに指定したルールは、そのソースから発信されたトラフィックに適用されなくなります。代わりに、トラフィックは、その発信元のインターフェイスに関連付けられたゾーンのルールと設定にフォールバックするか、デフォルトゾーンに移動します。

手順

  1. 必要なゾーンに対して許可されているソースのリストを表示します。

    # firewall-cmd --zone=zone-name --list-sources
    Copy to Clipboard
  2. ゾーンからソースを永続的に削除します。

    # firewall-cmd --zone=zone-name --remove-source=<source>
    Copy to Clipboard
  3. 新しい設定を永続化します。

    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard

41.7.6. nmcli を使用して接続にゾーンを割り当て

nmcli ユーティリティーを使用して、firewalld ゾーンを NetworkManager 接続に追加できます。

手順

  1. ゾーンを NetworkManager 接続プロファイルに割り当てます。

    # nmcli connection modify profile connection.zone zone_name
    Copy to Clipboard
  2. 接続をアクティベートします。

    # nmcli connection up profile
    Copy to Clipboard

41.7.7. ifcfg ファイルでゾーンをネットワーク接続に手動で割り当て

NetworkManager で接続を管理する場合は、NetworkManager が使用するゾーンを認識する必要があります。すべてのネットワーク接続プロファイルに対してゾーンを指定できるため、ポータブルデバイスを備えたコンピューターの場所に応じて、さまざまなファイアウォール設定を柔軟に行うことができます。したがって、ゾーンおよび設定には、会社または自宅など、様々な場所を指定できます。

手順

  • 接続のゾーンを設定するには、/etc/sysconfig/network-scripts/ifcfg-connection_name ファイルを変更して、この接続にゾーンを割り当てる行を追加します。

    ZONE=zone_name
    Copy to Clipboard

41.7.8. 新しいゾーンの作成

カスタムゾーンを使用するには、新しいゾーンを作成したり、事前定義したゾーンなどを使用したりします。新しいゾーンには --permanent オプションが必要となり、このオプションがなければコマンドは動作しません。

前提条件

  • firewalld サービスが実行中である。

手順

  1. 新しいゾーンを作成します。

    # firewall-cmd --permanent --new-zone=zone-name
    Copy to Clipboard
  2. 新しいゾーンを使用可能にします。

    # firewall-cmd --reload
    Copy to Clipboard

    このコマンドは、すでに実行中のネットワークサービスを中断することなく、最近の変更をファイアウォール設定に適用します。

検証

  • 作成したゾーンが永続設定に追加されたかどうかを確認します。

    # firewall-cmd --get-zones --permanent
    Copy to Clipboard

41.7.9. Web コンソールを使用したゾーンの有効化

RHEL Web コンソールを使用して、事前定義された既存のファイアウォールゾーンを特定のインターフェイスまたは IP アドレスの範囲に適用できます。

前提条件

  • RHEL 8 Web コンソールがインストールされている。
  • cockpit サービスが有効になっている。
  • ユーザーアカウントが Web コンソールにログインできる。

    手順は、Web コンソールのインストールおよび有効化 を参照してください。

手順

  1. RHEL 8 Web コンソールにログインします。

    詳細は、Web コンソールへのログイン を参照してください。

  2. Networking をクリックします。
  3. ルールとゾーンの編集 ボタンをクリックします。

    Edit firewall rules and zones in the web console

    ルールとゾーンの編集 ボタンが表示されない場合は、管理者権限で Web コンソールにログインしてください。

  4. Firewall セクションの Add new zone をクリックします。
  5. ゾーンの追加 ダイアログボックスで、信頼レベル オプションからゾーンを選択します。

    Web コンソールには、firewalld サービスで事前定義されたすべてのゾーンが表示されます。

  6. インターフェイス で、選択したゾーンが適用されるインターフェイスを選択します。
  7. 許可されたサービス で、ゾーンを適用するかどうかを選択できます。

    • サブネット全体
    • または、以下の形式の IP アドレスの範囲

      • 192.168.1.0
      • 192.168.1.0/24
      • 192.168.1.0/24, 192.168.1.0
  8. Add zone ボタンをクリックします。

    Add a firewall zone

検証

  • Firewall セクションの設定を確認します。

    Active zones

41.7.10. Web コンソールを使用したゾーンの無効化

Web コンソールを使用して、ファイアウォール設定のファイアウォールゾーンを無効にできます。

前提条件

  • RHEL 8 Web コンソールがインストールされている。
  • cockpit サービスが有効になっている。
  • ユーザーアカウントが Web コンソールにログインできる。

    手順は、Web コンソールのインストールおよび有効化 を参照してください。

手順

  1. RHEL 8 Web コンソールにログインします。

    詳細は、Web コンソールへのログイン を参照してください。

  2. Networking をクリックします。
  3. ルールとゾーンの編集 ボタンをクリックします。

    cockpit edit rules and zones

    ルールとゾーンの編集 ボタンが表示されない場合は、管理者権限で Web コンソールにログインしてください。

  4. 削除するゾーンの オプションアイコン をクリックします。

    cockpit delete zone

  5. Delete をクリックします。

これでゾーンが無効になり、そのゾーンに設定されたオープンなサービスおよびポートがインターフェイスに含まれなくなります。

41.7.11. 着信トラフィックにデフォルトの動作を設定するゾーンターゲットの使用

すべてのゾーンに対して、特に指定されていない着信トラフィックを処理するデフォルト動作を設定できます。そのような動作は、ゾーンのターゲットを設定することで定義されます。4 つのオプションがあります。

  • ACCEPT: 指定したルールで許可されていないパケットを除いた、すべての着信パケットを許可します。
  • REJECT: 指定したルールで許可されているパケット以外の着信パケットをすべて拒否します。firewalld がパケットを拒否すると、送信元マシンに拒否について通知されます。
  • DROP: 指定したルールで許可されているパケット以外の着信パケットをすべて破棄します。firewalld がパケットを破棄すると、ソースマシンにパケット破棄の通知がされません。
  • default: REJECT と似ていますが、特定のシナリオで特別な意味を持ちます。

前提条件

  • firewalld サービスが実行中である。

手順

ゾーンにターゲットを設定するには、以下を行います。

  1. 特定ゾーンに対する情報をリスト表示して、デフォルトゾーンを確認します。

    # firewall-cmd --zone=zone-name --list-all
    Copy to Clipboard
  2. ゾーンに新しいターゲットを設定します。

    # firewall-cmd --permanent --zone=zone-name --set-target=<default|ACCEPT|REJECT|DROP>
    Copy to Clipboard

41.7.12. IP セットを使用した許可リストの動的更新の設定

ほぼリアルタイムで更新を行うことで、予測不可能な状況でも IP セット内の特定の IP アドレスまたは IP アドレス範囲を柔軟に許可できます。これらの更新は、セキュリティー脅威の検出やネットワーク動作の変化など、さまざまなイベントによってトリガーされます。通常、このようなソリューションでは自動化を活用して手動処理を減らし、素早く状況に対応することでセキュリティーを向上させます。

前提条件

  • firewalld サービスが実行中である。

手順

  1. 分かりやすい名前で IP セットを作成します。

    # firewall-cmd --permanent --new-ipset=allowlist --type=hash:ip
    Copy to Clipboard

    この allowlist という新しい IP セットには、ファイアウォールで許可する IP アドレスが含まれています。

  2. IP セットに動的更新を追加します。

    # firewall-cmd --permanent --ipset=allowlist --add-entry=198.51.100.10
    Copy to Clipboard

    この設定により、新しく追加した、ネットワークトラフィックを渡すことがファイアウォールにより許可される IP アドレスで、allowlist の IP セットが更新されます。

  3. 先に作成した IP セットを参照するファイアウォールのルールを作成します。

    # firewall-cmd --permanent --zone=public --add-source=ipset:allowlist
    Copy to Clipboard

    このルールがない場合、IP セットはネットワークトラフィックに影響を与えません。デフォルトのファイアウォールポリシーが優先されます。

  4. ファイアウォール設定をリロードして、変更を適用します。

    # firewall-cmd --reload
    Copy to Clipboard

検証

  1. すべての IP セットをリスト表示します。

    # firewall-cmd --get-ipsets
    allowlist
    Copy to Clipboard
  2. アクティブなルールをリスト表示します。

    # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: enp0s1
      sources: ipset:allowlist
      services: cockpit dhcpv6-client ssh
      ports:
      protocols:
      ...
    Copy to Clipboard

    コマンドライン出力の sources セクションでは、どのトラフィックの発信元 (ホスト名、インターフェイス、IP セット、サブネットなど) が、特定のファイアウォールゾーンへのアクセスを許可または拒否されているかについて洞察が得られます。上記の場合、allowlist IP セットに含まれる IP アドレスが、public ゾーンのファイアウォールを通してトラフィックを渡すことが許可されています。

  3. IP セットの内容を調べます。

    # cat /etc/firewalld/ipsets/allowlist.xml
    <?xml version="1.0" encoding="utf-8"?>
    <ipset type="hash:ip">
      <entry>198.51.100.10</entry>
    </ipset>
    Copy to Clipboard

次のステップ

  • スクリプトまたはセキュリティーユーティリティーを使用して脅威インテリジェンスのフィードを取得し、それに応じて allowlist を自動的に更新します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat