25.9. Egress ファイアウォールとネットワークポリシールールのロギング


クラスター管理者は、クラスターの監査ロギングを設定し、1 つ以上の namespace のロギングを有効にできます。OpenShift Container Platform は、Egress ファイアウォールとネットワークポリシーの両方の監査ログを生成します。

注記

監査ログは、OVN-Kubernetes ネットワークプラグイン でのみ使用できます。

25.9.1. 監査ロギング

OVN-Kubernetes ネットワークプラグインは、Open Virtual Network (OVN) ACL を使用して、Egress ファイアウォールとネットワークポリシーを管理します。監査ロギングは ACL イベントの許可および拒否を公開します。

syslog サーバーや UNIX ドメインソケットなど、監査ログの宛先を設定できます。追加の設定に関係なく、監査ログは常にクラスター内の各 OVN-Kubernetes Pod の /var/log/ovn/acl-audit-log.log に保存されます。

各 namespace 設定に k8s.ovn.org/acl-logging セクションをアノテーション付けすることで、各 namespace の監査ログを有効にできます。k8s.ovn.org/acl-logging セクションでは、namespace の監査ログを有効にするために、allowdeny、またはその両方の値を指定する必要があります。

注記

ネットワークポリシーでは、Pass アクションセットをルールとして設定することはサポートされていません。

ACL ロギング実装は、ネットワークのアクセス制御リスト (ACL) イベントをログに記録します。これらのログを表示して、潜在的なセキュリティー問題を分析できます。

namespace アノテーションの例

kind: Namespace
apiVersion: v1
metadata:
  name: example1
  annotations:
    k8s.ovn.org/acl-logging: |-
      {
        "deny": "info",
        "allow": "info"
      }

デフォルトの ACL ロギング設定値を表示するには、cluster-network-03-config.yml ファイルの policyAuditConfig オブジェクトを参照してください。必要に応じて、このファイル内のログファイルパラメーターの ACL ロギング設定値を変更できます。

ログメッセージの形式は、RFC5424 で定義されている syslog と互換性があります。syslog ファシリティーは設定可能です。デフォルトは local0 です。次の例は、ログメッセージに出力される主要なパラメーターとその値を示しています。

パラメーターとその値を出力するロギングメッセージの例

<timestamp>|<message_serial>|acl_log(ovn_pinctrl0)|<severity>|name="<acl_name>", verdict="<verdict>", severity="<severity>", direction="<direction>": <flow>

詳細は、以下のようになります。

  • <timestamp> は、ログメッセージが作成された日時を示します。
  • <message_serial> には、ログメッセージのシリアル番号がリストされます。
  • acl_log (ovn_pinctrl0) は、OVN-Kubernetes プラグイン内のログメッセージの場所を出力するリテラル文字列です。
  • <severity> は、ログメッセージの重大度レベルを設定します。allow タスクと deny タスクをサポートする監査ログを有効にすると、ログメッセージ出力に 2 つの重大度レベルが表示されます。
  • <name> は、ネットワークポリシーによって作成された OVN ネットワークブリッジングデータベース (nbdb) 内の ACL ロギング実装の名前を示します。
  • <verdict> は、allow または drop のいずれかになります。
  • <direction> は、to-lport または from-lport のいずれかで、ポリシーが Pod に向かうトラフィックまたは Pod から出るトラフィックに適用されたことを示します。
  • <flow> は、OpenFlow プロトコルと同等の形式でパケット情報を表示します。このパラメーターは Open vSwitch (OVS) フィールドで構成されます。

次の例は、flow パラメーターがシステムメモリーからパケット情報を抽出するために使用する OVS フィールドを示しています。

flow パラメーターがパケット情報を抽出するために使用する OVS フィールドの例

<proto>,vlan_tci=0x0000,dl_src=<src_mac>,dl_dst=<source_mac>,nw_src=<source_ip>,nw_dst=<target_ip>,nw_tos=<tos_dscp>,nw_ecn=<tos_ecn>,nw_ttl=<ip_ttl>,nw_frag=<fragment>,tp_src=<tcp_src_port>,tp_dst=<tcp_dst_port>,tcp_flags=<tcp_flags>

詳細は、以下のようになります。

  • <proto> はプロトコルを指定します。有効な値は tcpudp です。
  • vlan_tci=0x0000 は、内部 Pod ネットワークトラフィックに VLAN ID が設定されていないため、VLAN ヘッダーを 0 として示します。
  • <src_mac> は、メディアアクセス制御 (MAC) アドレスのソースを指定します。
  • <source_mac> は、MAC アドレスの宛先を指定します。
  • <source_ip> は、送信元 IP アドレスをリストします
  • <target_ip> は、ターゲット IP アドレスをリストします。
  • <tos_dscp> は、特定のネットワークトラフィックを他のトラフィックよりも分類して優先順位を付ける差別化サービスコードポイント (DSCP) 値を指定します。
  • <tos_ecn> は、ネットワーク内の輻輳したトラフィックを示す明示的輻輳通知 (ECN) 値を示します。
  • <ip_ttl> は、パケットの Time To Live (TTL) 情報を示します。
  • <fragment> は、一致させる IP フラグメントまたは IP 非フラグメントのタイプを指定します。
  • <tcp_src_port> は、TCP および UDP プロトコルのポートのソースを示します。
  • <tcp_dst_port> は、TCP および UDP プロトコルの宛先ポートをリストします。
  • <tcp_flags> は、SYNACKPSH などの多数のフラグをサポートします。複数の値を設定する必要がある場合は、各値を縦棒 (|) で区切ります。UDP プロトコルはこのパラメーターをサポートしていません。
注記

以前のフィールドの説明の詳細は、OVS の man ページの ovs-fields を参照してください。

ネットワークポリシーの ACL 拒否ログエントリーの例

Defaulting container name to ovn-controller.
Use 'oc describe pod/ovnkube-node-hdb8v -n openshift-ovn-kubernetes' to see all of the containers in this pod.
2021-06-13T19:33:11.590Z|00005|acl_log(ovn_pinctrl0)|INFO|name="verify-audit-logging_ingressDefaultDeny", verdict=drop, severity=alert: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:39,dl_dst=0a:58:0a:80:02:37,nw_src=10.128.2.57,nw_dst=10.128.2.55,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0
2021-06-13T19:33:12.614Z|00006|acl_log(ovn_pinctrl0)|INFO|name="verify-audit-logging_ingressDefaultDeny", verdict=drop, severity=alert: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:39,dl_dst=0a:58:0a:80:02:37,nw_src=10.128.2.57,nw_dst=10.128.2.55,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0
2021-06-13T19:44:10.037Z|00007|acl_log(ovn_pinctrl0)|INFO|name="verify-audit-logging_allow-from-same-namespace_0", verdict=allow, severity=alert: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:3b,dl_dst=0a:58:0a:80:02:3a,nw_src=10.128.2.59,nw_dst=10.128.2.58,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0
2021-06-13T19:44:11.037Z|00008|acl_log(ovn_pinctrl0)|INFO|name="verify-audit-logging_allow-from-same-namespace_0", verdict=allow, severity=alert: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:3b,dl_dst=0a:58:0a:80:02:3a,nw_src=10.128.2.59,nw_dst=10.128.2.58,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0

以下の表は、namespace アノテーションの値を説明しています。

Expand
表25.10 k8s.ovn.org/acl-logging の監査ロギング namespace アノテーション
フィールド説明

deny

deny アクションを含む ACL ルールに一致するすべてのトラフィックへの namespace アクセスをブロックします。このフィールドは、alertwarningnoticeinfo、または debug の値をサポートします。

allow

allow アクションを含む ACL ルールに一致するすべてのトラフィックへの namespace アクセスを許可します。このフィールドは、alertwarningnoticeinfo、または debug の値をサポートします。

pass

pass アクションは、管理ネットワークポリシーの ACL ルールに適用されます。pass アクションにより、namespace 内のネットワークポリシーまたはベースライン管理ネットワークポリシールールのいずれかを使用して、すべての受信トラフィックと送信トラフィックを評価できます。ネットワークポリシーは pass アクションをサポートしていません。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る