AWS VPC Transit Gateway のフローログを収集する

以下でサポートされています。

このドキュメントでは、CloudWatch Logs と Kinesis Data Firehose を使用して AWS VPC Transit Gateway フローログを Google Security Operations に取り込む方法について説明します。トランジット ゲートウェイ フローログは、トランジット ゲートウェイ アタッチメント全体の詳細なネットワーク トラフィック メタデータをキャプチャします。この統合により、これらのログがモニタリングとセキュリティ分析のために Google SecOps にストリーミングされます。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • AWS への特権アクセス

Transit Gateway フローログ(CloudWatch ログ)を有効にする

  1. AWS コンソールにログインします。
  2. [VPC] > [トランジット ゲートウェイ](または [トランジット ゲートウェイ アタッチメント])に移動します。
  3. ターゲット リソースを選択します。
  4. [Actions] > [Create flow log] をクリックします。
  5. 次の構成の詳細を入力します。
    • 宛先: [CloudWatch Logs に送信] を選択します。
    • ロググループ: ロググループを選択または作成します(例: /aws/tgw/flowlogs)。
    • IAM ロール: CloudWatch Logs に書き込むことができるロールを選択します。
    • Maximum aggregation interval: [1 minute](推奨)または [10 minutes] を選択します。
    • ログレコード形式: [デフォルト](追加のフィールドが必要な場合は [カスタム])を選択します。
  6. [フローログを作成] をクリックします。

Transit Gateway Flow Logs を取り込むように Google SecOps でフィードを構成する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [+ 新しいフィードを追加] をクリックします。
  3. [フィード名] フィールドに「AWS Transit Gateway Flow Logs — CloudWatch via Firehose」と入力します。
  4. [ソースタイプ] として [Amazon Data Firehose] を選択します。
  5. [ログタイプ] で [Amazon VPC Transit Gateway Flow Logs] を選択します。
  6. [次へ] をクリックします。
  7. 次の入力パラメータの値を指定します。
    • 分割区切り文字: 省略可能な n
    • Asset namespace: アセットの名前空間
    • Ingestion labels: このフィードのイベントに適用されるラベル。
  8. [次へ> 送信] をクリックします。
  9. フィードの [詳細] で、[シークレット キーを生成] をクリックし、[シークレット キー] をコピーします。
  10. [エンドポイント情報] から [フィード HTTPS エンドポイント URL] をコピーします。
  11. Google Cloud コンソール > [API とサービス] > [認証情報] > [認証情報を作成] > [API キー] で、API キーを作成し、Chronicle API に制限します。API キーをコピーします。

Amazon Kinesis Data Firehose を構成する(Google SecOps に直接送信)

  1. AWS コンソールで、[Kinesis] > [Data Firehose] > [Create delivery stream] に移動します。
  2. 次の構成の詳細を入力します。
    • ソース: [直接 PUT またはその他のソース] を選択します。
    • 宛先: [HTTP エンドポイント] を選択します。
    • HTTP エンドポイント URL: ENDPOINT_URL?key=API_KEY と入力します(前の手順のフィード HTTPS エンドポイント URL と API キーを使用します)。
    • HTTP メソッド: [POST] を選択します。
    • Access key: フィードで生成された秘密鍵を貼り付けます。
    • バッファリングのヒント: [バッファサイズ] = [1 MiB]、[バッファ間隔] = [60 秒] に設定します。
    • 圧縮: [無効] を選択します。
    • S3 バックアップ: [無効] を選択します。
    • 再試行ロギングの設定はデフォルトのままにします。
  3. [配信ストリームを作成] をクリックします。(例: cwlogs-to-secops

IAM 権限を構成してロググループをサブスクライブする

  1. AWS コンソールで、[IAM] > [ポリシー] > [ポリシーの作成] > [JSON] タブに移動します。
  2. 次のポリシーを入力します。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "firehose:PutRecord",
            "firehose:PutRecordBatch"
          ],
          "Resource": "arn:aws:firehose:<region>:<account-id>:deliverystream/cwlogs-to-secops"
        }
      ]
    }
    
    • <region><account-id> は、AWS リージョンとアカウント ID に置き換えます。
  3. ポリシーに CWLtoFirehoseWrite という名前を付けて、[ポリシーを作成] をクリックします。

  4. [IAM]> [ロール] に移動します。

  5. [Create role] をクリックします。

  6. [カスタム信頼ポリシー] を選択して、次のように入力します。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "logs.<your-region>.amazonaws.com"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    
  7. ポリシー CWLtoFirehoseWrite をロールにアタッチします。

  8. ロールに「CWLtoFirehoseRole」という名前を付けて、[ロールを作成] をクリックします。

  9. [CloudWatch] > [ログ] > [ロググループ] に移動します。

  10. 先ほど有効にした Transit Gateway のロググループを選択します。

  11. [サブスクリプション フィルタ] タブを開き、[作成] をクリックします。

  12. [Amazon Kinesis Data Firehose サブスクリプション フィルタを作成] を選択します。

  13. 以下の構成を行います。

    • 送信先: 配信ストリーム cwlogs-to-secops
    • 権限を付与する: ロール CWLtoFirehoseRole
    • フィルタ名: 「all-events」と入力します。
    • フィルタ パターン: すべてのイベントを送信する場合は、空白のままにします。
  14. [ストリーミングを開始] をクリックします。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。