7.11. OVN ネットワークポリシー監査ログの収集

OVN-Kubernetes Pod の /var/log/ovn/acl-audit-log.log ファイルから OVN ネットワークポリシー監査ログを収集し、そのログをロギングサーバーに転送できます。

前提条件

  • OpenShift Container Platform バージョン 4.8 以降を使用している。
  • Cluster Logging 5.2以降を使用している。
  • ClusterLogForwarder カスタムリソース (CR) オブジェクトがすでに設定されている。
  • OpenShift Container Platform クラスターが OVN-Kubernetes ネットワークポリシー監査ロギング用に設定されている。以下の「関連情報」のセクションを参照してください。
注記

多くの場合、監査データを格納するロギングサーバーは、コンプライアンスおよびセキュリティー関連の組織および政府の要件を満たす必要があります。

手順

  1. ログのサードパーティーシステムに転送する他のトピックで説明されているように、ClusterLogForwarder CR オブジェクトを定義する YAML ファイルを作成または編集します。
  2. YAML ファイルで、監査ログ タイプをパイプラインの inputRefs 要素に追加します。例:

      pipelines:
       - name: audit-logs
         inputRefs:
          - audit 1
         outputRefs:
          - secure-logging-server 2
    1
    audit を、入力するログタイプのいずれかとして指定します。
    2
    ロギングサーバーに接続する出力を指定します。
  3. 更新された CR オブジェクトを再作成します。

    $ oc create -f <file-name>.yaml

検証

ロギングサーバーが収集したログデータの中に、モニタリングしているノードからの監査ログエントリーが存在することを確認します。

/var/log/ovn/acl-audit-log.log で元の監査ログエントリーを見つけ、これをロギングサーバーの対応するログエントリーと比較します。

たとえば、/var/log/ovn/acl-audit-log.log の元のログエントリーは以下のようになります。

2021-07-06T08:26:58.687Z|00004|acl_log(ovn_pinctrl0)|INFO|name="verify-audit-
logging_deny-all", verdict=drop, severity=alert:
icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:12,dl_dst=0a:58:0a:81:02:14,nw_src=10
.129.2.18,nw_dst=10.129.2.20,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0

また、ロギングサーバーにある対応する OVN 監査ログエントリーは、以下のようになります。

{
  "@timestamp" : "2021-07-06T08:26:58..687000+00:00",
  "hostname":"ip.abc.iternal",
  "level":"info",
  "message" : "2021-07-06T08:26:58.687Z|00004|acl_log(ovn_pinctrl0)|INFO|name=\"verify-audit-logging_deny-all\", verdict=drop, severity=alert: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:12,dl_dst=0a:58:0a:81:02:14,nw_src=10.129.2.18,nw_dst=10.129.2.20,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0"
}

ここで、

  • @timestamp はログエントリーのタイムスタンプです。
  • hostname はログの発信元のノードです。
  • level はログエントリーです。
  • Message は元の監査ログメッセージです。
注記

Elasticsearch サーバーで、インデックスが audit-00000 で始まるログエントリーを探します。

トラブルシューティング

  1. OpenShift Container Platform クラスターがすべての前提条件を満たしていることを確認します。
  2. 手順が完了したことを確認します。
  3. OVN ログを生成するノードが有効で、/var/log/ovn/acl-audit-log.log ファイルがあることを確認します。
  4. Fluentd Pod ログで問題の有無を確認します。