ルートユーザーで直接AWSリソースの操作を行わない
ルートユーザーで AWS リソースの作成や操作などを行わないようにします。AWS リソースへの操作は別途 IAM ユーザーを作成、または IAM Identity Center (SSO) ユーザーを利用して行います。このような管理ユーザーを別途作成する場合を除き、基本的にルートユーザーは使用しないようにします。
ルートユーザーに関するベストプラクティスはこちらのドキュメントが参考になります。
- 「AWS アカウントのルートユーザーのベストプラクティス」
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/root-user-best-practices.html
ルートユーザーのアクセスキーの発行を行わない
CLIやアプリケーションなどからAWSの操作を行うための認証情報をルートユーザーに対して発行しないようにします。
ルートユーザーのMFAを有効にする
ルートユーザーへのアクセスを保護するための多要素認証を有効化しておきます。異動のタイミングで追加削除の対応を行うことを忘れずに行うことが重要です。
一般的には仮装 MFA デバイスを利用しますが、Yubikey 等による物理キーやハードウェアMFAデバイスを利用するやり方もあります。セキュリティ監査の観点で最も推奨されるハードウェアMFAデバイスですが、使用及び管理の手間を考慮し選定していただく必要があります。
仮装デバイスを有効にする方法については以下のドキュメントをご参考ください。
- 「AWS アカウントのルートユーザー (コンソール) の仮想 MFA デバイスを有効にする」 https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/enable-virt-mfa-for-root.html
ハードウェアMFAデバイスを利用した方法については以下をご参考ください。
- 「パスキーまたはセキュリティキーの有効化 (コンソール)」 https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_enable_fido.html
- 「ハードウェア TOTP トークンの有効化」 https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_enable_physical.html
ルートユーザー向けの推奨メールアドレス形式
個人のメールアドレスに紐づくものではなく、メーリングリストやエイリアスを使ったものにしておくと便利です。通知のメールを確認でき、担当者入れ替え時などにメールアドレスの変更オペレーションの手間が省けます。
- AWS アカウント作成の流れ
https://aws.amazon.com/jp/register-flow/
アカウント基本情報登録
AWSアカウントに基本情報(連絡先、代替の連絡先、秘密の質問情報)を登録して有事の際(ルートアカウントのMFA再設定など)にAWSサポートと連携できたり、ルート管理者の退職対応等が問題なく行えるようにします。特に担当者やメンバーの異動がある際の引き継ぎと修正を欠かせないようにしてください。
CloudTrailの設定
AWS上でいつ、誰によって、どの操作が行われたかの操作ログ(APIログ)が出ます。S3に保存するようにしておくことで監査ログとして活用します。
推奨構成は利用中のすべてのアカウント及びリージョンで CloudTrail を有効にし、ログ収集専用アカウントのS3に収集、管理者以外削除できないようにアクセス制御を行います。また、間違えてログが削除されないよう、削除MFA及びバージョニングを有効にするといった対策を取ります。
詳細については、以下の公式ドキュメントを参照してください。
- 「AWS CloudTrail セキュリティのベストプラクティス」 https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/best-practices-security.html
- 「コンソールで証跡を作成および更新する」 https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail-by-using-the-console.html
- 「MFA 削除の設定(S3)」 https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html
AWS上で作業を行うユーザーのIAMロール設定
IAMユーザーを作成する場合はグループを作成し、IAM Identity Center (SSO) を利用する場合は必要な権限を適用したIAMロールを利用します。最低限の権限を付与すると行った対応が設定できる状態にしておきます。
Trusted Advisor を有効化
現状の環境でAWSが推奨構成を教えてくれるサービスです。ベーシックプランでも一部重要なセキュリティ項目がサポートされますので基本的に有効にしておくことをおすすめします。
お支払い通貨の設定
支払通貨をUSDから日本円に変更します。
コストエクスプローラーを有効化
AWSのリソースやタグに応じたコストの集計・計算が可能になるツールです。システム費用の見積や削減が行いやすくなります。
Billingアラートの設定
当月に指定した料金を超えた時に、メールまたは Teams などのメッセージングサービスへ通知を送ることができます。予期しない課金額を早めに気づくために設定しておくと良いです。コストエクスプローラーを利用して任意のリソースに対する監視も可能です。
Billing アラートは日次ベースで指定料金を超えたら通知のみを行うもので、その通知を受けてコスト削減の対応を行ったり、コスト感を掴めたり、見に覚えがないサービスの利用料金等に関しては設定の確認等を行って設定ミスなどによる過剰な課金が発生していないかについて調査するような流れになります。
設定方法及び詳細は以下のドキュメントをご参照ください。
- 「AWS の予想請求額をモニタリングする請求アラームの作成」 https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html
AWS Config を有効化
構成管理とチェックに利用できるツールです。システムの内容に応じて推奨構成の設定が変わってきますので、各リソースに対する具体的なルール設定はアカウントごとに異なってくる可能性がありますが、共通設定に関しては前もって行うことが可能です。
また AWS Config は利用するアカウント・リージョンごとに有効化する必要があります。監査(Audit)アカウントでの設定有無を確認の上、有効化及び必要なマネージドルールの設定の詳細については下記ドキュメントを確認ください。
- 「コンソール AWS Config で をセットアップする」 https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/gs-console.html
- 「AWS Config マネージドルール」
https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/evaluate-config_use-managed-rules.html
注意点として、コスト増の原因になることがあります。最適な設定と運用方法に関してはぜひご相談ください。
Security Hub を有効化
重要かつ基本的に守るべきセキュリティリスクへの対応はTrusted Advisorを利用して対応可能ですが、より細かいセキュリティリスクについて、またセキュリティ基本事項のチェックリストによるリスク管理については Security Hub を利用すると便利です。
デフォルトでチェックが入っている以下2点から利用開始できます。各項目の粒度が細かく、一つ一つ判断しながらどこまで対応するかについて考慮が必要です。システムの特性を考慮して抑制できる項目もありますので、総合的に判断して対応を行っていただくのが良いです。
- AWS Foundational Security Best Practices
- CIS AWS Foundations Benchmark
Security Hub で指定した評価基準に AWS Config Rule を統合して利用する形になります。ルールの設定についてはシステム構成を考慮した上でSecurity Hubにて統合的にチェックを行えるため便利な仕組みとなります。詳細は以下をご参考ください。
- 「Security Hub を有効にする前の推奨事項」 https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-setup-prereqs.html
GuardDuty を有効化
S3, CloudTrail, VPC フローログ(VPC内の通信ログ)などのデータから脅威のある内容を検出するサービスです。ほかサービスとの組み合わせで検出した内容の通知を行うとった仕組みが作れます。
Amazon Macie を有効化
(※必須ではありません)S3バケットにあるセンシティブな情報を検出してくれるサービスです。安価とは言いにくい料金体型ですので、個人情報や秘匿性が高い情報などをS3に保存するようになったタイミングで検討されるのが良いかと思います。
Budgetの設定 + コスト配分タグ
具体的なコスト計画を策定して運用を行う場合は利用を検討されても良いと思います。アカウント単位でAWS料金の予算を指定して通知やレポートを受け取ることが可能になります。現状構成を踏まえた最適なコスト配分タグの設定方法に関しては別途ご相談ください。