EC2 セキュリティ強化
Amazon EC2のセキュリティ強化は、クラウドインフラストラクチャの基盤となる重要な要素です。
AWSの責任共有モデル
セキュリティの基本概念
AWSにおけるセキュリティは、AWSとお客様の間での責任共有モデルに基づいています。
クラウドのセキュリティ(AWSの責任)
- AWS Cloudで実行されるAWSサービスのインフラストラクチャの保護
- データセンターとネットワークアーキテクチャの構築
- 第三者監査機関による定期的なテストと検証
クラウド内のセキュリティ(お客様の責任)
- インスタンスへのネットワークアクセス制御(VPCとセキュリティグループの設定)
- インスタンスへの接続に使用される認証情報の管理
- ゲストオペレーティングシステムとソフトウェアの管理(アップデートとセキュリティパッチを含む)
- インスタンスにアタッチされたIAMロールと関連する権限の設定
セキュリティグループによるアクセス制御
仮想ファイアウォールの基本機能
セキュリティグループは、EC2インスタンスの仮想ファイアウォールとして機能し、受信および送信トラフィックを制御します。インバウンドルールは受信トラフィックを制御し、アウトバウンドルールは送信トラフィックを制御します。
最小権限の原則
セキュリティグループに対して、最小権限となるルールを適用することが重要です。必要最小限のポートとプロトコルのみを許可し、送信元IPアドレスを可能な限り制限する必要があります。
セキュリティグループの特徴
- 追加料金なしで利用可能
- ステートフル:許可されたインバウンドトラフィックに対する応答は自動的に許可
- デフォルト拒否:明示的に許可されていないトラフィックはすべて拒否
IAMによるアクセス管理
IDフェデレーションの活用
AWSリソースおよびAPIへのアクセス管理は、可能な限りIDプロバイダーおよびIAMロールによるIDフェデレーションを使用することが推奨されます。これにより、長期的な認証情報の管理リスクを軽減できます。
一時的な認証情報の使用
Amazon Security Token Service(Amazon STS)を使用して一時的なセキュリティ認証情報を生成し、リクエストに署名することができます。これにより、長期的なアクセスキーの露出リスクを最小化できます。
キーペアによる安全なアクセス
サポートされるキータイプ
Amazon EC2は以下のキータイプをサポートしています:
RSAキー
- LinuxおよびWindowsインスタンス対応
- 2048ビットSSH-2 RSAキー
- サポートされる長さ:1024、2048、4096ビット
ED25519キー
- Linuxインスタンスのみ対応
- Windowsインスタンスではサポートされていない
キーペア管理のベストプラクティス
- 1つのリージョンあたり最大5,000個のキーペアを作成可能
- プライベートキーは安全な場所に保管
- 第三者ツールを使用してキーペアを作成し、パブリックキーをAmazon EC2にインポートすることも可能
ネットワーク分離とVPCセキュリティ
VPCによる論理的分離
Virtual Private Cloud(VPC)は、AWS Cloud内の論理的に分離された独自のエリアにある仮想ネットワークです。ワークロードや組織エンティティごとにインフラストラクチャを分離するために、個別のVPCを使用することが推奨されます。
サブネットによる階層分離
サブネットはVPC内のIPアドレス範囲です。単一のVPC内でアプリケーションの階層(Web、アプリケーション、データベースなど)を分離するためにサブネットを使用します。インターネットから直接アクセスされるべきでないインスタンスには、プライベートサブネットを使用します。
暗号化によるデータ保護
EBSボリュームの暗号化
アタッチされたAmazon EBSボリュームは、保存時に暗号化することが推奨されます。EBSのデフォルト暗号化を有効にすることで、新しく作成されるすべてのEBSボリュームとスナップショットが自動的に暗号化されます。
スナップショットのセキュリティ
Amazon EBSスナップショットはパブリックに復元できないようにすることが重要です。機密データを含むスナップショットが意図せず公開されることを防ぐため、適切なアクセス制御を設定する必要があります。
インスタンスメタデータサービスの強化
IMDSv2の使用
EC2インスタンスは、インスタンスメタデータサービスバージョン2(IMDSv2)を使用することが推奨されます。IMDSv2は、以下のセキュリティ強化機能を提供します:
- セッションベースの認証
- HTTPリクエストヘッダーの検証
- Server-Side Request Forgery(SSRF)攻撃からの保護
Nitro Enclavesによる高度なセキュリティ
分離されたコンピューティング環境
AWS Nitro Enclavesは、機密性の高いデータを安全に処理するための分離されたコンピューティング環境を提供します。各Enclaveは以下の特徴を持ちます:
- 永続的なストレージなし
- 管理者やオペレーターのアクセスなし
- 外部ネットワーキングなし
- 同じNitro Hypervisor技術を使用したCPUとメモリの分離
継続的なセキュリティ管理
定期的な更新とパッチ適用
定期的にインスタンスのオペレーティングシステムやアプリケーションに対してパッチ処理、更新、および保護を行うことが重要です。これにより、既知の脆弱性からシステムを保護できます。
自動化されたセキュリティ監視
Amazon Inspector Amazon Inspectorを使用して、Amazon EC2インスタンスを自動的に検出し、ソフトウェアの脆弱性やネットワークへの意図しない公開がないかスキャンします。
AWS Security Hub AWS Security Hubコントロールを使用して、Amazon EC2リソースをセキュリティのベストプラクティスやセキュリティ基準に照らして監視します。
VPCフローログによる監視
ネットワークトラフィックの可視化
すべてのVPCでVPCフローログ記録を有効にすることが推奨されます。VPCフローログは、VPC内のネットワークインターフェースとの間で送受信されるIPトラフィックに関する情報をキャプチャする機能です。
セキュリティ強化のベストプラクティス
推奨事項一覧
セキュリティ領域 | 推奨アクション | 重要度 |
---|---|---|
アクセス制御 | セキュリティグループで最小権限の原則を適用 | 高 |
認証 | IAMロールとIDフェデレーションを使用 | 高 |
暗号化 | EBSボリュームとスナップショットの暗号化 | 高 |
監視 | VPCフローログとSecurity Hubの有効化 | 中 |
更新管理 | 定期的なパッチ適用とOS更新 | 高 |
継続的改善
- セキュリティ設定の定期的な見直し
- 新しいセキュリティ機能の評価と導入
- セキュリティインシデントからの学習と改善
- コンプライアンス要件への継続的な対応
引用元:
- https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-best-practices.html
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html
- https://press.aboutamazon.com/2020/10/aws-announces-general-availability-of-nitro-enclaves
- https://docs.amazonaws.cn/en_us/AWSEC2/latest/UserGuide/infrastructure-security.html
- https://docs.aws.amazon.com/us_en/AWSEC2/latest/UserGuide/ec2-security-groups.html
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security.html
- https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/fsbp-standard.html
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-best-practices.html
- https://docs.amazonaws.cn/en_us/cli/latest/userguide/cli-services-ec2-sg.html
- https://github.com/awscloudvendor1/amazon-ec2-user-guide/blob/main/iam-roles-for-amazon-ec2.md