Azure上にRustDesk Serverを構築してセルフホスト経由のリモート環境を構成する

RustDeskについて

RustDeskはオープンソースとして公開されているRustで書かれたリモート環境構築ツールです。

主に操作元と操作先にインストールするクライアント用ツールと
クライアント用ツールが接続する中継サーバを構成するサーバ用ツールの2つで構成されています。

 

中継サーバはオプションとなり、クライアント用ツールだけでリモート環境を構成できますが
デフォルトはパブリック中継サーバとなるため、専用の中継サーバを用意することで安全性が高まります。

 

詳細については下記の公式サイトをご参照ください。
https://rustdesk.com/ja/

 

今回は専用の中継サーバをAzure上に構成するためのポイントを記載して、
セルフホスト経由の安全性が高いリモート環境を構成します。

Azure上で構築するポイント

サーバ用ツールは以下の2つのサービスで出来ており、OSにインストール後
それぞれ起動させる必要があります。

 

  • hbbs
  • hbbr

 

インストールは公式ドキュメントにLinux向けの手順がありますので、そちらをご参照ください。
https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/

ネットワーク

作成したVMに対して、グローバルIPを割り当てます。
このグローバルIPに対してクライアント用ツールを接続することになります。

また、サーバ用ツールは下記ポートを使用しますので、必要に応じてOSのFirewallや
作成したVMに紐づくNSG等に対して受信接続を許可します。

 

  • TCP Port 21114 (API)※オプション
  • TCP Port 21115 (hbbs用) 必須
  • TCP/UDP Port 21116 (hbbs用) 必須
  • TCP Port 21117 (hbbr用) 必須
  • TCP Port 21118 (hbbs web socket)※オプション
  • TCP Port 21119 (hbbr web socket)※オプション

 

必須以外は基本的に設定不要です。

 

サービス起動設定

サーバ用ツールをインストール後、サービス起動させる上でよりセキュリティを高める方法としてUnitファイルに対して以下を設定します。

 

# sudo systemctl edit --full <サービス名>

~~~~~~~~~~~~~~~~~
[Service]
~~~省略~~~
ExecStart=/usr/bin/hbbr -k _##-kの後ろに半角スペースを空けてから_を記入##

User=<起動専用ユーザ>
Group=<起動専用ユーザ>
~~~省略~~~
~~~~~~~~~~~~~~~~~

 

公式サイトのインストール方法を参照した場合、登録されるデーモンはオプションの「-k _」が付いていないため修正します。


最新の公式サイトではオプションの説明が無くなっていますが、
「-k _」はツールインストール時に生成される暗号鍵を接続先のクライアント用ツールに対して必須とするオプションです。
暗号鍵の設定の有無によって、接続先を制限できるためセキュリティが向上します。

 

また、サービス起動用のユーザを作成しておき、通常ユーザと起動専用ユーザを分けることでサービス安全性を高めます。

 

hbbrに対して修正したら、hbbsについても同様に修正します。

 

その他

設定を終えたら、以下のコマンドでテストが可能です。

 

# sudo rustdesk-utils doctor <グローバルIP>

 

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルクロステクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください