AWS S3サーバーアクセスログ インテグレーションガイド🔗
以下の手順は、AWS S3サーバーアクセスログのインテグレーションを設定し、Secureworks® Taegis™ XDRへのログ取り込みを実現するためのものです。
注意
以下の作業は、AWS S3サーバーアクセスログバケットと同じAWSリージョンで実施してください。
通常、S3バケット、CloudFormationテンプレート、およびLambdaは、同じアカウントおよびリージョン内でデプロイする必要があります。CloudTrailインスタンスを別のアカウントで設定し、クロスアカウントS3バケットにログを出力することも可能です。詳細については、複数アカウントからCloudTrailログファイルを受信する を参照してください。
インテグレーションから提供されるデータ🔗
| 正規化されたデータ | 汎用的な検知 | ベンダー固有の検知 | |
|---|---|---|---|
| Amazon S3サーバーアクセスログ | HTTP | HTTP |
注意
XDR検知機は、データソースのログが特定の検知機に関連付けられたスキーマへ正規化されていても、必ずしもトリガーされるとは限りません。ただし、カスタム検出ルールを作成することで、データソースから正規化されたデータに基づいて検知を生成することができます。
AWS S3サーバーアクセスログのセットアップ🔗
注意
XDRへのログイン権限がない場合は、権限を持つ方にアクセスが必要な手順を手伝ってもらってください。また、Secureworks®の担当者に支援を依頼することもできます。
- Taegis Menuから インテグレーション → クラウドAPI を選択します。
-
ページ上部の インテグレーションの追加 を選択します。

インテグレーションの追加 -
最適化されたタブから AWS を選択し、AWS Cloudtrailの下にある セットアップ を選択します。

AWS CloudTrailインテグレーションのセットアップ -
次へ を選択します。
- Taegisインテグレーション名 を入力します。これはインテグレーションの一意の名前として機能し、有効な値を100文字まで含めることができます。
-
完了 を選択します。CloudFormationテンプレートが自動的に
taegis-cloudformation-lambda-template.yamlとしてダウンロードされます。ヒント
Cloudtrailログを1つのアカウントに集約してデプロイを簡素化できます。詳細はAWS CloudTrailユーザーガイドの複数アカウントからCloudTrailログファイルを受信する を参照してください。
ヒント
Cloudtrailログを1つのリージョンに集約してデプロイを簡素化できます。詳細はAWS CloudTrailユーザーガイドの複数リージョンからCloudTrailログファイルを受信する を参照してください。
CloudFormationテンプレートをS3にアップロードする(任意)🔗
-
対象リージョンのAWSコンソール(例:https://us-east-1.console.aws.amazon.com/cloudformation)に、ロール、Lambda、シークレット、ポリシーの作成権限を持つアカウント、またはこれらの権限を持つロールを引き受けられるロールでログインします。
-
ストレージセクションで、S3を選択します。
-
新しいバケットを作成するか、CloudFormationテンプレートを保存する既存のバケットを探します。バケットはパブリック、バージョン管理、暗号化されている必要はありません。
-
taegis-cloudformation-lambda-template.yamlを同じバケットにアップロードします。ヒント
バケット名とキー(プレフィックスを含む)を控えておいてください。これらの識別子はスタック作成時に必要となります。
Lambdaスタックの作成🔗
- ロール、lambda、シークレット、およびポリシーを作成する権限を持つアカウント、またはこれらの権限を持つ別のロールを引き受けることができるロールを使用して、リージョン用の AWS Console(例: https://us-east-1.console.aws.amazon.com/cloudformation)にログインします。
- Management and Governance セクションで、CloudFormation を選択します。
-
Create Stack をクリックします。
-
Prerequisite - Prepare Template セクションで、Choose an existing template をクリックします。
-
Specify Template セクションで、Upload a template file > Choose file をクリックします。
注意
テンプレートを S3 バケットにアップロードした 場合は、代わりに S3 URL を指定できます。
-
Next をクリックします。
-
適切なスタック名を入力します。
注意
スタック名にはスペースを使用できません。
-
IntegrationTypeドロップダウンを選択します。これは、NotificationBucketにどの種類のログオブジェクトがあるかを示します。複数の種類がある場合、または不明な場合は、genericを選択します。
Lambda スタックのインテグレーションタイプの更新 -
NotificationBucketには、ログが格納されているバケット名を入力します。URL や URI ではありません。 - (任意)今後 S3 通知の代わりに SNS 通知を使用する場合は、
SNSNotificationarnフィールドに適切な値を入力します。 - 残りのフィールドはデフォルトのままにします。
- Next をクリックします。
- 確認文 I acknowledge that AWS CloudFormation might create IAM resources を承認します。
- Next をクリックします。
- すべてのパラメーターを確認し、Submit をクリックします。
- 少なくとも 30 秒待ってから Refresh をクリックします。処理の完了には 1 分以上かかる場合があります。スタックのステータスが CREATE_COMPLETE になれば、処理は完了しています。
Lambdaトリガーの追加🔗
-
AWSコンソールで、Lambdaサービスに切り替えます。
-
名前で新しいLambdaを探します。デフォルト名は{STACKNAME}-scwx-tdr-lambda-{INTEGRATIONTYPE}です。例:
ct-demo-scwx-tdr-lambda-awscloudtrail。 -
Lambda名を選択します。そのLambdaの編集ページが表示されます。
-
Function overviewセクションを展開し、Add Triggerを選択します。
-
Trigger Configurationエディターで、ドロップダウンメニューからS3を選択します。オプションで、事前に作成したトピックで設定されたSNSトリガーを使用することもできます。
-
Bucketオプションから、ログが格納されているバケットを見つけて選択します。
-
Event Typeオプションから、All Object Create Eventsを選択します。
-
プレフィックスフィールドに、ログが格納されているバケットのプレフィックスを入力します。プレフィックスを使用しない場合は空欄のままにします。
-
サフィックスフィールドは空欄のままにします。
-
Lambda関数のコスト影響を認識するためのチェックボックスをオンにします。
-
Addを選択します。そのLambdaの設定ページが再度表示されます。トリガーの追加が成功したことを示すメッセージが上部に表示されます。例:
The trigger wmikeking was successfully added to function Logs-TDR-Upload. The function is now receiving events from the trigger.重要
AWS Lambdaの同時実行ガイダンス🔗
Taegis XDR CloudFormationテンプレート(
taegis-cloudformation-lambda-template.yaml)で設定されているReserved Concurrency値は5です。Lambdaの同時実行や、お客様の環境に適した値の計算方法については、AWSドキュメントのLambda function scalingを参照してください。同時実行数の計算に使用する値については、以下のAWSドキュメントを参照してください。
AWS同時実行制限🔗
Lambda実行時に以下のエラーが表示された場合:

AWS Concurrent Execution Limit 同時実行制限を引き上げるために、AWSにクォータ増加をリクエストする必要があります。詳細はAWSドキュメントのLambda quotasを参照してください。
詳細検索でイベントフローを検証🔗
データレイク検索 を利用して、特定のインテグレーションからのイベントを検索し、セットアップが成功したかどうかを検証できます。このインテグレーションの場合、以下の検索を使用してください。
FROM http WHERE sensor_type = 'Amazon S3 server access log'
