全リージョンでAWS Security Hubの不要なセキュリティ標準を無効化する

有効化なセキュリティ標準を1つだけにしたいときに役立つはず

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

こんにちは。AWS事業本部トクヤマシュンです。

AWS Organizationsを使えば、メンバーアカウントに対してAWS Security Hubを一括でセットアップすることが可能です。

ただし2022年9月28日現在ではこの方法でセットアップした場合に有効となるセキュリティ標準は次の2つです。

  • AWS 基礎セキュリティのベストプラクティス v1.0.0
  • CIS AWS Foundations Benchmark v1.2.0

どちらも運用したい場合はこれで問題ないのですが、どちらか1つだけを運用したい場合も結構あるのでは?と思ってます。
本エントリではそのような場合に、全リージョンの不要なセキュリティ標準を無効化するスクリプトを紹介します。

スクリプト

前提条件

今回スクリプトを実行対象は下記を満たすものとします。

  • AWS Organizationsによってすべての有効リージョンのAWS Security Hubを一括セットアップ済み
  • 無効化するセキュリティ標準はCIS AWS Foundations Benchmark v1.2.0

無効化スクリプト

# 不要なセキュリティ標準削除
aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \
| while read region; do
    echo ""${region} ""
    aws securityhub --region ${region} batch-disable-standards --standards-subscription-arn ""arn:aws:securityhub:${region}:$(aws sts get-caller-identity --query 'Account' --output text):subscription/cis-aws-foundations-benchmark/v/1.2.0"" 
done

設定確認スクリプト

# セキュリティ標準設定確認
aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \
| while read region; do
    echo ""##### list members in ${region}""
    aws securityhub --region ${region} get-enabled-standards --output table
done

各リージョンで表示されるセキュリティ標準が AWS 基礎セキュリティのベストプラクティス v1.0.0 のみであればOKです。
本ブログでお伝えしたかったことは以上です。

趣味のスパイスカレー

私の趣味はスパイスカレー作りで、ブログに投稿していってます。
相変わらずAWSには全然関係ありませんが、お付き合いいただけますと幸いです。

  • バターチキンカレー

定番のバターチキンカレーを作りました。
ナンではなくご飯で食べたので、少しサラッとしたバターチキンカレーにしました。
ローストしたカシューナッツをペーストにして入れたので、香ばしさが加わってとても美味しくできました。

最後に

今回は全リージョンでAWS Security Hubの不要なセキュリティ標準を無効化するスクリプトをご紹介しました。
もし無効化したいセキュリティ標準が本ブログの内容と異なる場合は、--standards-subscription-arnで指定している標準を適宜変更してください。
本ブログがどなたかのお役に立てば幸いです。