機械翻訳について

firewalldゾーンの構成

次のタスクでは、firewall-cmdコマンドを使用してゾーンのファイアウォール・ルールを構成する方法について説明します。 ルールは、firewalld/etc/firewalld階層に記録されます。

ファイアウォールを構成することは、仕様に従ってファイアウォールがネットワーク・トラフィックを制御できるように、ゾーン設定のすべてまたは一部を特定の値に設定することを意味します。

サービスへのアクセスの制御

ゾーンのservicesの設定が、ファイアウォールを構成する最も簡単な方法です。 各ゾーンには、事前定義されたサービスが割り当てられています。 この設定をさらに構成するには、ゾーンにサービスを追加するか、ゾーンからサービスを削除します。

事前定義済サービスを一覧表示するには、firewall-cmd --list-servicesコマンドを使用します。

たとえば、次のコマンドは、workゾーンにcockpitdhcpv6-clientおよびsshサービスが割り当てられていることを示しています。

sudo firewall-cmd --list-services --zone=work
cockpit dhcpv6-client ssh

新しいサービスへのアクセスを開くには、--add-service serviceオプションを使用します。 オプションで、--permanentオプションを含めるとリブート後もルールを永続化できます。

たとえば、HTTPおよびNFSサービスをworkゾーンに追加するには、次のコマンドを使用します。

sudo firewall-cmd --permanent --zone=work --add-service=http --add-service=nfs
sudo firewall-cmd --list-services --zone=work
cockpit dhcpv6-client ssh http nfs

サービスへのアクセスを削除するには、--remove-service serviceオプションを使用します。

sudo firewall-cmd --permanent --zone=work --remove-service=cockpit
sudo firewall-cmd --list-services --zone=work 
dhcpv6-client ssh http nfs

ポートへのアクセスの制御

ゾーンのサービス経由のネットワーク・トラフィックは、それらのサービスのポートを使用します。 トラフィックを受け入れるには、ポートを開く必要があります。 ポート番号および関連するプロトコルを指定することで、ネットワーク・アクセス用にさらに多くのポートを開くことができます。

--list-portsオプションは、明示的にアクセスを許可したポートおよび関連するプロトコルを一覧表示します。 ただし、サービスとして開かれているポートは、このコマンドの出力には含まれません。 したがって、ポートを一覧表示する場合は、--list-allオプションを使用してより詳細な情報を取得することをお薦めします。

特定のポートへのアクセスを許可するには、--add-portオプションを使用します。 ポートは、port-number/port-typeの形式を使用して指定する必要があります。 ポート・タイプは、tcpudpsctpまたはdccpです。 タイプとネットワーク・トラフィックが一致していることを確認します。次に例を示します。

sudo firewall-cmd --permanent --zone=work --add-port=5353/udp --add-port=3689/tcp
sudo firewall-cmd --list-all --zone=work 
work
  target: default
  icmp-clock-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh http nfs 
  ports: 5353/udp 3689/tcp
...

同様に、--remove-portオプションでポートへのアクセスを削除できます。 変更を永続化するには、忘れずに--permanentオプションを使用してください。

詳細は、firewall-cmd(1)マニュアル・ページを参照してください。

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

システムのネットワーク・インタフェースは、デフォルト・ゾーンに自動的に割り当てられます。 Oracle Linuxでは、複数のゾーンを特定のサービスやポートなどで構成できます。 次に、そのゾーンにインタフェースを割り当てることで、特定のゾーンのルールをアクティブにして操作できるようにします。 したがって、ネットワーク・インタフェースを再割当てにより、システム上でアクティブになっているファイアウォール・ルールを簡単に変更できます。

workゾーンのファイアウォール構成をアクティブ化するとします。 次のように、ゾーンにインタフェースを割り当てます。

sudo firewall-cmd --zone=work --change-interface=enp0s1
firewall-cmd --get-active-zone
work
  interfaces: enp0s1

ノート:

リブート後も設定を永続化させるために--permanentオプションを使用する必要はありません。 デフォルト・ゾーンの変更の説明に従ってゾーンをデフォルト・ゾーンとして設定すると、インタフェースの再割当ては永続的になります。

デフォルト・ゾーンの変更

システムのデフォルト・ゾーンは次のように変更できます。

sudo firewall-cmd --set-default-zone=work

変更が適用されていることを確認することもできます。

firewall-cmd --get-default-zone

構成全体および最終結果を表示するには:

sudo firewall-cmd --zone=work --list-all
work (active)
  target: default
  interfaces:  enp0s1
  sources:
  services: dhcpv6-client ssh http nfs
  ports: 5353/udp 3689/tcp
...

受信トラフィックを制御するためのデフォルト・ルールの設定

target設定は、受信トラフィックを管理するときにファイアウォールのデフォルトの動作を設定します。 このゾーン設定は、すべての事前定義済ゾーンに対してdefaultに自動的に構成されます。 ゾーンのデフォルトの動作を変更するには、次のコマンドを使用します。

sudo firewall-cmd --zone=zone-name --set-target=ACCEPT|REJECT|DROP

次のオプションを指定できます。

  • ACCEPTは、別のルールで拒否するように設定したトラフィックを除くすべての受信トラフィックを受け入れます。

  • REJECTは、別のルールで許可したトラフィックを除くすべての受信トラフィックをブロックします。 ソース・マシンには拒否が通知されます。

  • DROPREJECTに似ていますが、拒否の通知はソース・マシンに送信されません。

ソースに基づいた受信トラフィックの管理

トラフィック・ソースに基づいて、ゾーンへの受信トラフィックを管理できます。 次の2つのゾーン設定では、パケットの発信元を指定できます。

  • sourceは、送信ノードまたはネットワークを指定します。

  • source-portsは、トラフィックの発生元ポートを指定します。

送信ノードからの受信トラフィックを受け入れるには、次のコマンドを使用します。

sudo firewall-cmd --zone=zone-name --add-source=IP-address                  

IPアドレスには、192.0.2.0/24などのCIDR表記のネットマスクを含めることができます。

次のコマンドを実行して、現在のランタイム・ルールセットを永続ルールセットに変換します:

sudo firewall-cmd --runtime-to-permanent

システムをリブートした場合に削除される一時構成を設定する場合は、このコマンドを省略します。

次のような構文は、source-port設定の設定に使用されます。 ただし、送信ポート番号とプロトコル・タイプを指定して、ソース・ポートを識別します。次に例を示します。

sudo firewall-cmd --zone=zone-name --add-source-ports=port-number/tcp|udp|sctp|dccp

異なる設定を組み合せてファイアウォールを構成できます。 次の例に示されているように、192.0.2.0ネットワーク・ソースからのHTTPトラフィックを受け入れるようにtrustedゾーンを構成できます。

sudo firewall-cmd --zone=trusted --add-source=192.0.2.0/24
sudo firewall-cmd --zone=trusted --add-service=http
sudo firewall-cmd --zone=trusted --list-all
trusted (active)
  target: ACCEPT
  sources: 192.0.2.0/24
  services: http