

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Microsoft Sentinel に AWS セキュリティログを取り込んで分析する
<a name="ingest-analyze-aws-security-logs-sentinel"></a>

*Amazon Web Services、Ivan Girardi および Sebastian Wenzel*

## 概要
<a name="ingest-analyze-aws-security-logs-sentinel-summary"></a>

このパターンでは、ログ、Amazon CloudWatch Logs データ、Amazon VPC Flow Logs データ、Amazon GuardDuty の検出結果などの AWS セキュリティ AWS CloudTrail ログの Microsoft Sentinel への取り込みを自動化する方法について説明します。組織で Microsoft Sentinel をセキュリティ情報とイベント管理 (SIEM) システムとして使用している場合は、これによってログを一元的にモニタリングおよび分析し、セキュリティ関連のイベントを検出できるようになります。ログが利用可能になると、5 分以内に Amazon Simple Storage Service (Amazon S3) バケットに自動的に配信されます。これにより、 AWS 環境内のセキュリティイベントをすばやく検出できます。

Microsoft Sentinel は、イベントが記録されたときの元のタイムスタンプを含む表形式で CloudTrail ログを取り込みます。取り込まれたログの構造により、Microsoft Sentinel の [Kusto クエリ言語](https://learn.microsoft.com/en-us/azure/sentinel/kusto-overview)を使用したクエリ機能が有効になります。

このパターンは、1 分以内に取り込みの失敗を検出するモニタリングおよびアラートソリューションをデプロイします。また、外部 SIEM がモニタリングできる通知システムも含まれています。を使用して AWS CloudFormation 、必要なリソースをログ記録アカウントにデプロイします。

**ターゲットオーディエンス**

このパターンは AWS Control Tower、、CloudFormation AWS Organizations、 AWS Identity and Access Management (IAM)、および AWS Key Management Service () の経験があるユーザーに推奨されますAWS KMS。

## 前提条件と制限
<a name="ingest-analyze-aws-security-logs-sentinel-prereqs"></a>

**前提条件**

このソリューションをデプロイするための前提条件は次のとおりです。
+ で組織として AWS アカウント 管理 AWS Organizations され、 AWS Control Tower ランディングゾーンの一部であるアクティブ。組織には、ログ記録専用のアカウントを含める必要があります。手順については、 AWS Organizations ドキュメント[の「組織の作成と設定](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tutorials_basic.html)」を参照してください。
+ 組織全体のイベントをログに記録し、ログアカウントの Amazon S3 バケットにログを保存する CloudTrail 証跡。詳細については、「[組織の証跡の作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html)」を参照してください。
+ ログアカウントで、次のアクセス許可を持つ、既存の IAM ロールを引き受けるアクセス許可。
  + 提供された CloudFormation テンプレートで定義されたリソースをデプロイします。
  + 提供された CloudFormation テンプレートをデプロイします。
  + ログがカスタマーマネージド AWS KMS キーで暗号化されている場合は、キーポリシーを変更します。
+ AWS Command Line Interface (AWS CLI)、[インストール](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)および[設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)済み。
+ Microsoft Sentinel を使用するためのサブスクリプションを備えた Microsoft Azure アカウント。
+ Microsoft Sentinel を有効にしてセットアップします。手順については、Microsoft Sentinel ドキュメントの「[Enable Microsoft Sentinel and initial features and content](https://learn.microsoft.com/en-us/azure/sentinel/enable-sentinel-features-content)」を参照してください。
+ Microsoft Sentinel S3 コネクタをセットアップするための前提条件を満たします。

**制限事項**
+ このソリューションは、ログアカウントの Amazon S3 バケットから Microsoft Sentinel にセキュリティログを転送します。Amazon S3 にログを送信する方法の説明は明示的に提供されていません。
+ このパターンでは、 AWS Control Tower ランディングゾーンにデプロイする手順を示します。ただし、 AWS Control Tower の使用は必須ではありません。
+ このソリューションは、ログアーカイブで作成された Amazon S3 バケットのバケット[ポリシーへの変更を禁止するなど、Amazon S3 ログ記録バケットがサービスコントロールポリシー (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) で制限されている環境と互換性があります。 [AWS Control Tower Amazon S3 ](https://docs.aws.amazon.com/controltower/latest/controlreference/mandatory-controls.html#disallow-policy-changes-s3-buckets-created)
+ このパターンでは、CloudTrail ログを転送するための手順が示されていますが、このソリューションを調整して、CloudWatch Logs、Amazon VPC フローログ、GuardDuty からのログなど、Microsoft Sentinel がサポートする他のログを送信することもできます。
+ 手順では、 AWS CLI を使用して CloudFormation テンプレートをデプロイしますが、 を使用することもできます AWS マネジメントコンソール。手順については、「 [AWS CloudFormation コンソールの使用](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console.html)」を参照してください。コンソールを使用してスタックをデプロイする場合は、ログ記録バケット AWS リージョン と同じ にスタックをデプロイします。
+ このソリューションは、Amazon S3 通知を配信するために Amazon Simple Queue Service (Amazon SQS) キューをデプロイします。キューには、実際のデータではなく、Amazon S3 バケットにアップロードされたオブジェクトのパスを含むメッセージが含まれます。キューでは、メッセージの内容の保護に役立つ SSE-SQS 暗号化を使用します。SQS キューを SSE-KMS で暗号化する場合は、カスタマーマネージド KMS キーを使用できます。詳細については、「[Amazon SQS での保管中の暗号化](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html)」を参照してください。

## アーキテクチャ
<a name="ingest-analyze-aws-security-logs-sentinel-architecture"></a>

このセクションでは、サンプルコードによって確立されるアーキテクチャの概要を説明します。次の図は、既存の Amazon S3 バケットから Microsoft Sentinel にログを取り込むために、ログアカウントにデプロイされたリソースを示しています。

![\[Amazon SNS キューを使用して S3 バケットからログを取り込む Microsoft Sentinel\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/e8438b44-6bce-4863-8657-1d0a843ffb6f/images/38108d9d-88ad-4306-8ad2-01b66a6bf00f.png)


アーキテクチャ図には、次のリソースインタラクションが示されています。

1. ログアカウントでは、Microsoft Sentinel は OpenID Connect (OIDC) を通じて IAM ロールを引き受け、特定の Amazon S3 バケットと Amazon SQS キュー内のログにアクセスします。

1. Amazon Simple Notification Service (Amazon SNS) と Amazon S3 は暗号化 AWS KMS に使用します。

1. Amazon S3 は、新しいログを受信するたびに Amazon SQS キューに通知メッセージを送信します。

1. Microsoft Sentinel は Amazon SQS で新しいメッセージをチェックします。Amazon SQS キューは、SSE-SQS 暗号化を使用します。メッセージの保持期間は 14 日間に設定されています。

1. Microsoft Sentinel は Amazon SQS キューからメッセージを取得します。メッセージには、アップロードされた Amazon S3 オブジェクトのパスが含まれます。Microsoft Sentinel は、これらのオブジェクトを Amazon S3 バケットから Microsoft Azure アカウントに取り込みます。

1. CloudWatch アラームは、Amazon SQS キューをモニタリングします。メッセージが 5 分以内に受信されず、Amazon SQS キューから削除されない場合、E メールを送信する Amazon SNS 通知が開始されます。

AWS Control Tower は、基盤組織単位 (OU) 構造をセットアップし、CloudTrail ログをログ記録アカウントに集中させるのに役立ちます。また、ログ記録バケットを保護するために必須の SCP も実装します。

ラン AWS Control Tower ディングゾーンにターゲットアーキテクチャを提供していますが、これは厳密に必須ではありません。この図では、管理アカウントのリソースには、組織全体のイベントをログに記録する AWS Control Tower デプロイと CloudTrail 証跡が反映されています。

このパターンは、ログアカウントにリソースをデプロイすることに焦点を当てています。 AWS Control Tower ランディングゾーンの Amazon S3 に保存されているログがカスタマーマネージド KMS キーで暗号化されている場合は、Microsoft Sentinel がログを復号できるようにキーポリシーを更新する必要があります。 AWS Control Tower ランディングゾーンでは、キーが作成された管理アカウントからキーポリシーを管理します。

## ツール
<a name="ingest-analyze-aws-security-logs-sentinel-tools"></a>

**AWS のサービス**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) は、 AWS リソースをセットアップし、迅速かつ一貫してプロビジョニングし、 AWS アカウント および リージョン全体のライフサイクルを通じてリソースを管理するのに役立ちます。
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) は、 AWS リソースと で実行しているアプリケーションのメトリクスを AWS リアルタイムでモニタリングするのに役立ちます。
+ [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) は、ベストプラクティスに従って AWS 、マルチアカウント環境をセットアップして管理するのに役立ちます。
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) は、データの保護に役立つ暗号化キーの作成と制御に役立ちます。
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) は、作成して一元管理する AWS アカウント 組織に複数の を統合するのに役立つアカウント管理サービスです。
+ 「[Amazon Simple Queue Service (Amazon SQS)](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html)」は、安全で耐久性があり、配信ソフトウェアシステムとコンポーネントを統合および分離できる利用可能なホスト型キューを提供します。
+ 「[Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 」は、どのようなデータの量であっても、保存、保護、取得することを支援するクラウドベースのオブジェクトストレージサービスです。

**その他のツール**
+ [Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview) は、Security Orchestration, Automation, and Response (SOAR) を提供するクラウドネイティブの SIEM システムです。

**コードリポジトリ**

このパターンのコードはGitHub [Ingest and analyze AWS security logs in Microsoft Sentinel repository ](https://github.com/aws-samples/ingest-and-analyze-aws-security-logs-in-microsoft-sentinel)で入手できます。

## ベストプラクティス
<a name="ingest-analyze-aws-security-logs-sentinel-best-practices"></a>
+ [最小特権の原則](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) (IAM ドキュメント) に従ってください。
+ [AWS Control Tower 管理者向けのベストプラクティス](https://docs.aws.amazon.com/controltower/latest/userguide/best-practices.html) (AWS Control Tower ドキュメント) に従ってください。
+ 「[AWS CloudFormation ベストプラクティス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html)」(CloudFormation ドキュメント) に従ってください。
+ [cfn\$1nag](https://github.com/stelligent/cfn_nag) などのコード分析ツールを使用して、生成された CloudFormation テンプレートをスキャンします。cfn\$1nag ツールは、パターンを検索して CloudFormation テンプレートの潜在的なセキュリティ問題を識別します。

## エピック
<a name="ingest-analyze-aws-security-logs-sentinel-epics"></a>

### Microsoft Sentinel を Amazon S3 に接続する
<a name="connect-microsoft-sentinel-to-s3"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Microsoft Sentinel S3 コネクタを準備します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/ingest-analyze-aws-security-logs-sentinel.html) | DevOps エンジニア、AWS 全般 | 

### CloudFormation スタックをデプロイする
<a name="deploy-the-cfnshort-stack"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| リポジトリのクローン作成 | bash シェルで、次のコマンドを入力します。これにより、[Microsoft Sentinel リポジトリで AWS セキュリティログの取り込みと分析が](https://github.com/aws-samples/ingest-and-analyze-aws-security-logs-in-microsoft-sentinel)クローンされます。`git clone https://github.com/aws-samples/ingest-and-analyze-aws-security-logs-in-microsoft-sentinel.git` | DevOps エンジニア、AWS 全般 | 
| ログアカウントで IAM ロールを引き受けます。 | ログアカウントで、CloudFormation スタックをデプロイするアクセス許可を持つ IAM ロールを引き受けます。で IAM ロールを引き受ける方法の詳細については AWS CLI、『』の[「IAM ロールを使用する AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)」を参照してください。 | DevOps エンジニア、AWS 全般 | 
|  スタックをデプロイします。 | CloudFormation スタックをデプロイするには、次のコマンドを実行します。ここで、[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/ingest-analyze-aws-security-logs-sentinel.html)<pre>aws cloudformation deploy --stack-name cloudtrail-sentinel-integration \<br />    --no-fail-on-empty-changeset \<br />    --template-file template.yml \<br />    --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \<br />    --parameter-overrides \<br />    ControlTowerS3BucketName="<Bucket name>" \<br />    AzureWorkspaceID="<Sentinel external ID>" \<br />    EmailAddress="<Email address>" \<br />    KMSKeyArn="<Customer managed key ARN>" \<br />    Suffix="<Suffix to avoid name conflicts>" \<br />    OIDCProviderArn="<ARN for the OIDC provider>"</pre> | DevOps エンジニア、AWS 全般 | 
| 出力をコピーします。 | CloudFormation スタックの出力から、`SentinelRoleArn` と `SentinelSQS` の値をコピーします。これらの値は、後ほど Microsoft Sentinel での設定を完了するために使用します。 | DevOps エンジニア、AWS 全般 | 
| キーポリシーを変更します。 | カスタマーマネージド KMS キーを使用して Amazon S3 バケットのログを暗号化しない場合は、このステップをスキップできます。ログがカスタマーマネージド KMS キーで暗号化されている場合は、キーポリシーを変更して、ログを復号するアクセス許可を Microsoft Sentinel に付与します。以下は、キーポリシーの例です。このポリシー例では、KMS キーが別の にある場合、クロスアカウントアクセスを許可します AWS アカウント。<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Id": "key-policy",<br />    "Statement": [<br />        ...<br />        {<br />            "Sid": "Grant access to decrypt",<br />            "Effect": "Allow",<br />            "Principal": {<br />                "AWS": "<SentinelRoleArn>"<br />            },<br />            "Action": "kms:Decrypt",<br />            "Resource": "<KeyArn>"<br />        }<br />    ]<br />}</pre> | DevOps エンジニア、AWS 全般 | 

### Microsoft Sentinel でコネクタを設定する
<a name="configure-the-connector-in-microsoft-sentinel"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Microsoft Sentinel で設定を完了します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/ingest-analyze-aws-security-logs-sentinel.html) | DevOps エンジニア | 
| Amazon S3 イベント通知を Amazon SQS に送信します。 | 「[Amazon S3 コンソールを使用したイベント通知の有効化と構成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications.html)」の手順に従って、Amazon S3 ログ記録バケットを設定し、イベント通知を Amazon SQS キューに送信します。CloudTrail が組織全体に設定されている場合、このバケット内のログにはプレフィックス `<OrgID>/AWSLogs/<OrgID>/` が付きます。ここで `<OrgID>` は組織 ID です。詳細については、「[組織に関する詳細の表示](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_details.html)」を参照してください。 | DevOps エンジニア、AWS 全般 | 
| ログが取り込まれていることを確認します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/ingest-analyze-aws-security-logs-sentinel.html) | DevOps エンジニア | 

### ソリューションを検証する
<a name="validate-the-solution"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| CloudWatch ログと Sentinel ログを比較します。 | のデフォルト設定では AWS Control Tower、CloudTrail ログは Amazon CloudWatch に送信され、 AWS Control Tower 管理アカウントに保存されます。詳細については、[「ログインとモニタリング AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/logging-and-monitoring.html)」を参照してください。次のステップを使用して、ログが Microsoft Sentinel に自動的に取り込まれることを確認します。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/ingest-analyze-aws-security-logs-sentinel.html) | DevOps エンジニア、AWS 全般 | 

## 関連リソース
<a name="ingest-analyze-aws-security-logs-sentinel-resources"></a>

**AWS ドキュメントとリソース**
+ [AWS CLI コマンドリファレンス](https://docs.aws.amazon.com/cli/latest/) (AWS CLI ドキュメント)
+ [オプションで を設定する AWS KMS keys](https://docs.aws.amazon.com/controltower/latest/userguide/configure-kms-keys.html) (AWS Control Tower ドキュメント)
+ [Amazon SQS での保管中の暗号化](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) (Amazon SQS ドキュメント)
+ [How do I keep mailing list recipients from unsubscribing everyone on the list from my Amazon SNS topic emails?](https://repost.aws/knowledge-center/prevent-unsubscribe-all-sns-topic) (AWS ナレッジセンター)

**Microsoft ドキュメント**
+ [Microsoft Sentinel を Amazon Web Services に接続して AWS サービスログデータを取り込む](https://learn.microsoft.com/en-us/azure/sentinel/connect-aws?tabs=s3)
+ [Microsoft Sentinel の Kusto クエリ言語](https://learn.microsoft.com/en-us/azure/sentinel/kusto-overview)