第18章 セキュリティーグループアクションのロギング

注記

セキュリティーグループアクションのロギングは、このリリースでは テクノロジープレビュー機能 として利用できます。そのため、Red Hat によるフルサポートの対象ではありません。これは、テスト目的にのみご利用いただく機能で、実稼働環境にデプロイすべきではありません。テクノロジープレビュー機能についての詳しい情報は、対象範囲の詳細 を参照してください。

セキュリティーグループのロギングに関する既知の問題および回避策は、https://bugzilla.redhat.com/show_bug.cgi?id=2241184 および https://bugzilla.redhat.com/show_bug.cgi?id=2192918 を参照してください。

セキュリティーグループのパケットログを作成して、仮想マシンインスタンスとの間のトラフィックフローを監視できます。各ログは、パケットフローイベントに関するデータストリームを生成し、それを仮想マシンインスタンスが起動された Compute ホスト上の共通ログファイルに追加します。

インスタンスポートを 1 つ以上のセキュリティーグループに関連付け、各セキュリティーグループに 1 つ以上のルールを定義できます。たとえば、セキュリティーグループ内の仮想マシンへの受信 SSH トラフィックを許可するルールを作成できます。同じセキュリティーグループ内に別のルールを作成し、そのグループ内の仮想マシンが ICMP (ping) メッセージを開始および応答できるようにすることができます。

その後、パケットフローイベントの組み合わせを記録するログを作成できます。たとえば、次のコマンドは、セキュリティーグループ security-group1 の ACCEPT イベントをすべてキャプチャーするログを作成します。

$ openstack network log create my-log1 \
--resource-type security_group \
--resource security-group1 \
--event ACCEPT

複数のログを作成して、セキュリティーグループとパケットフローイベントの特定の組み合わせに関するデータをキャプチャーできます。

次のパラメーターを設定できます。

resource-type
この必須パラメーターを security_group に設定する必要があります。
resource (セキュリティーグループ名)
オプションで、target 引数を使用して、特定のセキュリティーグループにログを限定することもできます(例: --resource security-group1)。リソースを指定しない場合、ログはプロジェクト内の指定されたポート上のすべてのセキュリティーグループからイベントをキャプチャーします。
event (ログに記録するイベントのタイプ)

次のパケットフローイベントをログに記録するように選択できます。

  • DROP: ドロップされた受信セッションまたは送信セッションごとに 1 つの DROP ログエントリーをログに記録します。

    注記

    1 つ以上のセキュリティーグループでドロップされたトラフィックをログに記録すると、ネットワーキングサービスはすべてのセキュリティーグループでドロップされたトラフィックをログに記録します。

  • ACCEPT: セキュリティーグループが許可した新規セッションごとに 1 つの ACCEPT ログエントリーを記録します。
  • ALL (drop と accept): すべての DROP および ACCEPT イベントをログに記録します。–event ACCEPT または –event DROP を設定しない場合、ネットワーキングサービスはデフォルトで ALL になります。
注記

ネットワーキングサービスは、すべてのログデータをすべての Compute ノードの同じファイル (/var/log/containers/openvswitch/ovn-controller.log) に書き込みます。

18.1. セキュリティーグループのロギングが有効になっていることの確認

ネットワークパケットロギングのデプロイメントを準備するために、ロギングサービスプラグインとロギングエクステンションが設定されていることを確認してください。

手順

  1. RHOSP admin ロールでオーバークラウドへのアクセスを許可する認証情報ファイルを入手します。
  2. 以下のコマンドを入力します。

    $ openstack extension list --max-width 80 | grep logging

    ロギングサービスプラグインとエクステンションが適切に設定されている場合、出力には以下が含まれます。

    | Logging API Extension   | logging       | Provides a logging API   |
  3. openstack extension list の出力に Logging API Extension が含まれていない場合:

    1. 環境ファイルの NeutronPluginExtensions パラメーターに log を追加します。

      parameter_defaults:
          NeutronPluginExtensions: "qos,port_security,log"

    2. コア Orchestration テンプレート、環境ファイル、およびこの環境ファイルを指定して、openstack overcloud deploy コマンドを実行します。