本文の内容は、2021年3月30日にVicente Herrera Garcíaが投稿したブログ(https://sysdig.com/blog/cloud-security-posture-aws/)を元に日本語に翻訳・再構成した内容となっております。
AWS Foundations CIS Benchmarksを導入することで、AWSインフラにおけるクラウドセキュリティの態勢を改善することができます。
攻撃者がクラウドインフラストラクチャーを侵害するために使用できるエントリーポイントは何でしょうか?すべてのユーザーは多要素認証を設定していますか?それを使用していますか?必要以上のパーミッションを与えていないですか?
このベンチマークは、これらの質問に答えるのに役立ちます。
AWS CIS Benchmarksの概要と導入のためのヒントをご紹介します。また、セキュリティツールを利用することで、クラウドのセキュリティ対策を継続的に確認しながらベンチマークを自動化することができます。
AWS CIS ベンチマークとは?
AWS Foundations CIS Benchmarkは、AWSのセキュリティ管理を満たすためのコンプライアンス標準です。ベンチマークは、CISが提供する業界のベストプラクティスに従って、AWSサービスを構成するための規定的な指示を提供します。なぜAWS CISベンチマークは重要なのか?
ワークロードをAWSに移行する際、最初に遭遇する問題は、インフラストラクチャー全体のAWSセキュリティを確保することです。クラウドの誤設定は、AWSで運用している組織にとって常に懸念材料です。また、AWS環境は動的であるため、資産がコンプライアンスから外れたときに検知することが困難です。AWSのCISベストプラクティスガイドラインをこの新しい環境に明確にマッピングしなければ、チームはCIS要件を満たしていることを証明することができません。
車輪を再発明するのではなく、セキュリティのベストプラクティスを提供するAWS CIS標準ベースのフレームワークに従うことができます。
AWS CIS ベンチマーク バージョン1.3
Center for Internet Security(CIS)は、2020年9月にベンチマークの最新版である1.3.0をリリースしました。CIS Bechmarksには7つのコアカテゴリがあり、「クラウドプロバイダーベンチマーク」はその3番目に位置しています。そこでは、Amazon Web Services(AWS)をはじめとする有名なパブリッククラウドのセキュリティ設定が取り上げられています。
CIS AWS Foundationsの概要
CIS AWS Foundations Benchmarkは、5つのセクションで構成されており、”Recommendation “と呼ばれる55のコントロールが含まれています。コントロール | Sysdig サポート |
1.アイデンティティとアクセスの管理 | |
1.1 最新の連絡先情報を維持する。(マニュアル) | |
1.2 セキュリティ連絡先が登録されていることを確認する。(マニュアル) | |
1.3 AWS アカウントにセキュリティ質問が登録されていることを確認する。(マニュアル) | |
1.4 ルートユーザーアカウントのアクセスキーが存在しないことを確認する。(自動) | ✅ |
1.5 「root user」アカウントでMFAが有効になっていることを確認する。(自動) | ✅ |
1.6 「root user」アカウントでハードウェア MFA が有効になっていることを確認する。(自動) | ✅ |
1.7 管理業務や日常業務でのルートユーザーの使用を廃止する。(自動) | ✅ |
1.8 IAMのパスワードポリシーで、最低14以上の長さが必要であることを確認する。(自動) | ✅ |
1.9 IAMパスワードポリシーでパスワードの再利用を確実に防止する。(自動) | ✅ |
1.10 コンソールパスワードを持つすべてのIAMユーザーに対して多要素認証(MFA)が有効であることを確認する。(自動) | |
1.11 コンソールのパスワードを持つすべてのIAMユーザーに対して、初期のユーザー設定時にアクセスキーを設定しない(マニュアル) | ✅ |
1.12 90日以上使用されていない認証情報が無効になっていることを確認する。(自動) | ✅ |
1.13 1人のIAMユーザーが利用できるアクティブなアクセスキーは1つだけであることを確認する。(自動) | ✅ |
1.14 アクセスキーが90日以内ごとにローテーションされていることを確認する。(自動) | ✅ |
1.15 IAMユーザーがグループを通じてのみパーミッションを受け取ることを確認します。(自動) | ✅ |
1.16 完全な”*:*”の管理者権限を許可するIAMポリシーが添付されていないことを確認する。(自動) | ✅ |
1.17 AWSサポートでインシデントを管理するためのサポートロールが作成されていることを確認します。(自動) | ✅ |
1.18 インスタンスからのAWSリソースアクセスにIAMインスタンスロールが使用されていることを確認する。(マニュアル) | |
1.19 AWS IAMに保存されている期限切れのSSL/TLS証明書がすべて削除されていることを確認する。(自動) | ✅ |
1.20 S3バケットが「Block public access (bucket settings)」で設定されていることを確認する。(自動) | ✅ |
1.21 IAM Access analyzerが有効になっていることを確認します。(自動) | |
1.22 マルチアカウント環境のために、IDフェデレーションまたはAWS Organizationsを介してIAMユーザーが一元的に管理されていることを確認する。(マニュアル) | |
2. ストレージ | |
2.1 Sシンプル・ストレージ・サービス(S3)。すべてのバケットが暗号化されており、ポリシーでHTTPSリクエストを許可していること。(マニュアル) | |
2.2 Elastic Compute Cloud (EC2). EBS ボリュームの暗号化が有効であること。(マニュアル) | |
3. ロギング | |
3.1 すべてのリージョンでCloudTrailが有効になっていることを確認します。(自動) | ✅ |
3.2 CloudTrail のログファイル検証が有効になっていることを確認します。(自動) | ✅ |
3.3 CloudTrailログの保存に使用されるS3バケットが一般にアクセスできないことを確認します。(自動) | |
3.4 CloudTrailの証跡がCloudWatch Logsと統合されていることを確認します。(自動) | ✅ |
3.5 すべてのリージョンでAWS Configが有効になっていることを確認します。(自動) | ✅ |
3.6 CloudTrailのS3バケットでS3バケットアクセスロギングが有効になっていることを確認します。(自動) | ✅ |
3.7 CloudTrailのログがKMS CMKを使用して静止時に暗号化されていることを確認します。(自動) | ✅ |
3.8 顧客が作成したCMKのローテーションが有効になっていることを確認します。(自動) | ✅ |
3.9 すべてのVPCでVPCフローロギングが有効になっていることを確認します。(自動) | ✅ |
3.10 S3バケットで書き込みイベントのオブジェクトレベルロギングが有効になっていることを確認します。(自動) | |
3.11 S3バケットで読み取りイベントのオブジェクトレベルのロギングが有効になっていることを確認します。(自動) | |
4. モニタリング | |
4.1~4.15 不正なAPIコール、”root “アカウントの使用、ポリシー変更などのイベントに対して、ログメトリクスフィルタとアラームが存在することを確認する。(自動) | |
5. ネットワーク | |
5.1 ネットワークACLが、0.0.0.0/0からリモートサーバ管理ポートへの侵入を許可していないことを確認する。(自動) | |
5.2 セキュリティグループが 0.0.0.0/0 からリモートサーバー管理ポートへの侵入を許可していないことを確認する。(自動) | ✅ |
5.3 すべての VPC のデフォルトのセキュリティグループがすべてのトラフィックを制限していることを確認します。(自動) | ✅ |
5.4 VPC ピアリングのルーティングテーブルが「最小アクセス」であることを確認します。(マニュアル) | ✅ |
アイデンティティとアクセスの管理
最初のセクションでは、IAM関連のコントロールを構成するための推奨事項が記載されています。例えば、CIS AWS 1.6では、レベル2のプロファイルでルートユーザーアカウントをハードウェアMFAで保護することを推奨しています。多要素認証(MFA)は、ユーザ名とパスワードの上に追加の保護層を追加します。MFAを有効にすると、ユーザーがAWSのウェブサイトにサインインする際に、ユーザー名とパスワードに加えて、AWS MFAデバイスからの認証コードの入力が求められます。このセクションで見られるもう一つの推奨事項はCIS 1.20で、S3バケットが一般にアクセスできないようにすることが求められています。S3バケットのパブリックアクセスをブロックすることで、個々のバケットとそれに含まれるオブジェクトがパブリックアクセスされないようにすることができます。偶発的または悪意のあるデータの公開が、それぞれのバケットに含まれていることを確実にするためです。
モニタリング
第3セクションでは、サービスを監視するためのAWSログメトリクスフィルターとアラームの設定に関する推奨事項を説明しています。CIS AWS 3.2に準拠するためには、ログメトリクスフィルターを設定し、MFAなしでAWSマネジメントコンソールにサインインした場合にアラームが発生するようにする必要があります。ネットワーク
第5セクションでは、デフォルトの仮想プライベートクラウド(VPC)のセキュリティ関連の設定に関する推奨事項が記載されています。例えば、CIS AWS 5.2. ネットワークACLが0.0.0.0/0からリモートサーバ管理ポートへの侵入を許可しないようにする。Sysdig SecureにおけるCSPM for AWS
Sysdig Secure for cloudは、AWSをはじめとするクラウド事業者のクラウドコンプライアンスに対応し、オンデマンドの評価とレポートを提供します。AWS CISベンチマークのコントロールにマッピングされたSysdig Secure for cloudのアウトオブボックス・ポリシーの一部をご紹介します。
コントロール1.6: ルートアカウントのMFAアクセスがオンになっているかどうか、またハードウェアMFAデバイスと関連付けられているかどうかを確認します。
コントロール1.20:S3バケットのブロックパブリックアクセスがオンになっているか確認する。
コントロール3.2: MFAなしでログメトリクスフィルタとアラームが設定されているか確認します。
コントロール5.2: 0.0.0.0/0からリモートサーバの管理ポートへのセキュリティグループの侵入が許可されているか確認します。
Sysdig Secure for cloudは、CISベンチマークにとどまらず、ランタイム検知、イメージスキャン、フォレンジックなど、様々な機能を備えています。
AWSのセキュリティに興味のある方は、Sysdig Secure for cloudがAWSクラウドとコンテナの脅威検知をどのように統一しているかをご確認ください。また、攻撃者が1つのコンテナの脆弱性を悪用して横移動を行い、クラウドインフラ全体を危険にさらす可能性についても書きました。
まとめ
サイバー攻撃やクラウドの設定ミスは、クラウドを利用している企業にとって永遠の悩みであり、セキュリティは最重要事項です。AWSのようなクラウドプロバイダーを利用する際には、自分の役割を果たし、組織のセキュリティ、ガバナンス、コンプライアンスの要件に沿ったきめ細かいアクセス・ポリシーを設定することが重要です。
AWS CIS ベンチマークは、AWS の資産とデータを保護するためのガイダンスとして使用できます。
また、Sysdig Secureのすぐに使えるポリシーを使ってAWSクラウドのコンプライアンスを簡単に追跡したり、内部および外部の監査人のためにオンデマンドの評価をスケジュールしたり、インタラクティブなダッシュボードやレポートでリアルタイムの洞察を得ることができます。
Sysdig Secure for Cloudを使えば、悪者が侵入する前にクラウドの設定ミスに継続的にフラグを立てたり、流出した認証情報からの異常なログインなどの疑わしいアクティビティを検出することができます。これらはすべて単一のコンソールで実行されるため、クラウドのセキュリティ態勢を簡単に検証することができます。しかも、わずか数分で始められます。
Sysdig Free Tierでは、無料でクラウドのセキュリティを確保できます。
Sysdig Secure DevOps Platformは、コンテナ、Kubernetes、クラウドを自信を持って実行するために必要な可視性を提供します。オープンソース・スタック上に構築され、SaaS型で提供されており、根本的にシンプルな運用と拡張性を実現しています。
今すぐ無料トライアルをお申し込みください!