オープンソース

Apache Guacamole〜リモートデスクトップのOSS〜

昨今、働き方改革や新型コロナウイルスの影響で、社内規則や働き方を見直す取組みが各社で行われています。特に、リモートワーク(テレワーク)の導入は当たり前となり、自宅や外出先から社内のデスクトップPCに接続する機会が増えています。Apache Guacamoleは、リモートワーク等で活用可能な、社外から社内のシステムに接続できるリモートデスクトップのソフトウェアです。この記事では、Apache Guacamoleの特徴を紹介します。

目次

Apache Guacamoleとは

Apache Guacamoleとは、リモートデスクトップやVNC、SSH、TELNETなど、リモートアクセスのゲートウェイとして動作するオープンソースソフトウェアです。The Apache Software Foundationより提供されており、ライセンスはApache、開発言語はC言語、Javaを利用しています。

ApacheGuacamoleログイン画面

Apache Guacamoleログイン画面

Apache GuacamoleをCentOSとRHELにインストールする場合には、EPELレポジトリからパッケージを入手可能です。また、DebianやUbuntuでも、パッケージから インストールすることができます。なお、docker hubには、いくつかのコンテナイメージが公開されていますが、Apache Guacamoleのオフィシャルなイメージは公開されていません。

Apache Guacamoleの利用方法

Apache Guacamoleを利用したテレワーク

社外から社内のネットワークにアクセスしようとする際に一般的には、VPNで接続を行うことが多くあります。しかしVPN接続は情報漏洩などのリスクも高く、一度接続できてしまえば、自宅のパソコンにファイルをダウンロードすることも簡単にできてしまいます。さらにVPN接続をしている際に、ユーザがどのような操作をしているか確認することはできません。

Apache Guacamoleには、アクセス制限でホストやプロトコルなどを細かく設定できるため、不正なアクセスを防ぐことができます。ファイルの転送もSFTPを許可しない限り行うことはできません。さらに操作ログもテキストや動画で残すことができるため、問題発生時には操作履歴から原因を突き止めることが可能です。動画で操作ログを残せることで、リモートワーク者の監視に役立ち、怠慢な働き方の防止や情報漏洩の抑止につながります。

テレワークでの利用

テレワークでの利用

システム保守用のゲートウェイサーバ

最近では、企業内のシステムの保守や運用を、他の会社に依頼するケースが数多くあります。その場合、自社以外の人がリモートログインをして、システムの保守・運用をします。しかしその際にVPN接続やパスワード認証だけでは、情報漏洩のリスクやどのような作業をしていたのかがわからないことがあります。Apache Guacamoleを利用することで、会社ごとにグループを作り、アクセス可能なホストやプロトコルを制限することができます。

どのような操作をしたのか記録を残すことができるため、問題が発生した場合にも、オペレーションミス等の事実関係を確認することができます。

Apache Guacamoleの特徴

リモートアクセス用のゲートウェイサーバ

Apache Guacamoleは、RDP、VNC、SSH、TELNET、SFTPなど、リモートアクセスに利用するプロトコルに対応したゲートウェイサーバとして利用することができます。通常であれば、RDPはリモートデスクトップのクライアントソフトウェア、SSHはターミナルエミュレータ等、プロトコルに合わせたソフトウェアが必要になります。しかし、Apache Guacamoleを利用すれば、Webブラウザから様々なプロトコルでリモートアクセスが可能になります。そのため、クライアント端末に特別なソフトウェアを用意する必要がありません。Apache Guacamoleの対応プロトコルについては、無料の調査報告書で解説しています。

Apache Guacamole基本設定画面

基本設定画面

Webブラウザから接続が可能

Apache Guacamoleは、Webブラウザ上で操作することが可能です。また、リモートデスクトップ接続もWebブラウザから行えるため、クライアント端末に特別なソフトウェアを必要としません。リモートデスクトップやSSH等のプロトコルに関わらず、複数のマシンに同時に接続することができます。

なお、もともとのWebインターフェースは日本語表示に対応していませんでしたが、デージーネットで日本語化を行い、日本語でも利用することができるようになりました。さらに、デージーネットでは日本語版の利用マニュアルも無償で公開しています。

操作ログ

操作ログというと一般的には、WindowsのイベントログやLinuxのaudit.logなど、テキストによるログが多く使用されています。Apache Guacamoleは、テキストによるコマンドの記録だけではなく、リモートデスクトップの操作を動画として残すことができます。動画で残るので、実際にユーザがどのような操作をしたのか、後から確認することができます。テキストのログも残すことができるので、動画では確認することのできないようなショートカットキーの入力なども確認が可能です。

操作ログの再生画面

操作ログの再生画面

動画の閲覧

今までのApache Guacamoleでは、ログが特殊なフォーマットで保存されているため、一度mp4形式に変換してから動画を閲覧する必要がありました。しかし、Apache Guacamole1.5系から、動画をブラウザ上で閲覧するためのエクステンション「guacamole-history-recording-storage」が公開されました。このエクステンションを導入することで、Webブラウザ上で管理者が操作の動画を閲覧することができます。

なお、この録画閲覧機能については、調査報告書にてより詳しく解説しています。

動画の一覧画面

動画の一覧画面


ブラウザでの動画の視聴

ブラウザでの動画の視聴

動画閲覧の注意点

Webブラウザ上で動画を閲覧できることで非常に便利になりましたが、以下の注意点もあります。

  • 管理者ユーザしか録画を閲覧できない

    Apache Guacamoleには、ユーザ管理者のような権限を持つことが可能ですが、このユーザ管理者では動画を閲覧することができません。

  • 動画はmp4等の一般的な形式ではない

    ログの仕組みとして、画像のコンテンツを連続して受信して再生している動きになっているため、Webブラウザ側では、画像を連続して表示するパラパラ漫画のような方法で再生を行っています。このため、閲覧する動画はダウンロードができません。

アクセス制限とユーザ管理

Apache Guacamoleは、ユーザやグループごとにアクセス可能な接続先のホストやプロトコルを細かく設定することができます。ユーザとグループの両方に権限や接続の設定が存在する場合には、ユーザの設定が優先されます。

さらに、ユーザ情報や設定の保存先として、MySQL / PostgreSQLLDAPなどのデータべースを利用することができます。またSQLデータベースとLDAPを併用することも可能です。例えば設定情報はSQLデータベースに保存し、LDAPは認証に利用できます。ただしこの場合、SQLデータベースにもユーザ情報が必要になるため、ユーザ情報の二重管理が発生するため注意が必要です。

認証方法

Apache Guacamoleでは、ユーザ情報や設定の保存先として、MySQLやPostgreSQL、LDAPを利用することができます。また、CASやOIDCなどのシングルサインオンや、RADIUSの認証方法にも対応しています。さらに、TOTP(Time-based One Time Password)を有効にするためのエクステンションも用意されています。TOTPが有効になっている場合、通常のログイン後にQRコードが表示されます。これをGoogle AuthenticatorなどのTOTPに対応したスマートフォンアプリで読み取ることで、ワンタイムパスワードを発行することができます。

複数人での画面共有

Apache Guacamoleは、共有用のURLを発行することができ、画面を複数人で共有しリモートデスクトップやSSHの操作・閲覧が可能です。また、操作する人以外は「画面の閲覧のみ」という設定をすることで、入力を禁止することもできます。この機能を利用することで、複数人での情報共有から、遠隔での指導・教育等にも利用できます。次の画面はSSH接続を共有している例です。画像では分かりにくいですが、2人のユーザが別のブラウザからアクセスしている状況を再現しています。

画面共有イメージ

Apache Guacamole画面共有イメージ

ロードバランス構成ができる

Apache Guacamoleは、負荷分散構成が可能です。1台のサーバの負荷が高くなりすぎた場合に、台数を増やして負荷を分散することや、ネットワークの通信量が問題になった場合に、別のネットワーク経由でアクセスさせることが可能です。また、冗長構成としても利用することができます。

デージーネットの取り組み

デージーネットでは、Apache GuacamoleのWebインターフェースの日本語化を行いました。また、日本語版のマニュアルも作成し、デージーネットのホームページ上で無償公開しています。その他、お客様の様々なニーズにお答えするため、動画生成とダウンロードを行うインタフェースの開発なども行っています。デージーネットでは、Apache Guacamoleを利用したリモートデスクトップの構築や保守のサービスを提供しています。導入をご検討の方はお気軽にお問い合わせください。

デージーネットで調査したApache Guacamoleの調査報告書には、インストール方法、Webブラウザでのリモートデスクトップ接続の様子や、1台のマシンでどの程度の接続が可能か検証を記載しています。

「情報の一覧」

Apache Guacamole調査報告書

無料資料ダウンロード

Apache Guacamole(グァカモーレ/ワカモーレ/ワカモレ)は、RDP(リモートデスクトップ)やVNC、SSH、TELNETなど、リモートアクセスのゲートウェイとして動作するソフトウェアです。本書はApache Guacamoleの調査報告書です。調査報告書には、インストール方法や日本語化の方法等が記載されています。

録画ダウンロード機能を搭載したリモートデスクトップ環境の構築事例

構築事例

今回は、お客様が提供するリモートメンテナンス環境にApache Guacamoleを利用し、リモートデスクトップ環境を構築した事例です。お客様のご要望は、遠隔地からリモートで設備のメンテナンスを行うサービスを提供する際に、実際に作業した内容を動画として保存したいというものでした。そこで、Apache Guacamoleの構築と動画をダウンロードできるツールを開発し、導入しました。

セキュリティを高めたリモートデスクトップ環境の構築事例

構築事例

Apache Gucamoleを使ったリモートデスクトップ環境を構築した事例です。お客様が保守をしているサーバに社内の誰でもアクセスできてしまう、リモートアクセスした際に誰がいつ接続したか把握できていないという課題から、アクセス管理やログを動画で撮ることができるリモートデスクトップ環境を構築しました。

学内教員向けリモートデスクトップ環境の構築事例

構築事例

教育機関で、手元のコンピュータからリモートでデスクトップの環境を操作するシステムを構築しました。コロナウイルスが流行し、在宅勤務も増え、企業や組織でのリモートデスクトップ環境の構築は必須となりました。お客様からは、教員のリモートワーク環境を整えたいとのことで依頼を受けました。

Apache Guacamoleを活用したリモートデスクトップ環境の構築事例

構築事例

リモートワーク環境を提供するサービスを行っているが、暗号化して通信ができておらず、セキュリティ面で不安という相談をいただきました。そこで、リモートデスクトップとして活用できるOSS、Apache Guacamoleを構築しました。

テレワークで使えるおすすめのOSS12選

テレワークで使えるおすすめのOSS12選

働き方改革を促進するために、テレワーク環境の整備や生産性の向上などが求められています。ここではテレワークで使えるおすすめOSSについて紹介します。

デモのお申込み

もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ

OSS情報

Apache Guacamole〜リモートデスクトップのOSS〜
ここでは、外から社内のシステムに接続が可能なリモートデスクトップのソフトウェアであるApache Guacamoleの利用方法や特徴についてご紹介します。
Apache Guacamole管理マニュアル
ここでは、デージーネットで独自に作成したApache Guacamoleの管理マニュアルを紹介します。
Apache Guacamole利用マニュアル
ここでは、デージーネットで独自に作成したApache Guacamoleの利用マニュアルを紹介します。

このページの先頭へ