ある企業はセキュリティ要件を強化するため、すべてのEC2インスタンスへの踏み台ホスト(Bastion Host)経由のSSHアクセスを廃止し、インバウンドポート22を完全に閉鎖することを決定しました。 開発者は引き続きプライベートサブネット内のLinuxインスタンスに対してコマンドライン操作を行う必要がありますが、アクセス権限はIAMを通じて厳密に制御・監査されなければなりません。 この要件を満たすために構成すべきAWSサービスと設定はどれですか。
AWS Systems Manager Session Managerは、セキュリティグループのインバウンドポートを開放せず、踏み台ホストやSSHキー管理も不要で、IAMポリシーに完全統合されたセキュアなシェルアクセスを提供するマネージドサービスです。インスタンス側のSSMエージェントがアウトバウンドHTTPS通信でAWS Systems Managerエンドポイントと接続するため、ポート22を完全に閉鎖できます。セッション操作履歴はCloudTrailに記録され、コマンドログはCloudWatch LogsやS3に保存でき、監査要件も完全に満たします。 AWS Systems Manager Session Managerを使用する:ポート22の完全閉鎖・IAMによるアクセス制御・セッション監査をすべて同時に満たす最適な構成です。追加インフラや常時起動の踏み台ホストが不要になります。 EC2 Instance Connectを使用する:一時的なSSH公開鍵をインスタンスメタデータにプッシュしSSH接続する仕組みのため、セキュリティグループでインバウンドポート22の開放が必要です。プライベートサブネットへのアクセスにはEC2 Instance Connect Endpointが別途必要であり、ポート完全閉鎖の要件を満たしません。 AWS Client VPNを設定する:開発者端末からVPCへのセキュアなVPNトンネルを構築できますが、接続後のアクセス手段はSSHプロトコルのままです。ポート22の開放が引き続き必要となり、インバウンド完全閉鎖の要件に反します。 AWS CodeDeployのライフサイクルフックを利用する:CodeDeployはデプロイ自動化のサービスであり、日常的なインスタンスアクセス管理には不適切です。ポート22を一時開放するアプローチはセキュリティ上の攻撃対象領域を増大させ、要件に反します。