この記事は、ニフクラブログで2019-07-11に公開された記事を移転したものです。
こんにちは、ニフクラテクニカルアカウントチームです。
Windowsサーバーへのリモートデスクトップ接続に使用されるRDP(Remote Desktop Protocol)ですが、デフォルト設定の3389ポートは、セキュリティの面から社内ネットワークなどでは使用できないことがあります。
そんな時は、Windowsサーバーの機能であるRD Gatewayを使用することで、443ポートでRDPによる接続を行うことが出来ます。
今回はRD Gatewayの導入からサーバーへ接続するまでの手順をご紹介します。
前提条件
本ブログは、以下の前提知識がある方を想定しています。
- ニフクラの基本的なコントロールパネルの操作、サービスを利用する知識
(サーバー作成、ネットワーク構築など)
検証概要
以下の流れでRD Gatewayを利用し、接続先サーバーにアクセスします。
(1)踏み台サーバーにRD Gatewayをインストールする
(2)踏み台サーバーでRD Gatewayのポリシー作成を行う
(3)踏み台サーバーに証明書の登録をし、証明書をエクスポートする(※自己署名証明書を使用)
(4)クライアントに証明書をインポートする
(5)クライアントから接続先サーバーにアクセスする
利用リソース
本検証を実施するにあたり、利用したニフクラのリソース情報に関して以下に記載します。
※各リソースのアクセス制限に関しては、ニフクラのファイアウォール等を用いて適切に設定の上実施しています。
リソース | 数量 |
---|---|
サーバー(サーバーOS:Windows Server 2019) | 2 |
プライベートLAN | 1 |
リソースの名称やIPアドレスは以下のように設定しています。
リソース名 | ホスト名 | プライベートIP | 備考 |
---|---|---|---|
サーバー (Windows Server 2019) |
RDGWSV01 | 192.168.10.10 | 踏み台サーバー |
RDGWSV02 | 192.168.10.20 | 接続先サーバー | |
プライベートLAN | - | 192.168.10.0 /24 |
- |
各リソースのファイアウォールのINルールは以下のように設定しています。
※本検証では、OUTルールの設定は行っていません。(制限していません。)
リソース | プロトコル | ポート | 接続元種別 | 備考 |
---|---|---|---|---|
RDGWSV01 | TCP | 443 | クライアントのIPアドレス | RD Gatewayの接続用 |
3389 | クライアントのIPアドレス | 構築用 (RD Gateway設定後削除) |
||
RDGWSV02 | 3389 | 192.168.10.10 | 踏み台サーバーからのRDP接続用 |
検証
RD Gatewayのインストール
はじめに踏み台サーバーにRD Gatewayのインストールを行います。
RD Gatewayの機能を有効化した後は、443ポートからリソースにアクセスできますが、RD Gateway導入のため、初めは踏み台サーバーの3389ポートを開放する必要があります。
踏み台サーバーにログインし、サーバーマネージャーから「役割と機能の追加」をクリックします。
「次へ」をクリックします。
「次へ」をクリックします。
「次へ」をクリックします。
「リモートデスクトップサービス」にチェックを入れ、「次へ」をクリックします。
「次へ」をクリックします。
「次へ」をクリックします。
「リモートデスクトップゲートウェイ」にチェックを入れます。
役割と機能の追加ウィザードがポップアップされるので、「機能の追加」をクリックします。
「次へ」をクリックします。
「次へ」をクリックします。
「次へ]をクリックします。
「次へ」をクリックします。
「インストール」をクリックします。
インストールが完了したら、「閉じる」をクリックします。
ポリシーの作成
RD Gatewayのインストールが完了したら、RD Gatewayへの接続許可ポリシー(CAP)と、RD Gatewayを経由して接続する各リソースへの接続許可ポリシー(RAP)の作成を行います。
今回のポリシーでは、事前に作成を行ったテスト用ユーザー「RDGWUser」が所属するグループ「RDGW」を許可対象に設定します。
サーバーマネージャーの「ツール」-「Remote Desktop Services」-「リモートデスクトップゲートウェイマネージャー」をクリックします。
RD ゲートウェイマネージャーの左ペインから「RDGWSV01」を展開し、「ポリシー」-「新しい承認ポリシーの作成」をクリックします。
「RD CAPとRD RAPを作成する」を選択し、「次へ」をクリックします。
CAP名を入力し、「次へ」をクリックします。
「グループの追加」をクリックします。
RD Gatewayへの接続を許可したいグループを入力します。グループ名を入力し、「OK」をクリックします。
「次へ」をクリックします。
「次へ」をクリックします。
「次へ」をクリックします。
「次へ」をクリックします。
RAP名を入力し「次へ」をクリックします。
「次へ」をクリックします。
「ユーザーによる任意のネットワークリソース(コンピューター)への接続を許可する」を選択し、「次へ」をクリックします。
グループ毎にアクセスを許可するリソースを制限したい場合は、ここで設定することが出来ます。
「次へ」をクリックします。
「完了」をクリックします。
「閉じる」をクリックします。
自己署名証明書の作成とエクスポート
https通信のための証明書登録を行います。今回は自己署名証明書を作成して使用します。
左ペインからRDGWSV01(ローカル)をクリックします。
「証明書のプロパティの表示または変更」をクリックします。
プロパティウインドウが表示されたら、「証明書の作成とインポート」をクリックします。
「証明書の名前」に踏み台サーバーのグローバルIPを入力し、「OK」をクリックします。作成される証明書の発行先と発行元はグローバルIPとなります。
※使用可能なドメインがある場合は、DNS名を入力するなど適宜変更してください。
「OK」をクリックします。
「OK」をクリックします。
これまでの設定を反映させるため、一度RD Gatewayサービスの再起動を行います。
サーバーマネージャー左ペインから「リモートデスクトップサービス」をクリックします。
左ペインから「サーバー」をクリックし、サービスから「Remote Desktop Gateway」を右クリックし、「サービスの再起動」をクリックします。
サービスの再起動後、RD ゲートウェイマネージャー左ペインから「RDGWSV01」を選択し、右ペインのプロパティをクリックします。
プロパティウインドウの「SSL証明書」タブをクリックし、作成した証明書がインストールされていることを確認後、「OK」をクリックします。
クライアントのインポート用に作成した証明書のエクスポートを行います。
ファイル名を指定して実行から「certlm.msc」を実行します。
左ペインから「個人」-「証明書」をクリックします。
作成した自己署名証明書を右クリックし、「すべてのタスク」-「エクスポート」をクリックします。
証明書のエクスポートウィザードが立ち上がるので、「次へ」をクリックします。
「次へ」をクリックします。
「次へ」をクリックします。
任意のファイル名を入力し、「次へ」をクリックします。
「完了」をクリックします。
「OK」をクリックします。
エクスポートした証明書をコピーしクライアント端末に配備します。
クライアントでの証明書インポート
ここからはクライアント上での手順となります。
配備した証明書をダブルクリックします。
「証明書のインストール」をクリックします。
証明書のインポートウィザードが立ち上がるので「次へ」をクリックします。
「証明書をすべて次のストアに配置する」を選択し、「参照」をクリックします。
「信頼されたルート証明機関」を選択し、「OK」をクリックします。
「次へ」をクリックします。
「完了」をクリックします。
セキュリティ警告が表示されたら「はい」をクリックします。
「OK」をクリックします。
ファイル名を指定して実行から「certmgr.msc」を起動します。
左ペインから「信頼されたルート証明機関」-「証明書」を選択し、証明書がインポートされたことを確認します。
接続確認
これまでの手順でRD Gatewayの使用準備が整いました。
クライアントからリモートデスクトップ接続を起動し、「詳細設定」-「設定」をクリックします。
「次のRDゲートウェイサーバー設定を使用する」にチェックを入れ、「サーバー名」に踏み台サーバーのグローバルIPを入力します。
「ローカルアドレスにはRDゲートウェイサーバーを使用しない」のチェックを外し、「OK」をクリックします。
「全般」タブから接続先サーバーのプライベートIPとユーザー名を入力し、「接続」をクリックします。今回は事前に作成したtestuserでログインします。
RDゲートウェイサーバーの資格情報の入力画面が表示されたら、ポリシーで登録したグループに所属するユーザーの情報を入力し、「OK」をクリックします。
続いて接続先サーバーの資格情報の入力画面が表示されるので、パスワードを入力し、「OK」をクリックします。
接続できることを確認します。
接続の確認後は、必要に応じて踏み台サーバーの3389ポートを閉じます。
以上でRD GatewayでのRDP接続手順は終了となります。
まとめ
RD Gatewayを利用することで、暗号化されたリモートデスクトップ接続を手軽に行うことができます。
ポリシーを適切に設定すれば、利用可能なリソースの管理をすることも可能です。
Windows以外のサーバーへの接続など、RDPを使用しない場合には、リモートアクセスVPNゲートウェイの利用をご検討ください。
注意事項
- 本記事では検証目的のため、自己署名証明書を利用しています。実際の利用ケースでは、必要に応じて最適な証明書を使用してください。
- 本記事については検証結果の1つとなります。実際に検討される場合は、事前にそれぞれの要件を鑑みて実装するか確認してください。
- 本記事ではOS上の操作についても記載していますが、ニフクラではOS以上はご利用者様の責任範囲となりますのでご留意ください。