サーバ構築のデージーネットTOP > OSS情報 > OSS紹介 > Apache Guacamole〜リモートデスクトップのOSS〜
Apache Guacamole〜リモートデスクトップのOSS〜
昨今、働き方改革で社内規則や働き方を見直すなどの取組みが各社で行われています。そのなかでも特にリモートワーク(テレワーク)という言葉を耳にする方も多いのではないでしょうか。Apache Guacamoleは、リモートワークで活躍することができる、社外から社内のシステムに接続が可能なリモートデスクトップのソフトウェアです。
Apache Guacamoleとは
Apache Guacamoleとは、リモートデスクトップやVNC、SSH、TELNETなど、リモートアクセスのゲートウェイとして動作するオープンソースソフトウェアです。The Apache Software Foundationより提供されており、ライセンスはApache、開発言語はC言語、Javaを利用しています。
Apache Guacamoleログイン画面
Apache Guacamoleの利用方法
リモートワークでの利用
社外から社内のネットワークにアクセスしようとする際に一般的には、VPNで接続を行うことが多くあります。しかしVPN接続は情報漏洩などのリスクも高く一度接続できてしまえば、自宅のパソコンにファイルをダウンロードすることも簡単にできてしまいます。さらにVPN接続をしている際に、ユーザがどのような操作をしているか確認することはできません。
Apache Guacamoleには、アクセス制限でホストやプロトコルなどを細かく設定できるため、不正なアクセスを防ぐことがます。ファイルの転送もSFTPを許可しない限り行うことはできません。さらに操作ログもテキストや動画で残すことができるため、問題発生時には操作履歴から原因を突き止めることが可能です。動画で操作ログを残せることで、リモートワーク者の監視に働き、怠慢な働き方の防止や情報漏洩の抑止につながります。
Apache Guacamoleリモートワーク
システム保守用のゲートウェイサーバ
最近では、企業内のシステムを他の会社に保守や運用を依頼するケースが数多くあります。その場合、自社以外の人がリモートログインをして、システムの保守・運用をします。しかしその際にVPN接続やパスワード認証だけでは、情報漏洩のリスクやどのような作業をしていたのかがわからないことがあります。Apache Guacamoleを利用することで、会社ごとにグループを作り、アクセス可能なホストやプロトコルを制限することができます。
どのような操作をしたのか記録を残すことができるため、問題が発生した場合にも、オペレーションミス等の事実関係を確認することができます。
Apache Guacamoleの特徴
リモートアクセス用のゲートウェイサーバ
Apache Guacamoleは、RDP、VNC、SSH、TELNET、SFTPなど、リモートアクセスに利用するプロトコルに対応したゲートウェイサーバとして利用することができます。通常であれば、RDPはリモートデスクトップのクライアントソフトウェア、SSHはターミナルエミュレータ等、プロトコルに合わせたソフトウェアが必要になります。しかし、Apache Guacamoleを利用すると、WEBブラウザから様々なプロトコルでリモートアクセスが可能になります。
Apache Guacamoleリモートアクセス画面
Webブラウザから接続が可能
Apache Guacamoleは、Webブラウザ上で操作が可能であり、接続もWebブラウザから行えるため、クライアント端末に特別なソフトウェアを必要としません。
操作ログ
操作ログというと一般的には、WindowsのイベントログやLinuxのaudit.logなど、テキストによるログが多く使用されています。Apache Guacamoleは、テキストによるコマンドの記録だけではなく、リモートデスクトップの操作を動画として残すことができます。動画で残るので、実際にユーザがどのような操作をしたのか、後から確認することができます。テキストのログも残すことができるので動画では確認することのできないようなショートカットキーの入力なども確認が可能です。
Apache Guacamoleログの動画画面
複数人での画面共有
Apache Guacamoleは、共有用のURLを発行することができ、画面を複数人で共有しリモートデスクトップやSSHの操作・閲覧が可能です。また操作する人以外は「画面の閲覧のみ」という設定もすることができます。この機能を利用することで、複数人での情報共有から、遠隔での指導・教育等にも利用できます。
Apache Guacamole画面共有イメージ
アクセス制限とユーザ管理
Apache Guacamoleは、ユーザやグループごとにアクセス可能な接続先のホストやプロトコルを細かく設定することができます。ユーザとグループの両方に権限や接続の設定が存在する場合には、ユーザの設定が優先されます。
さらにApache Gucamoleは、ユーザ情報や設定の保存先として、MySQL/PostgreSQLやLDAPなどのデータべースを利用することができます。またSQLデータベースとLDAPを併用することも可能です。例えば設定情報はSQLデータベースに保存し、LDAPは認証に利用できます。ただしこの場合、SQLデータベースにもユーザ情報が必要になるため、ユーザ情報の二重管理が発生するため注意が必要です。
ロードバランス構成ができる
Apache Guacamoleは、負荷分散構成が可能です。1台のサーバの負荷が高くなりすぎた場合に、台数を増やして負荷を分散することやネットワークの通信量が問題になった場合に、別のネットワーク経由でアクセスさせることが可能です。また、冗長構成としても利用することができます。
認証方法
Apache Guacamoleは、MySQL/PostgreSQLやLDAP認証の他にCASやOIDCなどのシングルサインオンや、RADIUSの認証方法にも対応しています。
デージーネットの取り組み
デージーネットでは、Apache Guacamoleの調査報告書を公開しています。調査報告書には、WEBブラウザでのリモートデスクトップ接続の様子や、1台のマシンでどの程度の接続が可能か検証を記載しています。
今までのApache GuacamoleはWEBインターフェースが日本語化されていないため、日本であまり普及していませんでした。そこでデージーネットは「Apache Guacamole」の日本語化を行い正式に採用されました。
「情報の一覧」
Apache Guacamole調査報告書
Apache Guacamole(グァカモーレ/ワカモーレ/ワカモレ)は、RDP(リモートデスクトップ)やVNC、SSH、TELNETなど、リモートアクセスのゲートウェイとして動作するソフトウェアです。本書はApache Guacamoleの調査報告書です。