Security Hub コントロール [Config.1] にて、FAILED の評価項目を教えて下さい

Security Hub コントロール [Config.1] にて、FAILED の評価項目を教えて下さい

Clock Icon2024.11.29

この記事は アノテーション株式会社 AWS Technical Support Advent Calendar 2024 | Advent Calendar 2024 - Qiita 2日目の記事です。

困っていること

コンプライアンスステータスが FAILED になっている Security Hub コントロール [Config.1] を修復したいと考えています。

[Config.1] には以下の 3つの評価項目が存在しますが、どの項目に違反しているため FAILED になっているかわかりません。[1]

このコントロールは、以下3つのチェック観点から評価されます。すべての観点が満たされていた場合に成功となります。

  • AWS Config(レコーダー)が有効化されているか
  • 有効化されているすべてのSecurity Hubコントロールに対応するすべてのリソースタイプがConfigレコーダーで記録できているか
  • AWS Configのサービスリンクロール(AWSServiceRoleForConfig)が作成されているか

簡単に確認できる方法はないでしょうか。

解説

AWS マネジメントコンソールから確認できる Security Hub の検出結果には、追加で詳細な情報を確認できる「検出結果.json」が添付されています。[2]

スクショ1

[Config.1] が失敗している評価項目の理由については、"Compliance" > "Status": "FAILED" > "StatusReasons" にて詳細を確認することができます。

私の個人検証環境をサンプルとして確認してみます。

検出結果.json
"Compliance": {
    "Status": "FAILED",
    "StatusReasons": [
      {
        "Description": "AWS Config isn't recording all resource types that correspond to enabled Security Hub controls. Turn on recording for the following resources: AWS::AppSync::GraphQLApi, AWS::Lambda::Function, AWS::Backup::RecoveryPoint, AWS::DMS::Endpoint, AWS::EC2::Instance, AWS::RDS::DBClusterSnapshot, AWS::RDS::DBSnapshot, AWS::EC2::LaunchTemplate, AWS::AppSync::ApiCache, AWS::WAFRegional::RuleGroup, AWS::ApiGateway::Stage, AWS::ECS::TaskDefinition, AWS::NetworkFirewall::FirewallPolicy, AWS::AutoScaling::LaunchConfiguration, AWS::SSM::ManagedInstanceInventory, AWS::WAFv2::RuleGroup, AWS::ECS::Service, AWS::EC2::Volume, AWS::AutoScaling::AutoScalingGroup, AWS::S3::AccessPoint, AWS::SSM::PatchCompliance, AWS::ElasticBeanstalk::Environment, AWS::WAF::RuleGroup, AWS::SSM::AssociationCompliance, AWS::WAFRegional::Rule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::EC2::ClientVpnEndpoint, AWS::NetworkFirewall::RuleGroup, AWS::WAFv2::WebACL, AWS::ApiGatewayV2::Stage, AWS::CodeBuild::ReportGroup, AWS::ECS::TaskSet, AWS::KafkaConnect::Connector.",
        "ReasonCode": "CONFIG_RECORDER_MISSING_REQUIRED_RESOURCE_TYPES"
      },
      {
        "Description": "The AWS Config recorder is using a custom IAM role instead of the AWS Config service-linked role.",
        "ReasonCode": "CONFIG_RECORDER_CUSTOM_ROLE"
      }
    ],
    "SecurityControlId": "Config.1",

検出結果.json ファイルの "StatusReasons" にて、2件の "ReasonCode" が記録されていました。

  • "ReasonCode": "CONFIG_RECORDER_MISSING_REQUIRED_RESOURCE_TYPES"
  • "ReasonCode": "CONFIG_RECORDER_CUSTOM_ROLE"

ここから [Config.1] の評価項目の 2番目と 3番目に違反していることがわかりました。[3]

特に 2番目の記録が有効化されていないリソースタイプに関する評価項目については、有効化が必要なリソースタイプの一覧も併記されていて非常にわかりやすいですね。

これらの評価項目が満たされるように設定を変更した結果、後日 [Config.1] が PASSED になっていることが確認できました。

参考資料

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.