[アップデート]AWS Security Hubのセキュリティ基準に “CIS AWS Foundations Benchmark v1.4.0” が追加されました

CIS AWS Foundations Benchmark v1.4.0が遂に追加されました
2022.11.12

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

こんにちは、AWS事業本部@福岡オフィスのべこみん(@beco_minn)です。

Security Hubのセキュリティ基準に待望のアップデートが来ましたね。

そうです、CISのベンチマーク "CIS AWS Foundations Benchmark v1.4.0" が利用可能になりました。

ざっくりまとめ

  • AWS Security Hubで利用可能なCISベンチマークの新しいバージョンが出た
    • v1.2.0も引き続き利用可能
    • 最新の "CIS Amazon Web Services Foundations Benchmark v1.5.0" は未対応
  • v1.2.0とv1.4.0では差異がある
    • v1.4.0にはv1.2.0に無かった9件のコントロールが追加された
    • ID"2.x"にストレージ関連のコントロールが追加された。その影響で既存の2以降のIDはメジャー番号が1つずつズレている。
    • v1.2.0に存在した14件のコントロールがv1.4.0には存在しない
    • IAMパスワードポリシーなどクレデンシャルに関するコントロールが多め
    • v1.2.0にもv1.4.0にも存在するが、タイトルやコントロールIDが変更されたものが30件

CISベンチマークとは

CIS(Center for Internet Security)は米国政府機関や企業、学術機関などが運営する非営利団体で、最新のサイバーセキュリティに関するベストプラクティスソリューションを開発・検証しています。

CISベンチマークとは、そのCISが出しているセキュリティベストプラクティス集です。様々なベンチマークが存在し、下記から確認することが出来ます。また、メールアドレスを登録することで最新のベンチマークだけでなく過去のベンチマークも無料でダウンロード可能(PDF形式)です。

CIS Benchmarks

ちなみに "CIS Amazon Web Services Foundations Benchmark" の最新バージョンはv1.5.0ですが、AWS Security Hubでは未対応です。

v1.2.0とv1.4.0の差異

今回のアップデートでv1.4.0が追加されましたが、まだv1.2.0も利用可能です。何が違うのか確認しましょう。

ありがたいことにAWS公式ドキュメントに比較結果がまとめられています。

追加されたコントロール

ID タイトル 重要度
1.12 Ensure credentials unused for 45 days or greater are disabled MEDIUM
2.1.1 Ensure all S3 buckets employ encryption-at-rest MEDIUM
2.1.2 Ensure S3 bucket policy is set to deny HTTP requests MEDIUM
2.1.5.1 S3 Block Public Access setting should be enabled MEDIUM
2.1.5.2 S3 Block Public Access setting should be enabled at the bucket level HIGH
2.2.1 Ensure EBS volume encryption is enabled MEDIUM
2.3.1 Ensure that encryption is enabled for RDS Instances MEDIUM
3.6 S3 bucket server access logging should be enabled LOW
5.1 Ensure no Network ACLs allow ingress from 0.0.0.0/0 to remote server administration ports MEDIUM

新たに"2.x"にS3を始めとしたストレージ関連のコントロールが追加されました。

削除されたコントロール

ID タイトル
1.1 Avoid the use of the root user
1.3 Ensure credentials unused for 90 days or greater are disabled
1.5 Ensure IAM password policy requires at least one uppercase letter
1.6 Ensure IAM password policy requires at least one lowercase letter
1.7 Ensure IAM password policy requires at least one symbol
1.8 Ensure IAM password policy requires at least one number
1.11 Ensure IAM password policy expires passwords within 90 days or less
1.16 Ensure IAM policies are attached only to groups or roles
2.3 Ensure the S3 bucket used to store CloudTrail logs is not publicly accessible
2.6 Ensure S3 bucket access logging is enabled on the CloudTrail S3 bucket
3.1 Ensure a log metric filter and alarm exist for unauthorized API calls
3.2 Ensure a log metric filter and alarm exist for AWS Management Console sign-in without MFA
4.1 Ensure no security groups allow ingress from 0.0.0.0/0 to port 22
4.2 Ensure no security groups allow ingress from 0.0.0.0/0 to port 3389

※削除されたコントロールの重要度は記載しません。

IAMパスワードポリシー関連の項目削除が多い印象を受けますね。

"4.1", "4.2"は新規追加された"5.1"でNACLでポートを塞いでいるという理由で削除されたのでしょうか。ちなみにAWS Security Hubのセキュリティ基準には採用されていませんが、CISのページからダウンロード可能なオリジナルの"CIS Amazon Web Services Foundations Benchmark v1.4.0"には 5.2: Ensure no security groups allow ingress from 0.0.0.0/0 to remote server administration ports というものがあります。

ID/タイトルが変更されたコントロール

v1.2.0 ID v1.2.0 タイトル v.1.4.0 ID v.1.4.0 タイトル
1.2 Ensure multi-factor authentication (MFA) is enabled for all IAM users that have a console password 1.10 (変更なし)
1.4 Ensure access keys are rotated every 90 days or less 1.14 (変更なし)
1.9 Ensure IAM password policy requires minimum password length of 14 or greater 1.8 Ensure IAM password policy requires minimum length of 14 or greater
1.10 Ensure IAM password policy prevents password reuse 1.9 (変更なし)
1.12 Ensure no root user access key exists 1.4 Ensure no 'root' user account access key exists
1.13 Ensure MFA is enabled for the root user 1.5 Ensure MFA is enabled for the 'root' user account
1.14 Ensure hardware MFA is enabled for the root user 1.6 Ensure hardware MFA is enabled for the 'root' user account
1.20 Ensure a support role has been created to manage incidents with AWS Support 1.17 (変更なし)
1.22 Ensure IAM policies that allow full ":" administrative privileges are not created 1.16 Ensure IAM policies that allow full ":" administrative privileges are not attached
2.1 Ensure CloudTrail is enabled in all Regions 3.1 (変更なし)
2.2 Ensure CloudTrail log file validation is enabled 3.2 (変更なし)
2.3 Ensure the S3 bucket used to store CloudTrail logs is not publicly accessible 3.3 (変更なし)
2.4 Ensure CloudTrail trails are integrated with CloudWatch Logs 3.4 (変更なし)
2.5 Ensure AWS Config is enabled 3.5 Ensure AWS Config is enabled in all Regions
2.7 Ensure CloudTrail logs are encrypted at rest using AWS KMS keys 3.7 (変更なし)
2.8 Ensure rotation for customer-created KMS keys is enabled 3.8 (変更なし)
2.9 Ensure VPC flow logging is enabled in all VPCs 3.9 (変更なし)
3.3 Ensure a log metric filter and alarm exist for usage of root user 1.7 Eliminate use of the 'root' user for administrative and daily tasks
3.4 Ensure a log metric filter and alarm exist for IAM policy changes 4.4 (変更なし)
3.5 Ensure a log metric filter and alarm exist for CloudTrail configuration change 4.5 (変更なし)
3.6 Ensure a log metric filter and alarm exist for AWS Management Console authentication failures 4.6 (変更なし)
3.7 Ensure a log metric filter and alarm exist for disabling or scheduled deletion of customer managed keys 4.7 (変更なし)
3.8 Ensure a log metric filter and alarm exist for S3 bucket policy changes 4.8 (変更なし)
3.9 Ensure a log metric filter and alarm exist for AWS Config configuration changes 4.9 (変更なし)
3.10 Ensure a log metric filter and alarm exist for security group changes 4.10 (変更なし)
3.11 Ensure a log metric filter and alarm exist for changes to Network Access Control Lists (NACL) 4.11 (変更なし)
3.12 Ensure a log metric filter and alarm exist for changes to network gateways 4.12 (変更なし)
3.13 Ensure a log metric filter and alarm exist for route table changes 4.13 (変更なし)
3.14 Ensure a log metric filter and alarm exist for VPC changes 4.14 (変更なし)
4.3 Ensure the default security group of every VPC restricts all traffic 5.3 (変更なし)

全体的な印象としては、新たにID"2.x"にストレージ関連のコントロールが追加されたことにより、元々の2以降のIDメジャーNo.が1つずれています。

あとはコントロールの削除や追加に伴ってのID変更、タイトル自体の変更もほとんどが軽微な表記揺れが多い印象です。

有効化してみた

セキュリティ基準を "CIS AWS Foundations Benchmark v1.4.0" にしてAWS Security Hubを有効化してみます。

AWS Security Hubを有効化していなかった環境なのでAWS Security Hubの有効化から行います。既に有効化している場合はセキュリティ標準ページから有効化してください。

確かにv.1.4.0が追加されていますね。文面が英語になっていますが。(AWSへUIのフィードバックをしておきました。)

コンソール上で確認します。コントロール数は全部で39件のようですね。

下記がコントロールの一覧です。

ID タイトル 重要度
1.4 IAM root user access key should not exist CRITICAL
1.5 Virtual MFA should be enabled for the root user CRITICAL
1.6 Hardware MFA should be enabled for the root user CRITICAL
1.7 A log metric filter and alarm should exist for usage of the "root" user LOW
1.8 Ensure IAM password policy requires minimum password length of 14 or greater MEDIUM
1.9 Ensure IAM password policy prevents password reuse LOW
1.10 MFA should be enabled for all IAM users that have a console password MEDIUM
1.12 IAM user credentials unused for 45 days should be removed MEDIUM
1.14 IAM users' access keys should be rotated every 90 days or less MEDIUM
1.16 IAM policies should not allow full "*" administrative privileges HIGH
1.17 Ensure a support role has been created to manage incidents with AWS Support LOW
2.1.1 S3 buckets should have server-side encryption enabled MEDIUM
2.1.2 S3 buckets should require requests to use Secure Socket Layer MEDIUM
2.1.5.1 S3 Block Public Access setting should be enabled MEDIUM
2.1.5.2 S3 Block Public Access setting should be enabled at the bucket-level HIGH
2.2.1 EBS default encryption should be enabled MEDIUM
2.3.1 RDS DB instances should have encryption at-rest enabled MEDIUM
3.1 CloudTrail should be enabled and configured with at least one multi-Region trail that includes read and write management events HIGH
3.2 CloudTrail log file validation should be enabled MEDIUM
3.3 Ensure the S3 bucket used to store CloudTrail logs is not publicly accessible CRITICAL
3.4 CloudTrail trails should be integrated with Amazon CloudWatch Logs LOW
3.5 AWS Config should be enabled MEDIUM
3.6 Ensure S3 bucket access logging is enabled on the CloudTrail S3 bucket LOW
3.7 CloudTrail should have encryption at-rest enabled MEDIUM
3.8 Customer master key (CMK) rotation should be enabled MEDIUM
3.9 VPC flow logging should be enabled in all VPCs MEDIUM
4.4 Ensure a log metric filter and alarm exist for IAM policy changes LOW
4.5 Ensure a log metric filter and alarm exist for CloudTrail configuration changes LOW
4.6 Ensure a log metric filter and alarm exist for AWS Management Console authentication failures LOW
4.7 Ensure a log metric filter and alarm exist for disabling or scheduled deletion of customer created CMKs LOW
4.8 Ensure a log metric filter and alarm exist for S3 bucket policy changes LOW
4.9 Ensure a log metric filter and alarm exist for AWS Config configuration changes LOW
4.10 Ensure a log metric filter and alarm exist for security group changes LOW
4.11 Ensure a log metric filter and alarm exist for changes to Network Access Control Lists (NACL) LOW
4.12 Ensure a log metric filter and alarm exist for changes to network gateways LOW
4.13 Ensure a log metric filter and alarm exist for route table changes LOW
4.14 Ensure a log metric filter and alarm exist for VPC changes LOW
5.1 Network ACLs should not allow ingress from 0.0.0.0/0 to port 22 or port 3389 MEDIUM
5.3 The VPC default security group should not allow inbound and outbound traffic HIGH

まとめ

v1.2.0では現在AWSから推奨されていないようなコントロールも存在していたため、私自身CISベンチマークのアップデートを待ち侘びていました。

コントロールの網羅度を考慮すると"AWS 基礎セキュリティのベストプラクティス v1.0.0"がおすすめですが、案件の要件でCISベンチマークを適用する方もいらっしゃるかと思います。

現在v1.2.0をご利用の方はこの機会にv1.4.0に切り替えられてみてはいかがでしょうか。

本記事がどなたかのお役に立てれば幸いです。

以上、べこみんでした。