CIS AWS Foundations Benchmark v3.0.0 の変更点

## はじめに
2024/1/31 にリリースされた CIS AWS Foundations Benchmark が v3.0.0 について、v2.0.0 からの変更内容をまとめました。

:::note info
解説部分の記載は私見や所感などを含みますのでご注意ください。完全な変更内容は CIS AWS Foundations Benchmark v3.0.0 の PDF をご参照ください。
:::

直近では AWS Security Hub でも CIS AWS Foundations Benchmark v3.0.0 の標準が利用可能になっています。

https://aws.amazon.com/jp/about-aws/whats-new/2024/05/aws-security-hub-3-0-cis-foundations-benchmark/

v2 → v3 はメジャーバージョンが上がった一方で、以外にも新規に追加された項目はなく、削除や軽微な変更に留まっているように見受けられます。以前より Security Hub でチェック可能だった v1.4.0 から、 v1.5.0、v2.0.0 までの差分が知りたい方は [**過去記事**](https://qiita.com/hayao_k/items/8272f4a8be785cc2a98a#%E9%81%8E%E5%8E%BB%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%E5%A4%89%E6%9B%B4%E7%82%B9%E3%81%BE%E3%81%A8%E3%82%81%E8%A8%98%E4%BA%8B) も参照いただければと思います。

### CIS Benchmark とは
米国の非営利団体である CIS (Center for Internet Secuirty) が公開している AWS アカウントの基本的なセキュリティを実装するための技術的なベストプラクティスです。

CIS は 各種 OS、サーバー、クラウド環境などを強化するためのガイドラインとして多数の CIS Benchmark を発行しており、PCI DSS などのコンプライアンス要件で業界標準のベストプラクティスとの記載があった場合などに参照されます。

CIS AWS Foundations Benchmark は CIS のサイトから PDF 形式でダウンロードできます。ライセンスは CC BY-NC-SA (Creative Commons Attribution-NonCommercial-ShareAlike) です。

https://www.cisecurity.org/benchmark/amazon_web_services

## 1 Identity and Access Management
### 変更があった項目
#### 1.16 Ensure IAM policies that allow full "\*:*" administrative privileges are not attached (Automated)
参考訳: 完全な "\*:*"管理者権限を許可する IAM ポリシーがアタッチされていないことを確認する

コンソールでの修正手順について、より意図が明確になるよう修正されました。

#### 1.17 Ensure a support role has been created to manage incidents with AWS Support (Automated)
参考訳: AWSサポートでインシデントを管理するためのサポートロールが作成されていることを確認する

Impact: のステートメントに以下の文言が追加されました。

> Utilizing the AWS managed 'AWSSupportAccess' role is one simple way of ensuring that this permission is properly granted.
>
> To better support the principle of separation of duties, it would be best to only attach this role where necessary.

参考訳:
> AWSが管理する 'AWSSupportAccess' ロールを利用することは、この権限が適切に付与されることを保証する1つの簡単な方法の 1 つです。
>
>  職務の分離の原則をより良くサポートするために、必要な場合にのみこのロールをアタッチするのがベストでしょう。

#### 1.21 Ensure IAM users are managed centrally via identity federation or AWS Organizations for multi-account environments (Manual)
参考訳: マルチアカウント環境の場合、IAM ユーザを ID フェデレーションまたは AWS Organizations を介して一元管理するようにする

監査手順の文章表現が若干更新されました。手順自体には変更ありません。

## 2 Storage
### 変更があった項目
#### 2.1.1 Ensure S3 Bucket Policy is set to deny HTTP requests (Automated)
参考訳: S3 バケットポリシーが HTTP リクエストを拒否していることを確認する

CLI での監査手順において、エラーが発生した場合の備考が追記されています。具体的には CLI でエラーが返された場合、指定した S3 バケットにはバケットポリシーが設定されておらず、デフォルトで HTTP のリクエストが許可されている状態であることが示されています。

監査手順自体には変更ありません。

#### 2.4.1 Ensure that encryption is enabled for EFS file systems (Automated)
参考訳: EFS ファイルシステムで暗号化が有効になっていることを確認する

Assessment Status (評価ステータス) がManual から Automated に変更されました。監査手順及び修復手順には変更ありません。

## 3 Logging
### 削除された項目
※ v2.0.0 における項目番号です。

#### 3.3 Ensure the S3 bucket used to store CloudTrail logs is not publicly accessible (Automated)

参考訳: CloudTrail ログを保存するために使用される S3 バケットがパブリックにアクセス可能ではないことを確認する

#### 3.4 Ensure CloudTrail trails are integrated with CloudWatch Logs (Automated)
参考訳: CloudTrail 証跡が CloudWatch Logs と統合されていることを確認する

### 変更があった項目
#### 3.6 Ensure rotation for customer-created symmetric CMKs is enabled (Automated)
参考訳: 顧客が作成した対称型 CMK のローテーションが有効であることを確認する

コンソールでの監査手順及び修復手順に変更がありました。

#### 3.8 Ensure that Object-level logging for write events is enabled for S3 bucket (Automated)
参考訳: S3 バケットで書き込みイベントのオブジェクトレベルロギングが有効になっていることを確認する

コンソールでの監査手順および修正手順化が最新化されました。

#### 3.9 Ensure that Object-level logging for read events is enabled for S3 bucket (Automated)
参考訳: S3 バケットで読み込みイベントのオブジェクトレベルロギングが有効になっていることを確認する

コンソールでの監査手順および修正手順化が最新化されました。

## 4 Monitoring
### 変更があった項目
#### 4.13 Ensure route table changes are monitored (Manual)
参考訳: ルートテーブルの変更が監視されていることを確認する]

メトリクスフィルターが更新されました。具体的にはイベントソースが EC2 であるという AND 条件が追加されています。

```
"filterPattern": "{($.eventSource = ec2.amazonaws.com) && ($.eventName =
CreateRoute) || ($.eventName = CreateRouteTable) || ($.eventName =
ReplaceRoute) || ($.eventName = ReplaceRouteTableAssociation) || ($.eventName
= DeleteRouteTable) || ($.eventName = DeleteRoute) || ($.eventName =
DisassociateRouteTable) }"
```


## 5 Networking
### 変更があった項目
#### 5.6 Ensure that EC2 Metadata Service only allows IMDSv2 (Automated)
参考訳: EC2 メタデータサービスが IMDSv2 のみを許可していることを確認する

**変更点1:**
Rationale (根拠) のステートメントが見直され、IMDSv2 の詳細や v1 とのセキュリティ面での違いなどが追記されています。

**変更点2:**
監査および修正手順が最新化、詳細化されました。

**変更点3:**
CIS Controls とのマッピングが追加されました。

## 過去バージョンの変更点まとめ記事
https://qiita.com/hayao_k/items/fed7c07c9f05c445ce1f

https://qiita.com/hayao_k/items/cd8a0589782b981cc442

https://qiita.com/hayao_k/items/81bd073c53b916993177

https://qiita.com/hayao_k/items/e41a016942e32f9aa8a9

以上です。
参考になれば幸いです。