c2.13 SSH/RDP ポートを開けずに EC2 を管理する
SSH や RDP を開ける代わりに、AWS Systems Manager Session Manager と Fleet Manager でインスタンスを管理します。インバウンドポートを一切開けずに済み、MFA とコマンド監査が得られ、Windows の RDP にはコンソールから到達できます。いずれも追加費用はありません。
実装ガイダンス
管理ポートを閉じる
開いたインバウンドの SSH(22)と RDP(3389)ポートはブルートフォース攻撃の格好の標的です。踏み台やサードパーティのトンネルの代わりに AWS Systems Manager Session Manager を使います。SSM エージェントがアウトバウンド接続を開くため、セキュリティグループからインバウンドの管理ポートを完全に削除できます。
Session Manager と Fleet Manager
- Session Manager は SSH なしで Linux のシェルや Windows の PowerShell セッションを提供します。
- Fleet Manager はログインせずにインスタンスを管理し(プロセスの確認、ファイル転送)、Windows インスタンスへのワンクリックのリモートデスクトップを提供します。認証は IAM Identity Center、OS の資格情報、キーペアで行えます。
いずれも MFA(IAM Identity Center または IAM ユーザー経由)に対応し、監査のためにすべてのコマンドを記録できます。
セットアップ
Fleet Manager と Session Manager は Systems Manager の無料機能ですが、SSM エージェント(多くの AMI にプリインストール済み)、<code>AmazonSSMManagedInstanceCore</code> マネージドポリシーを持つインスタンスプロファイル、SSM エンドポイントへのネットワークアクセス(NAT ゲートウェイ、または望ましくは VPC エンドポイント経由)が必要です。
CLI でセッションを開始する
インバウンドポートを開けずにインスタンスのシェルを開きます(AWS CLI 用の Session Manager プラグインが必要):
aws ssm start-session --target i-0123456789abcdef0How to validate
- SSM エージェントは導入済みで、EC2 インスタンスの何%に入っていますか?
- チームは SSH/RDP ではなく Session Manager / Fleet Manager を使っていますか?
- セキュリティグループからインバウンドの管理ポートを削除しましたか?
Threats addressed
- 管理ポート(22、3389)への無制限なインバウンドアクセスは SSH/RDP のブルートフォース攻撃を招き、それらのポートのホストはパッチ未適用であることが多く、ログイン成功やエクスプロイトが攻撃者に直接アクセスを与えます。
AWS サービス
料金
Session Manager と Fleet Manager に追加費用はありません。
Cloud Security Maturity Model