AWSでは、クラウド基盤をAWSが保護する範囲と、アカウントや利用サービスを利用者が設定する範囲が分かれています。WordPressなどサイト側の更新だけでなく、クラウド設定も確認します。
IAMとアクセスキー
- ルートユーザーの多要素認証
- ルートユーザーにアクセスキーが作られていないか
- 使用していないユーザー、ロール、アクセスキー
- 必要以上に広い権限と、コードや設定ファイルに残った認証情報
日常作業でルートユーザーを使わず、担当者やシステムごとに必要な権限を分けます。認証情報を削除する前には、実際に使用している処理がないか確認します。
外部へ公開している範囲
- Security GroupでSSH、RDP、データベースを公開していないか
- S3 Block Public Accessとバケットポリシー
- CloudFrontを使う場合のオリジン直接アクセス
- 管理画面や監視ツールの接続元制限
Web公開に必要なポートと、管理作業だけに必要なポートを分けます。S3は「公開Webサイトとして使うバケット」と「公開してはいけないデータ」を同じ判断にしないことが重要です。
記録と脅威検知
- CloudTrailの記録範囲と保存先
- GuardDuty、Security Hubを使う範囲
- ログの保持期間と確認担当
- 請求予算と異常な利用額の通知
サービスを有効にするだけでなく、検出結果や通知を誰が確認し、どの条件で対応するかを決めます。料金が発生する機能は、対象リージョンと必要性を確認してから設定します。
パッチと復旧
EC2やLightsail上のOS、Webサーバー、PHP、CMSも更新対象です。バックアップは同じ認証情報だけで削除できる状態を避け、保存先、権限、リージョン、復元方法を確認します。
変更前に構成を記録する
AWSの設定は複数サービスにまたがります。変更対象、依存関係、通信経路、元へ戻す方法を記録し、小さな単位で確認しながら作業します。