Microsoft Defender for CloudでAWSのセキュリティチェックをやってみる(2023年5月版)

Microsoft Defender for Cloud で AWS Organizations 配下の AWS アカウントを対象としたセキュリティチェックを試してみました。合わせて、新しくプレビューとして追加された機密データの検出機能も試してみました。
2023.05.27

2022 年 12 月にも Microsoft Defender for Cloud の CSPM (Cloud Security Posture Management) 機能により AWS アカウントのセキュリティチェックを試すブログを書いていました。そのときと比べて設定内容が少し変わっており、新しくプレビューとして機密データを検出する「Sensitive data discovery (preview)」機能が追加されていたため改めて試してみました。

機密データを検出する機能は次のドキュメントに記載があります。

Enable data-aware security posture for Azure datastores - Microsoft Defender for Cloud | Microsoft Learn


参考までに前回(2022 年 12 月時点)のブログです。

試してみた

AWS アカウントのセキュリティチェックを追加する手順は次のドキュメントに記載されています。

AWS アカウントを Microsoft Defender for Cloud に接続する | Microsoft Learn

AWS Organizations (組織) 単位で追加する方法と AWS アカウントを単独で追加する方法があります。組織を追加する場合に、対象外とする AWS アカウントを個別に指定することもできます。

今回の設定では、組織単位で CSPM 機能の有効化を試します。 CSPM 以外には、EC2 インスタンスや Amazon EKS、AWS EC2、AWS RDS Custom for SQL Server で実行される SQL Server の脅威検出や防御機能を提供する Cloud Workload Protection (CWP)​ 機能があります。


AWS Organizations 単位の追加設定

始めは Azure から設定します。

Microsoft Defender for Cloud の環境設定メニューの環境を追加からアマゾン ウェブ サービスを選択します。

AWS Organizations (組織) 単位で追加する場合は Onboard においてManagement accountを選択します。AWS Region はすべてのリージョンとしてみました。AWS account Id に設定する ID は、AWS Organizations の管理アカウントの ID です。今回は設定しませんが、Excluded accounts において除外するアカウントを設定できます。

次に、利用する機能を設定します。

Defender CSPM の Settings で新しくプレビューとして追加されたSensitive data discovery (preview)がデフォルトで On になっていることを確認できます。

今回は CWP 機能は設定しないため、すべて Off にしています。

次は、AWS 側の設定方法の提示と設定内容の入力画面となります。

AWS 側で設定する CloudFormation テンプレートをダウンロードします。

ここから、AWS 側の設定に移ります。

AWS Organizations の管理アカウントからスタックと StackSets を設定します(StackSets を委任している場合は管理アカウントとは限りません)。スタックで管理アカウントを設定し、SlackSets で管理アカウント以外のアカウントを設定します。

まずはスタックから設定します。新しいリソースを使用 (標準)を選択します。

ステップ 1 では、Microsoft Defender でダウンロードしたテンプレートをアップロードします。

ステップ 2 では、スタックの名前を入力し、他はデフォルトのパラメータ設定を採用しました。パラメータを変更することもできそうできたが、その場合は Microsoft Defender 側の設定内容も変更する必要があります。

ステップ 3 のオプションは今回はデフォルトのまま進むことにします。

ステップ 4 では、内容を確認した後に IAM リソースが作成されることを承認して送信を選択します。

スタックがCREATE_COMPLITEであることを確認できれば、AWS 側の設定は終了です。IAM ID プロバイダーと IAM ロールが作成されています(Microsoft Defender 側で有効化した機能により作成されるリソースは異なります)。

次に、StackSets の設定です。

StackSets の作成から設定します。

ステップ 1 では、スタック同様に Microsoft Defender でダウンロードしたテンプレートをアップロードします。

ステップ 2 では、StackSet 名を入力し、パラメータは管理アカウント向けに展開したスタックと同じ値としています。なお、StackSet 名は Microsoft Defender 側の設定に必要となります。

ステップ 3 のオプション設定は今回はデフォルトのまま進めます。

ステップ 4 では、デプロイターゲットと自動デプロイオプション、リージョンの指定などを設定します。リージョンの設定では、StackSets で作成されるリソースが IAM (グローバルリソース) サービスのみだったため、東京リージョンのみを指定しています。

ステップ 5 では、内容を確認した後に IAM リソースが作成されることを承認して送信を選択します。

オペレーションがSUCCEEDEDであることを確認できれば完了です。

Microsoft Defender 側の設定に戻ります。

AWS の StackSet 名を入力します。Role ARN はスタック、および、StackSets のパラメータを変更していない場合はデフォルトの入力内容のままで問題ありませんでした。

最後に、設定内容を確認して作成すれば完了です。

以上で、設定は終わりです。


設定後の確認

時間をおいて Microsoft Defender の環境設定画面を確認したところ、AWS Organizations 配下の全ての AWS アカウント(4 個)が追加されていました。モザイク部分は AWS アカウントの ID です。Connectivity status がConnectedであることが確認できます。

AWS アカウントをチェックするセキュリティ標準を選択できます。デフォルトではAWS Foundational Security Best PracticesMicrosoft cloud security benchmarkが有効になっています。また、2022 年 12 月時点と比べて、AWS CIS 1.5.0AWS NIST SP 800 53 R5 (preview)が追加されています。

Data sencitivity の設定では、検出する情報の種類を選択できます。設定のカスタマイズについては次のドキュメントに記載があります。

Customize data sensitivity settings in Microsoft Defender for Cloud | Microsoft Learn

Other カテゴリには日本に特化したタイプもいくつかありました。口座番号、パスポート番号、マイナンバーなどです。

セキュリティ態勢画面ではセキュリティスコアを確認できます。

試しに 1 つのチェック項目を確認してみます。Microsoft Defender の設定ではデフォルトでは無効化されているリージョンも含めてすべてのリージョン(27 リージョン)を診断する設定としていましたが、チェックする際は有効化しているリージョン(17 リージョン)を対象に評価してくれているようです。

次に、AWS において公開設定の S3 バケットにテスト用クレジットカード番号を記載したテキストファイルを格納してみたところ、検出されました。test.xlsxファイルにクレジットカード情報が存在していることが分かります。

検出結果は次のドキュメントに記載の通り、セキュリティグラフから確認できます。

Explore risks to sensitive data in Microsoft Defender for Cloud | Microsoft Learn

「S3」などで検索してパブリック アクセスを許可する機密データが含まれている、インターネットに公開された S3 バケットを選択すれば検索クエリを作成してくれます。

以上で、設定後の確認は終わりです。


(参考)単独の AWS アカウントの追加設定

今回は設定しませんでしたが、単独の AWS アカウントを追加する場合は、Microsoft Defender の設定は次のようになります。Onboard ではSingle accountを選択します。

AWS 側で展開する CloudFormation テンプレートはセキュリティチェックしたい AWS アカウントで展開する流れとなります。

さいごに

2022 年 12 月にブログ化したときと比べて、Microsoft Defender for Cloud における AWS アカウントの設定画面が新しくなっていたため改めて試してみました。機密データを検出する機能もプレビューとして追加されていました。

AWS Organizations 単位の設定は StackSets で実現するため、AWS Organizations に AWS アカウントが追加される度に追加の作業が必要ない点が気に入っています。

以上、このブログがどなかのご参考になれば幸いです。