AWS VPC Transit Gateway のフローログを収集する
このドキュメントでは、CloudWatch Logs と Kinesis Data Firehose を使用して AWS VPC Transit Gateway フローログを Google Security Operations に取り込む方法について説明します。トランジット ゲートウェイ フローログは、トランジット ゲートウェイ アタッチメント全体の詳細なネットワーク トラフィック メタデータをキャプチャします。この統合により、これらのログがモニタリングとセキュリティ分析のために Google SecOps にストリーミングされます。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- AWS への特権アクセス
Transit Gateway フローログ(CloudWatch ログ)を有効にする
- AWS コンソールにログインします。
- [VPC] > [トランジット ゲートウェイ](または [トランジット ゲートウェイ アタッチメント])に移動します。
- ターゲット リソースを選択します。
- [Actions] > [Create flow log] をクリックします。
- 次の構成の詳細を入力します。
- 宛先: [CloudWatch Logs に送信] を選択します。
- ロググループ: ロググループを選択または作成します(例:
/aws/tgw/flowlogs
)。 - IAM ロール: CloudWatch Logs に書き込むことができるロールを選択します。
- Maximum aggregation interval: [1 minute](推奨)または [10 minutes] を選択します。
- ログレコード形式: [デフォルト](追加のフィールドが必要な場合は [カスタム])を選択します。
- [フローログを作成] をクリックします。
Transit Gateway Flow Logs を取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [+ 新しいフィードを追加] をクリックします。
- [フィード名] フィールドに「
AWS Transit Gateway Flow Logs — CloudWatch via Firehose
」と入力します。 - [ソースタイプ] として [Amazon Data Firehose] を選択します。
- [ログタイプ] で [Amazon VPC Transit Gateway Flow Logs] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- 分割区切り文字: 省略可能な
n
。 - Asset namespace: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
- 分割区切り文字: 省略可能な
- [次へ> 送信] をクリックします。
- フィードの [詳細] で、[シークレット キーを生成] をクリックし、[シークレット キー] をコピーします。
- [エンドポイント情報] から [フィード HTTPS エンドポイント URL] をコピーします。
- Google Cloud コンソール > [API とサービス] > [認証情報] > [認証情報を作成] > [API キー] で、API キーを作成し、Chronicle API に制限します。API キーをコピーします。
Amazon Kinesis Data Firehose を構成する(Google SecOps に直接送信)
- AWS コンソールで、[Kinesis] > [Data Firehose] > [Create delivery stream] に移動します。
- 次の構成の詳細を入力します。
- ソース: [直接 PUT またはその他のソース] を選択します。
- 宛先: [HTTP エンドポイント] を選択します。
- HTTP エンドポイント URL:
ENDPOINT_URL?key=API_KEY
と入力します(前の手順のフィード HTTPS エンドポイント URL と API キーを使用します)。 - HTTP メソッド: [POST] を選択します。
- Access key: フィードで生成された秘密鍵を貼り付けます。
- バッファリングのヒント: [バッファサイズ] = [1 MiB]、[バッファ間隔] = [60 秒] に設定します。
- 圧縮: [無効] を選択します。
- S3 バックアップ: [無効] を選択します。
- 再試行とロギングの設定はデフォルトのままにします。
- [配信ストリームを作成] をクリックします。(例:
cwlogs-to-secops
)
IAM 権限を構成してロググループをサブスクライブする
- AWS コンソールで、[IAM] > [ポリシー] > [ポリシーの作成] > [JSON] タブに移動します。
次のポリシーを入力します。
{ "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 に置き換えます。
ポリシーに
CWLtoFirehoseWrite
という名前を付けて、[ポリシーを作成] をクリックします。[IAM]> [ロール] に移動します。
[Create role] をクリックします。
[カスタム信頼ポリシー] を選択して、次のように入力します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.<your-region>.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
ポリシー
CWLtoFirehoseWrite
をロールにアタッチします。ロールに「
CWLtoFirehoseRole
」という名前を付けて、[ロールを作成] をクリックします。[CloudWatch] > [ログ] > [ロググループ] に移動します。
先ほど有効にした Transit Gateway のロググループを選択します。
[サブスクリプション フィルタ] タブを開き、[作成] をクリックします。
[Amazon Kinesis Data Firehose サブスクリプション フィルタを作成] を選択します。
以下の構成を行います。
- 送信先: 配信ストリーム
cwlogs-to-secops
。 - 権限を付与する: ロール
CWLtoFirehoseRole
。 - フィルタ名: 「
all-events
」と入力します。 - フィルタ パターン: すべてのイベントを送信する場合は、空白のままにします。
- 送信先: 配信ストリーム
[ストリーミングを開始] をクリックします。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。