きっかけ
うちのチームが複数データセンターを運用してて、各拠点でバラバラにSSH鍵を管理してた。新しい人が入るたびに「あ、この拠点の鍵誰に聞けばいいんだっけ」みたいな状況が発生して、これはマズいなと思ってた。誰がいつ何をアクセスしたかも記録残らないから、セキュリティ監査の時は本当に手間だった。
使ってみた
最初は「堅牢なセキュリティツール=セットアップが複雑」って勝手に思い込んでたんだけど、実際に docker-compose up -d やったら割とすぐ起動した。初期ユーザー作成してログインしたら、管理画面が結構直感的。サーバーを登録して、ユーザーにアクセス権限を付与するって流れが面倒じゃない。LDAPと連携させて、Active Directoryのユーザーを自動でプロビジョニングすることもできた。
ここが良い
何より操作ログの一元化が強い。誰がどのサーバーにいつアクセスして、どんなコマンド打ったかが全部ブラウザから見える。今まで各サーバーのauth logを手動で集めてグレップしてたんだけど、その作業がなくなった。あと多要素認証(MFA)もすぐ有効化できるし、セッション録画の機能もある。対応プロトコルもSSHだけでなくRDP・VNC・Kubernetes・データベースと幅広いので、Linux系もWindows系もKubernetesクラスタもまとめて管理できる。実装が楽なのに、セキュリティ要件をかなり満たせるのが面白い。
競合比較
| 項目 | Jumpserver | Teleport | Apache Guacamole |
|---|---|---|---|
| 対応プロトコル | SSH, RDP, VNC, K8s, DB | SSH, RDP, K8s, DB | SSH, RDP, VNC |
| セッション録画 | あり | あり(有料版) | なし |
| LDAP/AD連携 | あり | あり | あり |
| MFA | あり | あり | プラグイン |
| Web UI | あり(Lina) | あり | あり |
| Webターミナル | あり(Luna) | あり | あり |
| ライセンス | GPLv3 | AGPLv3 / 商用 | Apache 2.0 |
| 日本語ドキュメント | 一部 | なし | なし |
Jumpserverはセッション録画とプロトコル対応の幅広さが特徴。Teleportは商用版の機能が充実しているが、OSSの範囲ではJumpserverが上回る場面が多い。Guacamoleはシンプルな構成で導入しやすいが、監査機能は自前で構築する必要がある。ContainerSSHのようなコンテナベースの隔離環境と組み合わせるとセキュリティレイヤーをさらに強化できる。
気になった点
ドキュメントの日本語化がまだ不完全で、中国語や英語のドキュメントを読まないといけない場面がある。あとWindows系のサーバー管理(RDP)はLinuxに比べると若干機能が限定的な感じ。大規模環境だと設定の細かいチューニングが必要になってくるみたい。Grypeなどの脆弱性スキャンツールと併用すると、アクセス管理と脆弱性管理の両面からセキュリティ強化ができる。
まとめ
複数のサーバーを複数の拠点で管理してるなら、絶対導入を検討する価値がある。セキュリティ要件が厳しい環境だと特に。運用の手間が明らかに減るし、何より「今この瞬間、誰が何をしてるか」が可視化されることの安心感は代え難い。