【Security Hub修復手順】[SSM.4] SSM ドキュメントはパブリックにしないでください

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。
2023.01.24

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

こんにちは!AWS事業本部のみなみです。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。

本記事の対象コントロール

[SSM.4] SSM ドキュメントはパブリックにしないでください

[SSM.4] SSM documents should not be public

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。
AWS Security Hubの詳細についてはこちらのブログをご覧ください。

修復手順

  1. 検索欄からAWS Systems Managerのサービスページに移動し、画面左側にあるメニューバーから「ドキュメント」のページに進みます。
    自己所有」の中から今回設定変更を行うドキュメントのラジオボタンにチェックを入れ、「アクション」から「アクセス許可を変更する」をクリックします。

  2. プライベート」を選択し、保存をします。ドキュメントを別アカウントと共有する場合はここで、AWSアカウント番号を入力して追加します。  

リージョン単位でパブリック共有を無効化する場合

S3の「このアカウントのブロックパブリックアクセス設定」の様に、リージョン単位でパブリック共有をの無効化を上書きすることが出来ます。

マネジメントコンソールから設定を変更する方法

  1. 詳細設定」をクリックします。

2.デフォルトでは無効になっているので、「編集」から設定を変更します。

AWS CLIで設定を変更する方法

AWS CLIを利用することで全リージョンに対して一括で設定することが可能です。

設定変更スクリプト

aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \
| while read region; do
    echo ""${region} ""
    aws ssm update-service-setting  \
            --setting-id /ssm/documents/console/public-sharing-permission \
            --setting-value Disable \
        --region ${region}
done

設定確認スクリプト

aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \
| while read region; do
    echo ""${region} ""
    aws ssm get-service-setting   \
        --setting-id /ssm/documents/console/public-sharing-permission \
    --region ${region}
done

全リージョンでSettingValueDisableになっていれば設定完了です。

ap-southeast-2 
{
    "ServiceSetting": {
        "SettingId": "/ssm/documents/console/public-sharing-permission",
        "SettingValue": "Disable",
        "LastModifiedDate": "2023-01-24T03:49:13.680000+00:00",
        "LastModifiedUser": "arn:aws:sts::150368337958:assumed-role/cm-minami.koki/cm-minami.koki",
        "ARN": "arn:aws:ssm:ap-southeast-2:150368337958:servicesetting/ssm/documents/console/public-sharing-permission",
        "Status": "Customized"
    }
}

注意点

  • リージョン単位の設定の為、スクリプトを使わない場合は別リージョンでも同様の設定変更が必要となります。
  • この設定を有効化してもドキュメント側でパブリックになっている場合はSecurity Hubで検知されてしまいます。基本的にはドキュメント側も設定変更することを推奨します。

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。

以上、みなみでした!