Apache Guacamole
今月の気になるオープンソース情報(2019年6月号)
OSS研究室 森 彰吾
今回はApache Guacamole(グァカモーレ/ワカモーレ/ワカモレ)を紹介します。
Apache Guacamoleは、リモートワークデスクトップやSSHなどのリモートアクセスのゲートウェイとなるソフトウェアです。
利用イメージ
少しイメージがしにくいので、どのように動くか、ざっと利用の流れだけ先にお伝えします。
- 社外からAapache GuacamoleのURLにWEBブラウザでアクセス
- パスワード等の認証を行ってログイン
- 利用したいWindowsホストにリモートデスクトップに接続
- WEBブラウザ上で、Windowsの操作が可能に!
通常であれば、RDPはリモートデスクトップのクライアントソフトウェア、SSHはターミナルエミュレータ等、プロトコルに合わせたソフトウェアが必要になります。しかし、Apache Guacamoleを利用すると、WEBブラウザから様々なプロトコルでリモートアクセスが可能になります。
Apache Guacamoleの機能
Apache Guacamoleの機能をまとめると次のようになります。
- RDP(リモートデスクトップ)/VNC/SSH/TELNETのプロトコルに対応
- WEBブラウザだけで利用可能(特別なクライアントソフトウェアは不要)
- ユーザ・グループ毎に、アクセス可能なホスト・プロトコルを制限可能
- 監査ログを残すことが可能
- 画面の共有が可能
特徴的なのは監査ログです。監査ログと聞くと、例えばWindowsのイベントログやLinuxのaudit.logなど、テキストのログを思い浮かべます。ただApache Guacamoleでは操作のログを動画として残すことができます。動画として残すことで、実際にユーザがどのような操作をしたのか、後から確認できるようになっています。もちろんコマンド入力や、キーイベントをテキストのログとして残すこともできるため、動画だけではわからないショートカットキーの入力等も、確認できるようになっています。
画面の共有も面白い機能です。共有が許可されている場合、共有用のURLを発行するだけで、他の人とリモートデスクトップやSSHの操作画面を共有することができます。この機能は、単純な情報共有から、遠隔での指導・教育等にも利用できます。
想定ユースケース
このような機能を持つApache Guacamoleは、例えば次のように利用できます。
リモートワーク用のゲートウェイ
例えば自宅から会社のネットワークに接続して仕事をする場合、VPN接続を行うことが一般的です。ただ、VPN接続はネットワークに繋がってしまえば、許可されているホストには接続したい放題ですし、自宅のPCにファイルをダウンロードすることも容易にできてしまいます。さらに何らか別の仕組みを用意しないと、VPN接続をしたユーザがどのような操作をしたのかを後から知ることはできません。
Apache Guacamoleを利用すると、接続するホストまで絞りこむことが可能で、ファイルの転送もSFTPを許可しない限りできません。そして監査ログが残るため、何か怪しい動きがあった場合にも、後からどのようなことをしたのか知ることができます。そもそも監査ログを残すことで、犯罪的な行為の抑止力にもなります。
システム保守用の踏み台サーバ
システムに様々なベンダー企業が関わっているということがよくあります。そのような場合、様々なベンダーがリモートログインをして、システムの保守・運用をします。しかしVPN接続やパスワード認証だけでは、まったく無関係なシステムにアクセスできてしまうリスクが伴います。また上記の例と同様に操作の状況を知ることができません。
Apache Guacamoleを利用すると、ベンダー毎にグループを作り、アクセス可能なホストやプロトコルを限定することができます。問題が発生した場合にも、どのような操作をしたのか証拠を残すことができるため、オペレーションミス等の事実関係を後から追いかけることができます。
伝えきれないApache Guacamoleの情報
今回はメールマガジンですので、文章でApace Guacamoleを紹介しました。ただApache Guacamoleを理解するには、WEBブラウザの様子を見るのが一番です。デージーネットでは、Apache Guacamoleの調査報告書を公開しています。調査報告書には、WEBブラウザでのリモートデスクトップ接続の様子や、1台のマシンでどの程度の接続が可能か、という検証まで記載しています。Apache Guacamoleについてより詳しく知りたいという方は、ダウンロードをお願いします。