Security Hub CSPM の AWS Config の有効化と設定
AWS Security Hub CSPM は、AWS Config ルールを使用してセキュリティチェックを実行し、ほとんどのコントロールの検出結果を生成します。AWS Config は、AWS アカウント 内の AWS リソースの設定の詳細なビューを提供します。これは、ルールを使用してリソースのベースライン設定を確立し、設定レコーダーを使用して、特定のリソースがルールの条件に違反しているかどうかを検出します。
AWS Config マネージドルールと呼ばれる一部のルールは、AWS Config によって事前定義および開発されています。その他のルールは、Security Hub CSPM が作成するカスタム AWS Config ルールです。Security Hub CSPM がコントロールに使用する AWS Config ルールは、サービスにリンクされたルールと呼ばれます。サービスにリンクされたルールにより、Security Hub CSPM などの AWS のサービス がアカウントに AWS Config ルールを作成できます。
Security Hub CSPM でコントロールの検出結果を受信するには、アカウントで AWS Config を有効にする必要があります。また、有効なコントロールが評価するリソースタイプについて、リソース記録を有効にする必要があります。そうすることで、Security Hub CSPM はコントロールに適切な AWS Config ルールを作成し、セキュリティチェックの実行とコントロールの検出結果の生成を開始できるようになります。
トピック
AWS Config を有効にして設定する前の考慮事項
Security Hub CSPM でコントロールの検出結果を受信するには、Security Hub CSPM が有効になっている各 AWS リージョン のアカウントで AWS Config を有効にする必要があります。マルチアカウント環境で Security Hub CSPM を使用する場合は、管理者アカウントとすべてのメンバーアカウントの各リージョンで AWS Config を有効にする必要があります。
Security Hub CSPM 標準とコントロールを有効にする前に、AWS Config でリソース記録を有効にすることを強く推奨しています。これにより、コントロールの検出結果が正確であることが確認できます。
AWS Config でリソース記録を有効にするには、設定レコーダーにアタッチされている AWS Identity and Access Management (IAM) ロールにリソースを記録する十分なアクセス許可が必要です。さらに、IAM ポリシーまたは AWS Organizations ポリシーによって、AWS Config によるリソースを記録するアクセス許可が妨げられないようにしてください。Security Hub CSPM コントロールは、リソース設定を直接評価し、AWS Organizations ポリシーを考慮しません。AWS Config の記録についての詳細は、「AWS Config デベロッパーガイド」の「Working with the configuration recorder」を参照してください。
Security Hub CSPM で標準を有効にしても AWS Config を有効にしていない場合、Security Hub CSPM は、次のスケジュールに従ってサービスにリンクされた AWS Config ルールを作成しようとします。
-
標準を有効にした当日。
-
標準を有効にした翌日。
-
標準を有効にしてから 3 日後。
-
標準を有効にしてから 7 日後 (その後は 7 日ごとに継続的に)。
中央設定を使用する場合、Security Hub CSPM は、アカウント、組織単位 (OU)、またはルートで 1 つ以上の標準を有効にする設定ポリシーを関連付けるたびにサービスにリンクされた AWS Config ルールを作成しようとします。
AWS Config でのリソースの記録
AWS Config を有効にするときは、AWS Config 設定レコーダーに記録する AWS リソースを指定する必要があります。設定レコーダーは、サービスにリンクされたルールを通じて、Security Hub CSPM がリソース設定の変更を検出できるようにします。
Security Hub CSPM が正確なコントロール検出結果を生成するには、有効化されたコントロールに対応するリソースタイプについて、AWS Config で記録を有効にする必要があります。リソースの記録が必要なのは、主に変更トリガースケジュールタイプの有効化されたコントロールです。定期スケジュールタイプの一部のコントロールでも、リソースの記録が必要です。これらのコントロールとそれに対応するリソースのリストについては、「コントロール検出結果に必要な AWS Config リソース」を参照してください。
警告
Security Hub CSPM コントロールに対し AWS Config 記録を正しく設定しないと、特に次のような場合に、コントロールの検出結果が不正確になる可能性があります。
-
特定のコントロールのリソースを記録したことがない、またはそのタイプのリソースを作成する前にリソースの記録を無効にした。このような場合、記録を無効にした後にコントロールの範囲内でリソースを作成している場合でも、問題のコントロールの
WARNING検出結果が表示されます。このWARNING検出結果は、リソースの設定状態を実際に評価しないデフォルトの検出結果です。 -
特定のコントロールによって評価されるリソースの記録を無効にする。この場合、コントロールが新規または更新されたリソースを評価していない場合でも、Security Hub CSPM は記録を無効にする前に生成されたコントロール検出結果を保持します。Security Hub CSPM は、検出結果のコンプライアンスステータスも
WARNINGに変更します。これらの保持された検出結果は、リソースの現在の設定状態を正確に反映していない可能性があります。
デフォルトでは、AWS Config は、実行されている AWS リージョン で検出したすべてのサポートされているリージョナルリソースを記録します。すべての Security Hub CSPM コントロールの検出結果を受信するには、グローバルリソースを記録する AWS Config も設定する必要があります。コストを削減するには、グローバルリソースを 1 つのリージョンにのみ記録することを推奨しています。中央設定またはクロスリージョン集約を使用する場合、このリージョンはホームリージョンである必要があります。
AWS Config では、リソース状態の変化を継続的に記録するか毎日記録するかを選択できます。毎日記録することを選択した場合、AWS Config は、リソース状態に変化があった場合、各 24 時間の最後にリソース設定データを配信します。変化がなければ、データは配信されません。そのため、変更によってトリガーされるコントロールに関する Security Hub CSPM の検出結果の生成が 24 時間周期の終了まで遅れる可能性があります。
AWS Config 記録の詳細については、「AWS Config デベロッパーガイド」の「Recording AWS resources」を参照してください。
AWS Config を有効にして設定する方法
次のいずれかの方法で AWS Config を有効化してリソース記録をオンにすることができます。
-
AWS Config コンソール – AWS Config コンソールを使用して、アカウントの AWS Configを有効にできます。手順については、「AWS Config デベロッパーガイド」の「Setting up AWS Config with the console」を参照してください。
-
AWS CLI または SDK – AWS Command Line Interface (AWS CLI) を使用して、アカウントの AWS Config を有効にできます。手順については、「AWS Config デベロッパーガイド」の「Setting up AWS Config with the AWS CLI」を参照してください。AWS Software Development Kit (SDK) は、多くのプログラミング言語でも使用できます。
-
CloudFormation テンプレート – 多くのアカウントで AWS Config を有効にするには、AWS Config を有効にするという名前の AWS CloudFormation テンプレートを使用することをお勧めします。このテンプレートにアクセスする方法については、「AWS CloudFormation ユーザーガイド」の「AWS CloudFormation StackSets サンプルテンプレート」を参照してください。
デフォルトでは、このテンプレートは IAM グローバルリソースの記録を除外します。IAM グローバルリソースの記録は、記録コストを節約するために、1 つの AWS リージョン でのみ有効にしてください。クロスリージョン集約を有効にしている場合、これは Security Hub CSPM ホームリージョンである必要があります。それ以外の場合は、Security Hub CSPM が使用可能で、IAM グローバルリソースの記録をサポートする任意のリージョンでも構いません。ホームリージョンまたはその他の選択したリージョンで、IAM グローバルリソースを含むすべてのリソースを記録する 1 つの StackSet を実行することを推奨します。次に、他のリージョンにある IAM グローバルリソース以外のすべてのリソースを記録する 2 つ目の StackSet を実行します。
-
Github スクリプト – Security Hub CSPM には、リージョン間の複数のアカウントで Security Hub CSPM と AWS Config を有効にする GitHub スクリプト
が用意されています。このスクリプトは、AWS Organizations と統合していない場合、あるいは、組織に属さないメンバーアカウントがある場合などに有用です。
詳細については、「AWS セキュリティブログ」のブログ記事:「Optimize AWS Config for AWS Security Hub CSPM to effectively manage your cloud security posture
Config.1 コントロールについて
Security Hub CSPM では、AWS Config が無効になっている場合、Config.1 コントロールはアカウントで FAILED 検出結果を生成します。また、AWS Config が有効になっていてもリソース記録がオン設定になっていない場合、アカウントに FAILED 検出結果を生成します。
AWS Config が有効でリソース記録が有効になっているが、有効化されたコントロールがチェックするリソースタイプに対してリソース記録が有効になっていない場合、Security Hub CSPM は Config.1 コントロールに対して FAILED 検出結果を生成します。この FAILED 検出結果に加えて、Security Hub CSPM は、有効なコントロールと、コントロールがチェックするリソースのタイプに関する WARNING 検出結果を生成します。例えば、KMS.5 コントロールを有効にしたものの、AWS KMS keys のリソース記録が有効になっていない場合、Security Hub CSPM は Config.1 コントロールに対し FAILED 検出結果を生成します。Security Hub CSPM は、KMS.5 コントロールと KMS キーの WARNING 検出結果も生成します。
Config.1 コントロールの PASSED 検出結果を受信するには、有効なコントロールに対応するすべてのリソースタイプのリソース記録を有効にします。また、組織に必要ないコントロールも無効にします。これにより、セキュリティコントロールチェックで設定ギャップがなくなります。また、誤って設定されたリソースに関する正確な検出結果を確実に受け取れるようにします。
お客様が組織の委任された Security Hub CSPM 管理者である場合は、自分のアカウントとメンバーアカウントに対して AWS Config 記録を正しく設定する必要があります。クロスリージョン集約を使用する場合は、ホームリージョンとすべてのリンクされたリージョンで AWS Config 記録を正しく設定する必要があります。リンクされたリージョンでは、グローバルリソースを記録する必要はありません。
サービスにリンクされたルールの生成
サービスリンク AWS Config ルールを使用するすべてのコントロールについて、Security Hub CSPM では AWS 環境で必要なルールのインスタンスを作成します。
これらのサービスにリンクされたルールは Security Hub CSPM に固有です。同じルールの他のインスタンスが既に存在している場合でも、Security Hub CSPM がこれらのサービスにリンクされたルールを作成します。このサービスにリンクされたルールでは、元のルール名の前に securityhub が追加され、ルール名の後に一意の識別子が追加されます。例えば、AWS Config マネージドルール vpc-flow-logs-enabled の場合、サービスにリンクされたルール名は securityhub-vpc-flow-logs-enabled-12345 のようなものになるでしょう。
コントロールの評価に使用できる AWS Config マネージドルールの数にはクォータがあります。Security Hub CSPM が作成する AWS Config ルールは、これらのクォータにはカウントされません。アカウントのマネージドルールの AWS Config クォータに既に達している場合でも、これらのセキュリティ標準を有効にできます。AWS Config ルールのクォータの詳細については、「AWS Config デベロッパーガイド」の「Service limits for AWS Config」を参照してください。
コストに関する考慮事項
Security Hub CSPM では、AWS::Config::ResourceCompliance 設定項目を更新すると AWS Config 設定レコーダーのコストに影響する可能性があります。AWS Config ルールに関連付けられた Security Hub CSPM コントロールでコンプライアンス状態が変更されたり、有効化/無効化されたり、パラメータが更新されたりするたびに、記録の更新が発生する可能性があります。AWS Config 設定レコーダーを Security Hub CSPM のみに使用し、この設定項目を他の目的に使用しない場合は、AWS Config で記録をオフにすることをお勧めします。これにより、AWS Config コストを削減できます。Security Hub CSPM でセキュリティチェックを行うために AWS::Config::ResourceCompliance を記録する必要はありません。
リソースの記録に関連するコストの詳細については、「AWS Security Hub CSPM の料金