
「まさか自分の鍵が流出するなんて…」
私はかつて、EC2 PEM 管理の甘さが原因で、大切に運用していたサーバーをゼロから再構築する羽目になりました。
SSHパスワード認証を禁止し、安全だと思っていた「鍵認証」。
しかし、外部の協力会社や個人PCからひとたびPEMファイルが漏れれば、サーバーは一瞬でスパムメール送信の踏み台に変わります。
ダウンロードした鍵をそのまま使っていませんか? その運用には「5つの落とし穴」が潜んでいます。
この記事では、EC2 PEM 管理の重要性と、秘密鍵が流出した際の恐怖について詳しく解説します。
前回の記事はこちら: AWS EC2でSSHパスワード認証を禁止すべき理由
AWS EC2 PEM 管理(鍵認証)は本当に安全か?
結論から述べると、PEMキー(秘密鍵)による認証は強力かつ簡単ですが、その「管理運用」に重大なリスクが潜んでいます。
PEMキー自体は暗号学的に安全ですが、物理的なファイルとして存在するため、紛失や流出のリスクが常に付きまといます。
現代のAWS運用では「鍵を持たない(Keyless)運用」が推奨されるようになっていますが、まずは現状のEC2 PEM 管理におけるリスクを正しく理解することが重要です。

【実体験】PEMキー流出からサーバー再構築に至った恐怖
筆者が実際に経験した、背筋の凍るような事例を紹介します。
事件の始まり:外部協力会社からの流出
ある日、EC2を踏み台にされて大量のフィッシングメールが送られていることに気が付きました。調査したところ、外部協力会社からPEMキーが流出していたことが判明したのです。
発覚した被害状況
サーバーのログを確認すると、以下の絶望的な状況が明らかになりました。
- 見知らぬIPからの大量ログイン履歴: 大量に不正アクセスを受けていました。
- 踏み台化による大量メール送信: サーバーがスパムメール送信の片棒を担がされていました。
- バックドアの懸念: どこにバックドア(裏口)を仕掛けられたか特定できず、もはやそのOS自体が信頼できない状態に。
結論:サーバー再構築しか道はなかった
一部のファイルを消せば済む話ではありません。どこに悪意のあるプログラムが隠されているか不明なため、泣く泣くEC2を破棄し、完全に新規で再構築することになりました。
このように、EC2 PEM 管理を怠ると重大なリスクを招きます。
教訓: PEMキーは一度流出すると、被害の全容把握が極めて困難です。個人PCでの管理も同様にリスクが高く、「流出させない」だけでなく「鍵を使わない」仕組み作りが不可欠です。
EC2 PEM 管理における「5つの落とし穴」
多くの現場で見られる、セキュリティ上の脆弱なポイントを整理しました。
1. 権限設定(パーミッション)の不備
- NG例:
chmod 777(誰でも読み書き可能) - OK例:
chmod 400(所有者のみ読み取り可能)
2. キーペアの共有と使い回し
チーム全員で1つのPEMキーを使うのは、監査(誰がいつ入ったか)が不可能になるため厳禁です。
3. ソースコード管理ツール(GitHub等)への誤コミット
パブリックリポジトリにプッシュした瞬間、クローラーに盗まれ不正利用の標的になります。
4. 退職者・異動者のアクセス権残存
共有鍵の場合、担当者が辞めるたびに全サーバーの鍵差し替え作業が発生し、運用が破綻します。
5. 個人PCの紛失・盗難
ローカルPCに保存されたPEMキーは、PC本体の紛失時にそのままサーバーへのバックドアになります。
安全な EC2 PEM 管理を実現するベストプラクティス
① SSH Agent Forwardingの活用
ローカルPCに秘密鍵を置いたまま、踏み台経由で接続。
サーバー間に鍵をコピーする必要がなくなります。
② IAM Instance Connectによる一時発行
AWSがその場限りの一時的な鍵を発行します。
「永続的なPEMキーを管理しなくて良い」のが最大の特徴です。
③ Session Managerへの移行【最強の推奨案】
AWSが現在最も推奨している方法です。
- ポート22番(SSH)を閉じたまま接続可能
- ブラウザやCLIからログイン可能
- 操作ログがすべてCloudWatch Logsに記録される
| 比較項目 | PEMキー(従来) | Session Manager(推奨) |
| セキュリティ | 低(流出リスクあり) | 高(IAM制御、鍵不要) |
| 運用負荷 | 高(鍵の配布・保管) | 低(IAM設定のみ) |
| ログ記録 | サーバー内のみ | AWS側に全ログ保存 |
まとめ:これからのEC2接続はどうあるべきか
EC2 PEM 管理は、単なるファイル保存の問題ではなく、インフラ全体のセキュリティ設計に関わる重要事項です。
今すぐ取るべきアクション:
- 現状確認: ダウンロードフォルダにPEMキーが放置されていないか確認。
- 権限見直し: 共有PEMをやめ、個別IAMユーザー管理へ。
- 脱・鍵管理: 最終的には AWS Systems Manager セッションマネージャー を導入し、PEMキーを廃止する。
「鍵をいかに守るか」から「鍵を持たずにどう安全に接続するか」へシフトしましょう。


