Microsoft Defender for Cloud Apps に AWS Security Hub の結果を取り込んでみた

2023.02.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

前回の記事では Microsoft 365 Defender に AWS アカウントを接続し、アクティビティログなどいくつかの監査情報を確認しました。

本日は AWS 上で Security Hub を有効化し、その推奨事項を取り込むという本来の目的が出来るのかを確認してみたいと思います。
以下の公式ドキュメントでいう「AWS のセキュリティ構成を接続」ですね。

Microsoft 365 Defender 上はセキュリティ構成に関する機能が見当たらない

まずはじめに、Microsoft 365 Defender 上はどうやらセキュリティ構成に関する機能が無いようです。
先程の公式ドキュメントは Microsoft Defender for Cloud Apps の手順になりますが、現在 Microsoft Defender for Cloud Apps は Microsoft 365 Defender への統合が進んでいます。

そして Microsoft Defender for Cloud Apps の旧機能が、Microsoft 365 Defender 上のどこに位置するかは次のドキュメントで整理されています。

こちらを見るとセキュリティ構成については Microsoft 365 Defender ではなく Defender for Cloud で使えるとのこと。Microsoft Defender for Cloud は前回少し触れましたが Azure で利用出来る CSPM サービスですね。

ただ、Microsoft Defender for Cloud (Azure のほう) は Security Hub の推奨事項取り込みは無さそうに見受けられました。
本日時点で Microsoft 365 Defender も Microsoft Defender for Cloud Apps もどちらも利用可能なので、今回は Microsoft Defender for Cloud Apps を使って取り込みをしてみたいと思います。

AWS 側では Security Hub を有効化し IAM ユーザーを作成

Microsoft Defender for Cloud Apps から AWS へのアクセスは、前回と同様に IAM ユーザー経由で行います。
ただし、今回は Security Hub にアクセスするためアタッチするポリシーが異なっています。

それでは Security Hub を有効化し IAM ユーザーを作成します。
ちなみに、今回対象のアカウントは Organizations 内のメンバーアカウントです。メンバーアカウント側で Security Hub を有効化しました。

次のように AWS 基礎セキュリティのベストプラクティス v1.0.0 を有効化しています。
セキュリティスコアは 87%。改善の余地がありますね。

続いて IAM ユーザーを作成します。
ポイントとしてはポリシーに AWSSecurityHubReadOnlyAccess と SecurityAudit のマネージドポリシーをアタッチしています。

AWS アカウントを Microsoft Defender for Cloud Apps へ接続

IAM ユーザーを作成しアクセスキーとシークレットキーを入手出来たら、Microsoft Defender for Cloud Apps 上でアカウント登録を行います。

Investigate の Connected apps メニューから登録を行います。
デフォルトでは App connectors が表示されていると思いますが、これは前回接続を作成した監査向けの接続設定となります。
確認してみると Microsoft 365 Defender 上で前回作成したインスタンスが表示されていることがわかります。

Security configuration apps タブを選択するとセキュリティ構成に関するアプリケーション接続を管理する画面が表示されます。
ここで Connect an app から Amazon Web Services を追加します。
なお、Amazon Web Services 以外で追加出来るのは Google Cloud Platform のみでした。

接続するアプリのインスタンス名を決めます。
既存のインスタンス名を選択することも出来ますが、今回は新しくインスタンスを作成しました。

必要な情報は IAM ユーザーのアクセスキーとシークレットキーのみです。

入力後に検証され、問題なければ接続作業は完了となります。

推奨事項を確認してみる

Security configuration apps 一覧に接続設定を行ったインスタンスが表示されたら対象インスタンスを選択、あるいはサイドメニューの Security configuration から推奨事項を確認するためのページへ遷移することが出来ます。

しかし、確認してみても推奨事項が何もない状態でした。
これは・・・。

AWS 側で CloudTrail から対象 IAM ユーザーの操作履歴を確認してみると、次のように GetFindings 操作が実行されていました。
ユーザーエージェントから AWS SDK for .NET から実行されているあたりはさすがと思いましたが、ここでは以下のハイライト部分に注目してください。

{
:
    "eventTime": "2023-02-15T21:58:08Z",
    "eventSource": "securityhub.amazonaws.com",
    "eventName": "GetFindings",
    "awsRegion": "ap-northeast-1",
    "sourceIPAddress": "52.176.148.227",
    "userAgent": "aws-sdk-dotnet-coreclr/3.7.1.3 aws-sdk-dotnet-core/3.7.0.17 .NET_Core/3.1.31 OS/Microsoft_Windows_10.0.14393 ClientAsync",
    "requestParameters": {
        "Filters": {
            "CompanyName": [
                {
                    "Comparison": "EQUALS",
                    "Value": "AWS"
                }
            ],
            "ComplianceStatus": [
                {
                    "Comparison": "EQUALS",
                    "Value": "FAILED"
                }
            ],
            "GeneratorId": [
                {
                    "Comparison": "PREFIX",
                    "Value": "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0"
                }
            ],
            "ProductName": [
                {
                    "Comparison": "EQUALS",
                    "Value": "Security Hub"
                }
            ],
            "RecordState": [
                {
                    "Comparison": "EQUALS",
                    "Value": "ACTIVE"
                }
            ]
        },
        "MaxResults": 100
    },
:
}

そうなのです、どうやら取得時にcis-aws-foundations-benchmark/v/1.2.0でフィルリングしてしまっているようです。
なんでだろうと思ってドキュメントを見てみると確かに以下のように記述がありました。

AWS のセキュリティ構成を接続すると、AWS の Center for Internet Security (CIS) ベンチマークに基づいたセキュリティに関する基本的な推奨事項の分析情報が提供されます。

アマゾン ウェブ サービスを接続する - Microsoft Defender for Cloud Apps | Microsoft Learn より引用

そこで、試しに AWS 側で CIS AWS Foundations Benchmark v1.2.0 を有効化してみると、次のように推奨事項が連携されるようになりました。

設定画面やドキュメントを一通り確認してみましたが、AWS Foundational Security Best Practices を指定するなど、対象ルールセットを変更する方法は無さそうです。残念。

そもそも非推奨

また、そもそもなのですが Microsoft Defender for Cloud Apps は Microsoft 365 Defender への移行が進んでおり、画面上も以下のようなアラートが表示されています。

Dear users, Cloud Security Posture Management (aka CSPM) is now supported on Microsoft Defender for Cloud (link to Microsoft Defender for Cloud, link to a dedicated blog post for additional information). Note that once Microsoft Defender for Cloud Apps fully converges with the M365 Defender portal (planned for CY23), CSPM will only be available in the new Microsoft Defender for Cloud page.

いずれ Microsoft 365 Defender に完全に統合され、CSPM については Microsoft Defender for Cloud でのみ利用出来るようになるようです。
このことから、よほどの事情がない限りはこの古い接続方式は使わずに CSPM については Microsoft Defender for Cloud の利用を検討したほうが良いでしょう。

さいごに

本日は Microsoft Defender for Cloud Apps に AWS Security Hub が作成した推奨事項を取り込んでみました。

たしかに AWS Security Hub の推奨事項を取り込むことが出来ました。
しかし、CIS v1.2 に限定されたり、今後は Microsoft Defender for Cloud が推奨されている点を鑑みると新規で利用し始めるものではなさそうです。

結果は取り込みたいがチェックロジックは Security Hub に任せたいというケースはありそうなので、なにか良いソリューションを探したいところです。