ゼスト Tech Blog

ゼストは「護りたい。その想いを護る。」をミッションに、在宅医療・介護業界向けのSaaSを開発しています。

Cloudflare ZTNAを利用した安全なRDP接続

弊社ではいくつかWindowsサーバを運用していることから、作業のために、RDP(Remote Desktop Protocol)接続をする機会があります。
これまでは運用者の人数が少なかったため、接続時にRDPポートへのIP制限を許可する運用をしてきました。
幸いなことにエンジニアの人数も増えてきており、IP制限だけでは運用が煩雑な為、より安全なRDP接続の方法を検討しました。

IP制限以外ではVPN接続等、他に色々な方法がありますが、今回はCloudflare Zero Trust Network Access(ZTNA)によるRDP接続を紹介します。

Cloudflare Zero Trust Network Accessとは

Clouflare ZTNAを利用するとポートに穴を開けることなく、サーバとCloudflareの間にTunnelingをはることができ、ユーザはCloudflareを通して、サーバへアクセスすることができるようになります。(ZTNA | Cloudflareより

 

Cloudflare ZTNA 概要図

Cloudflare ZTNA

CloudflareではWARPというクライアントが用意されています。本クライアントを導入するだけで、複雑な設定なく、ユーザーは簡単にCloudflare経由でサーバにアクセスすることができます。

blog.cloudflare.com

またCloudflareのZero TrustサービスはFreeプランが用意されており、50人までは無料のため、小規模の組織で利用する際は費用がかかりません。アクセスログが1日までしか保存されない等の制限はあるものの、機能としてはFreeプランでも十分なものになっています。

www.cloudflare.com

サーバへのTunneling

Cloudflareの管理画面からZero Trustのメニューに移動します。Access -> Tunnelsから新規にサーバへのTunnelingをはることができます。

各OS毎にコマンドとともに設定方法が記載されているので、設定で迷うことはないと思います。

サーバTunneling設定

サーバ側でエージェントのインストールを完了した後、Private Networksの項目にサーバのPrivate IPを設定することで、サーバに対してTunnelingをはることができます。

Private Networks設定

正常に接続されるとステータスがHEALTHYになります。

ステータス画面

WARPからTunnelingにアクセスするための設定

WARPからサーバへアクセスするためにいくつか必要な設定があります。

まずはSettings -> Networkに移動します。WARPからTunnelingされたサーバへアクセスするために、FirewallのProxy設定を有効化します。

Proxy設定

WARPではProfileを設定することで、WARP経由でTunnelingへアクセスするかどうか等を制御することができます。

Settings -> WARP Client -> Profile Settings -> Split Settingsから設定します。
IPやドメインについて、ホワイトリスト形式かブラックリスト形式を選ぶことができます(デフォルトではブラックリスト形式)。リスト中に対象のサーバのPrivate IPアドレスが含まれている場合は削除する必要があります。

Split Settings

IPブラックリスト

WARP経由でアクセスする場合は、まずはCloudflare for Teamsへログインする必要があります。ログインメソッドはIdPとの連携等様々な方法が用意されています(デフォルトはワンタイムパスワードが設定されています)。
なお、Cloudflare for TeamsのTeam名を知っている場合、誰でもログインできるため、制限する必要があります。

Settings -> WARP Client -> Device enrollment permissionsからルールを設定することができます。特定のEmailアドレスだけやIPレンジなどで制限することができます。

ログイン制御

必要な設定は以上です。

WARP Clientからのアクセス

Clientが用意されているので、インストールします。各OSに対応するバージョンを下記からダウンロードすることができます。

1.1.1.1

インストールが完了すると、ツールバーにアイコンが追加されます。(Macの場合)

ツールバー
まだTeamへログインしていない状態なので、

 -> Prefences -> Account -> Login to Cloudflare Zero Trustからログインします。

Account設定画面Team ログイン画面

Cloudflareから認証コードが送られてくるので、ログインします。
正常にログインできるとステータスがConnectedに変更になります。

Connected

Connectedになったら、Cloudflareを通してWindowsサーバのPrivate IPでRDP接続可能になります。

終わりに

Cloudflare ZTNAによる安全なRDP接続の方法について紹介しました。
設定が完了するまで1時間もかからず、またクライアントが用意されているので、利用も簡単に始めることができます。Cloudflare ZTNAは今回紹介した機能以外にもSecure Gatewayなどセキュアにアクセスする様々な機能が用意されています。

また上記で紹介した通り、Freeプランでも50名までは利用できるので、コストを気にせず導入することが可能です。

これからもTunnelingに限らずCloudflare ZTNAを有効活用していきたいと思います。