[アップデート]AWS Security Hubでコントロールのパラメータをカスタマイズできるようになりました #AWSreinvent

AWS Security Hubのコントロールのパラメータを変更できるようになりました。かゆいところに手が届くいい感じのアップデートです。
2023.11.27

こんにちは、臼田です。

みなさん、re:Invent楽しんでますか?(挨拶

今回はAWS Security Hubのコントロールでパラメータを取るものの一部が、パラメータをカスタマイズできるようになりましたのでこれを検証してみます。

New from AWS: You can now customize security controls in AWS Security Hub

概要

AWS Security Hubの機能のうち、セキュリティチェックを実施する場合には、コントロールを束ねたスタンダードを有効化し、各セキュリティチェック基準であるコントロールを有効化して使います。各コントロールは内部的にはAWS Configを利用しており、AWSマネージドなConfig Ruleを利用しています。

そのうち、一部のAWSマネージドなConfig Ruleではパラメータを取ることができるようになっており、AWS Security Hubがこれを使う場合には、コントロールの基準に見合ったパラメータが指定されていて、これまでは変更できませんでした。

例えば、「[EC2.18] セキュリティグループは、許可されたポートに対して無制限の着信トラフィックのみを許可することをお勧めします」ではパラメータとしてTCPポートで「80, 443」を許可されたポートとしています。

今回のアップデートでこの値を変更することができるようになりました。

これにより、AWS Security Hubのデフォルトのコントロールでは自社ポリシーと合致させられなかった場合でも、合わせていくことが可能です。

対象のコントロールは一部のみとなっており、詳細はこちらのガイドにあります。2023/11/27現在では下記が対象です。

  • ACM.1
  • APIGateway.1
  • APIGateway.8
  • AppSync.2
  • AutoScaling.2
  • CloudWatch.15
  • CloudWatch.16
  • DocumentDB.2
  • DynamoDB.1
  • DynamoDB.4
  • EC2.4
  • EC2.18
  • EC2.28
  • ElastiCache.1
  • ElasticBeanstalk.2
  • ElasticBeanstalk.3
  • ELB.10
  • ELB.13
  • IAM.7
  • Lambda.5
  • Neptune.5
  • RDS.6
  • RDS.11
  • RDS.14
  • RDS.26
  • Redshift.3
  • S3.11
  • S3.13
  • S3.15
  • SecretsManager.1
  • SecretsManager.3
  • SecretsManager.4
  • StepFunctions.1

やってみた

機能についての詳細なガイドはこちらです。

それでは実際にやっていきましょう。

今回は、EC2.18のTCPポートに8443を追加してみます。このポートで0.0.0.0/0を許可するセキュリティグループを許容したい、というニーズを満たしていきます。

まずはTCP: 8443ポートを0.0.0.0/0で許可したセキュリティグループを作ります。

そして、既存のAWS Security HubとConfigでこれが検出されることを確認します。作成後、すぐに非準拠として捉えられました。

AWS Security Hub上でも同様に確認できます。続いて、コントロールの詳細画面から「パラメータ」タブへ移動します。現状のパラメータがデフォルト通り80, 443であることが確認できます。「編集」から変更していきましょう。

このConfig RuleではUDPとTCPで2種類のパラメータを取ることができます。TCP側に8443を追記します。デフォルトの値が書いてあるのも地味に嬉しいポイントですね。変更の理由も選ぶことができます。なお、インフォメーションが出ている通り、変更の範囲は該当のアカウントとリージョンのみになっています。

理由はこんな感じで選べます。結構色々ありますね。「その他」の場合にはフリーテキストの入力もできます。

ではこれで変更してみましょう。と思ったら、エラーが出ました。どうやらUIとの連携の兼ね合いで、理由が日本語だとうまく通らない様子。

これは一時的な問題だと思いますが、一旦言語を英語にしてやってみたら行けました。ちなみに、こういうときはすぐに左下Feedbackボタンからフィードバックしておきましょう。私はしました。

というわけで無事変更完了です。しばらく待ってねというメッセージとともに、更新中であることがわかります。

数分でステータスがReadyになり、8443が追加されていることが確認できました。無事準拠できました。

ちなみに、このFindingsを確認すると、SecurityControlParametersでチェック時のパラメータがわかるようになっていました。これがあればログとしての判断に支障はありませんね。

戻してみた

パラメータの戻し方でガイドにちょっとした便利機能が書かれていたので試してみます。編集画面でCustomizedをクリックすると、デフォルトに戻すボタンが出ます。これを押すとパラメータをデフォルトにしてくれるのでうまく活用しましょう。

まとめ

AWS Security Hubのコントロールのパラメータを変更できるようになりました。今まで用意されているコントロールは全く変更できずに、自分たちの要件に合わないチェック内容などは無効化しつつ、個別にConfigを設定していく必要がありました。

今回のアップデートで少しはこれを柔軟にすることができるため、自分たちの要件にあった利用ができるようになりました。

ガリガリ活用していきましょう!