はじめに
AWS Inspector Classic のみ対応していた CIS ベンチマークの評価が今年 1 月に V2 でもサポートされたので、検証ついでに設定等の手順をまとめます。CIS ベンチマークについての詳細は公式ホームページを参照していただければと思います。
事前準備
以下の要件を満たすインスタンスが必要です。それぞれ公式ホームページから引用させていただきました。
- インスタンスのオペレーティング システムは、CIS スキャンでサポートされているオペレーティング システムの 1 つです。サポートされているオペレーティング システムの完全なリストについては、「サポートされているオペレーティング システム: CIS スキャン」を参照してください。
2024 年 3 月現在、サポートされている OS は以下の通りです。
Operating system | Version | CIS benchmark version |
---|---|---|
Amazon Linux 2 | AL2 | 2.0.0 |
Amazon Linux 2023 | AL2023 | 1.0.0 |
Windows Server | 2019 | 2.0.0 |
Windows Server | 2022 | 2.0.0 |
- このインスタンスは、Amazon EC2 Systems Manager (SSM) マネージド インスタンスです。詳細については、「SSM エージェントの使用」を参照してください。
SSM の機能を使用するので、SSMAgent がインストールされている必要があります。
- インスタンスには Amazon Inspector SSM プラグインがインストールされています。Amazon Inspector は、SSM マネージド インスタンス用にこのプラグインを自動的にインストールします。
Inspector はインスタンスに対して Amazon Inspector SSM プラグインを使用してスキャンを実行します。こちらは自動で導入されます。
- インスタンスには、SSM がインスタンスを管理するためのアクセス許可と、Amazon Inspector がそのインスタンスに対して CIS スキャンを実行するためのアクセス許可を付与するインスタンス プロファイルがあります。これらのアクセス許可を付与するには、AmazonInspector2FullAccess、 AmazonSSMManagingInstanceCore、およびAmazonInspector2ManatedCispolicyポリシーを IAM ロールにアタッチし、そのロールをインスタンス プロファイルとしてインスタンスにアタッチします。インスタンスプロファイルの作成とアタッチの手順については、『Amazon EC2 ユーザーガイド』の「IAM ロールの操作」を参照してください。
Inspector がインスタンスへアクセスするための権限が必要です。CIS スキャンのみであればAmazonSSMManagingInstanceCoreとAmazonInspector2ManatedCispolicyがあればひとまずは動くようですが、そのあたりは必要に応じて判断するのが良いかと思います。
実行方法
Inspector V2 のコンソール画面から「CIS scans」を選択します。Classic の場合は画面下部にある「Switch to Inspector V2」というリンクをクリックすれば V2 へ切り替えることができます。
次の画面で「Create new scan」を選択すると、設定画面が表示されます。
Scan configuration name
今回実行するスキャンの名前です。任意ですが、わかりやすい名前を付けるのが良いと思います。
Target resource tags
スキャンしたいインスタンスにつけられているタグを指定します。一意 の Name タグで特定の一台だけをスキャンすることもできますし、いくつかのタグを指定して複数台をまとめてスキャンすることもできます。
CIS Benchmark level
今回のスキャンに使用する CIS Benchmark level を指定します。以下は公式ホームページから引用させていただいたそれぞれのレベルについての詳細です。
CIS Benchmarks レベルとは何ですか?
組織が独自のセキュリティ目標を達成するのに役立つよう、CIS は各 CIS Benchmarks ガイドラインにプロファイルレベルを割り当てます。各 CIS プロファイルには、異なるレベルのセキュリティを提供する推奨事項が含まれています。組織は、自社のセキュリティとコンプライアンスのニーズに基づいてプロファイルを選択できます。
レベル 1 プロファイル
レベル 1 プロファイルの設定に関する推奨事項は、IT システムを設定するための基本的なセキュリティに関する推奨事項です。それらを実行するのは簡単で、ビジネス機能や稼働状況に影響を与えません。これらの推奨事項により、IT システムへのエントリポイントの数が減り、サイバーセキュリティのリスクが軽減されます。
レベル 2 プロファイル
レベル 2 のプロファイル設定の推奨事項は、セキュリティが優先される機密性の高いデータに最適です。これらの推奨事項を実施するには、中断を最小限に抑えて包括的なセキュリティを実現するための専門知識と入念な計画が必要です。レベル 2 プロファイルの推奨事項の実施は、規制コンプライアンスの達成にも役立ちます。
他にも STIG というプロファイルが存在しますが、コンソールから指定できるのはレベル1とレベル2のみです。
Target accounts
スキャンしたいインスタンスが存在するアカウントを選択します。ターゲットが Inspector を動かすアカウントとは別のアカウントに存在する場合は「Specify accounts」を選択してアカウント ID を指定します。もちろん、複数の ID を指定することも可能です。
Schedule
スキャンを実行する時間を設定します。一度きりの場合は「One time scan」です。定期実行をしたい場合は「Recurring scans」を選択し、時間や曜日を選択します。日付の指定はできないので、例えば「毎月 25 日」といった設定はできません。
すべての設定を終えた後「作成」をクリックするとスキャンが始まります。インスタンスの台数にもよるかとおもいますが、通常は数分ほどで完了します。
実行結果
スキャンが完了すると、コンソールから以下のように結果を閲覧することができます。画面右上の「Download」から結果のレポートを PDF 形式で取得することができます。
「Scanned resources」からリソースごとの結果を見ることができます。
「Checks status」から項目を選択することにより、それぞれの評価の詳細が確認できます。
「CIS check title」がチェック項目の名前で、「Resource status」が結果です。クリックすると何がダメだったのか JSON 形式で詳細を見ることができます。「Remediation」が修復方法です。すこしわかりにくいですが「はい」の部分がリンクになっているので、クリックすると詳細な修復方法が表示されます。
余談
Inspector の検出結果は、通常であれば「抑制ルール」である程度のフィルタリングができますが、CIS scans については反映されないようです。
まとめ
エージェントが必須だった Classic に比べ、V2 では少しの設定で簡単にスキャンが行えるようになりました。CIS コンプライアンスへの準拠等が求められた時等、需要に応じて利用してみるのはいかがでしょうか。
投稿者プロフィール
- AWS の諸々について、初学者目線から書いていけたらいいなと思っています!