1. SSH鍵とは——なぜ管理が難しいのか
SSH鍵とは、SSH(Secure Shell)という仕組みでサーバーなどに安全に接続(ログイン)するために使う「鍵」です。SSHは、システム管理者がサーバーを遠隔操作する際に広く使われます。その認証には、パスワードの代わりに「公開鍵」と「秘密鍵」のペアを使う方式が一般的で、これがSSH鍵です。手元に秘密鍵を持つ人だけが、対応するサーバーに接続できる仕組みです。
SSH鍵認証は、パスワード認証より安全とされます。しかし、その一方で「管理が難しい」という重大な弱点を抱えています。鍵は簡単に作成・コピーでき、多数のサーバーとユーザーの間で無数に増えていきます。そして、パスワードと違って「有効期限」がないため、一度作った鍵が、誰にも管理されないまま、いつまでも有効であり続けるのです。この「増えすぎて、放置される」性質が、SSH鍵管理を難しくしています。
2. 放置されたSSH鍵がもたらすリスク
SSH鍵を管理せず放置すると、次のような深刻なリスクが生じます。
| リスク | 内容 |
|---|---|
| 退職者の鍵の残存 | 退職・異動した人の秘密鍵が有効なまま残り、不正アクセスの入口になる |
| 所在不明の鍵 | どのサーバーに、どの鍵でアクセスできるのか把握できず、統制が効かない |
| 秘密鍵の漏えい | パスフレーズなしの秘密鍵が盗まれれば、そのままサーバーに侵入される |
| 過剰なアクセス権 | 1つの鍵が多数のサーバーにアクセスでき、奪われると被害が広範囲に及ぶ |
特に深刻なのが、退職者の鍵の残存と所在不明の鍵です。多くの企業で、長年の運用の結果、「誰のものか分からない鍵」「もう使われていないはずの鍵」が大量に蓄積しています。これらは監視されず、有効なまま放置された「開いたままの裏口」です。攻撃者がこうした鍵を1つでも入手すれば、堂々とサーバーに侵入できてしまいます。SSH鍵の放置は、退職者アカウントの放置と同じく、見えない侵入口を増やす行為なのです。
3. SSH鍵管理の5つのベストプラクティス
- ① 鍵の棚卸し・可視化:まず「どのサーバーに、どの鍵で、誰がアクセスできるか」を洗い出し、全体を把握します。管理の第一歩です。
- ② ライフサイクル管理:鍵の発行から失効までを管理し、退職・異動・不要になった鍵を確実に削除します(特に退職者の鍵は即座に無効化)。
- ③ 秘密鍵の保護:秘密鍵にはパスフレーズを設定し、安全に保管します。共有や使い回しを避けます。
- ④ アクセスの最小化:1つの鍵に過剰なアクセス権を与えず、必要な範囲に絞ります(最小権限)。
- ⑤ 定期的なローテーションと監査:鍵を定期的に入れ替え、利用状況を記録・監査します。
これらを人手だけで管理するのは困難なため、特権アクセス管理(PAM)の仕組みで、SSH鍵を一元的に管理・統制するのが有効です。SSH鍵は「サーバーへの特権的なアクセス手段」であり、その管理はPAMの重要な一部です。PAM全体の考え方はPAM(特権アクセス管理)とはをご覧ください。また、退職者の権限を確実に止める考え方は、ID管理全般に共通します(アカウント管理が原因の事故も参考に)。
4. SSH鍵と認証——特権アクセスを守る視点
SSH鍵管理を考えるとき、忘れてはならないのが、SSHでのアクセスは、多くの場合サーバーの「特権的な操作」につながるという点です。つまり、SSH鍵の管理は、単なる鍵の整理ではなく、特権アクセスを守るセキュリティそのものなのです。
ここで重要なのは、SSH鍵という「所持するもの」だけに頼るのではなく、「鍵を使う人が、本当に本人か」を確かめる認証と組み合わせることです。秘密鍵が盗まれれば、それだけでサーバーに入られてしまいます。だからこそ、SSHアクセスにも多要素認証を組み合わせ、鍵の所持だけでなく本人性を確認する運用が推奨されます。そして、その本人確認の最終形が、フィッシングに強いパスワードレス認証(FIDO2/パスキー)です。実際、FIDO2のセキュリティキーをSSH認証に使う運用も広がっており、秘密鍵をハードウェアで保護し、フィッシングにも強い形でサーバーアクセスを守ることができます。
SSH鍵を含む特権アクセスの世界でも、目指す方向は同じです。盗まれうる情報だけに頼るのではなく、なりすましを原理的に封じる強い認証で、入口を固める。米国NISTをはじめ世界のガイドラインが最終的に求める認証も、このフィッシングに強いパスワードレスです。SSH鍵を統制するとともに、そのアクセスを強い認証で守る——これが、サーバーへの特権アクセスを守る、これからの考え方です。
5. まとめ
SSH鍵は、サーバーへ安全にアクセスするための鍵ですが、有効期限がなく無数に増えるため、管理を怠ると放置され、退職者の鍵や所在不明の鍵が「見えない侵入口」になります。①棚卸し・可視化、②ライフサイクル管理、③秘密鍵の保護、④アクセスの最小化、⑤定期ローテーションと監査、という5つのベストプラクティスで、SSH鍵を統制することが重要です。人手では困難なため、PAMの仕組みで一元管理するのが有効です。
そして、SSHアクセスは多くの場合サーバーの特権的な操作につながるため、鍵の管理だけでなく、「鍵を使う人が本人か」を確かめる強い認証との組み合わせが欠かせません。その最終形が、フィッシングに強いパスワードレス認証(FIDO2/パスキー)です。世界のガイドラインが最終的に求めるのも、このパスワードレスです。まず自社のSSH鍵が放置されていないかを棚卸しし、あわせてそのアクセスを守る認証を見直しましょう。進め方でお困りなら、専門家にご相談ください。