弊社ではいくつか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ではWARPというクライアントが用意されています。本クライアントを導入するだけで、複雑な設定なく、ユーザーは簡単にCloudflare経由でサーバにアクセスすることができます。
またCloudflareのZero TrustサービスはFreeプランが用意されており、50人までは無料のため、小規模の組織で利用する際は費用がかかりません。アクセスログが1日までしか保存されない等の制限はあるものの、機能としてはFreeプランでも十分なものになっています。
サーバへのTunneling
Cloudflareの管理画面からZero Trustのメニューに移動します。Access -> Tunnelsから新規にサーバへのTunnelingをはることができます。
各OS毎にコマンドとともに設定方法が記載されているので、設定で迷うことはないと思います。
サーバ側でエージェントのインストールを完了した後、Private Networksの項目にサーバのPrivate IPを設定することで、サーバに対してTunnelingをはることができます。
正常に接続されるとステータスがHEALTHYになります。
WARPからTunnelingにアクセスするための設定
WARPからサーバへアクセスするためにいくつか必要な設定があります。
まずはSettings -> Networkに移動します。WARPからTunnelingされたサーバへアクセスするために、FirewallのProxy設定を有効化します。
WARPではProfileを設定することで、WARP経由でTunnelingへアクセスするかどうか等を制御することができます。
Settings -> WARP Client -> Profile Settings -> Split Settingsから設定します。
IPやドメインについて、ホワイトリスト形式かブラックリスト形式を選ぶことができます(デフォルトではブラックリスト形式)。リスト中に対象のサーバのPrivate IPアドレスが含まれている場合は削除する必要があります。
WARP経由でアクセスする場合は、まずはCloudflare for Teamsへログインする必要があります。ログインメソッドはIdPとの連携等様々な方法が用意されています(デフォルトはワンタイムパスワードが設定されています)。
なお、Cloudflare for TeamsのTeam名を知っている場合、誰でもログインできるため、制限する必要があります。
Settings -> WARP Client -> Device enrollment permissionsからルールを設定することができます。特定のEmailアドレスだけやIPレンジなどで制限することができます。
必要な設定は以上です。
WARP Clientからのアクセス
Clientが用意されているので、インストールします。各OSに対応するバージョンを下記からダウンロードすることができます。
インストールが完了すると、ツールバーにアイコンが追加されます。(Macの場合)
まだTeamへログインしていない状態なので、
-> Prefences -> Account -> Login to Cloudflare Zero Trustからログインします。
Cloudflareから認証コードが送られてくるので、ログインします。
正常にログインできるとステータスがConnectedに変更になります。
Connectedになったら、Cloudflareを通してWindowsサーバのPrivate IPでRDP接続可能になります。
終わりに
Cloudflare ZTNAによる安全なRDP接続の方法について紹介しました。
設定が完了するまで1時間もかからず、またクライアントが用意されているので、利用も簡単に始めることができます。Cloudflare ZTNAは今回紹介した機能以外にもSecure Gatewayなどセキュアにアクセスする様々な機能が用意されています。
また上記で紹介した通り、Freeプランでも50名までは利用できるので、コストを気にせず導入することが可能です。
これからもTunnelingに限らずCloudflare ZTNAを有効活用していきたいと思います。