Windowsリモートデスクトップの踏み台サーバ機能『RD ゲートウェイマネージャ』を試してみた

前回、sshポートフォワーディングを用いた踏み台経由での接続について記述したが、Windowsでちゃんと用意されている機能はないものか、と調べてみたところWindows ServerにRDPを中継するサービス『RD ゲートウェイマネージャ』という機能が有ることが分かった。今回は、この機能について検証を行ってみる事にする。
なお、検証にはWindows Server 2008 R2を用いるものとし、Active Directoryは未導入、Windows ファイアーウォールは停止している。

1.インストール

まずは踏み台となるWindows Serverへ、RDゲートウェイマネージャをインストールする所から。
サーバーマネージャーから、役割の追加を行う。

そのまま次へ。

「リモートデスクトップサービス」にチェックを入れて次へ。

リモートデスクトップサービスに関する注意文が表示されるので、次へ。

リモートデスクトップサービスに追加する役割サービスの選択画面が表示されるので、「リモートデスクトップ ゲートウェイ」を選択する。

「リモートデスクトップ ゲートウェイ」選択後、以下のような確認ウィンドウが表示されるので、そのまま「必要な役割サービスを追加」をクリックする。

「リモートデスクトップ ゲートウェイ」選択完了後、次へ。

リモートデスクトップゲートウェイにはSSL証明書が必要なのだが、作成は後から行うため「SSL暗号化の証明書を後で選択する」を選択し次へ。

承認ポリシーの作成を行うかどうか聞かれるので、「今すぐ作成する」を選択する。

RDゲートウェイ経由で接続できるユーザーグループを聞かれる。
今回は検証なので、Administratorのみの状態で次へ。

RD_CAPの名前についても、デフォルトのまま次へ。

RD_RAPの名称はそのままで、RD ゲートウェイマネージャ経由での接続先に制限を行わないので、「ユーザーがネットワーク上の任意のコンピューターに接続できるようにする」を選択し次へ。

ネットワークポリシーとアクセスサービスに関する注意文が表示されるので、そのまま次へ。

役割サービスの選択画面が表示されるので、「ネットワークポリシーサーバー」にチェックが入ったまま次へ。

Webサーバー(IIS)に関する注意文が表示されるので、そのまま次へ。

Webサーバー(IIS)について、何をインストールするかについてもそのままで次へ。

最後に、インストールする内容について確認がされるので、インストールをクリックする。

インストールが開始される。終了までは大体2~3分ほど。

インストールが完了する。

2.証明書の設定

さて、これでRDゲートウェイマネージャのインストールが完了したのだが、じゃあすぐに使えるのか?というとそうではない。
RDゲートウェイマネージャ経由で接続を行うクライアントPC(今回の場合はWindows 7)に、RDゲートウェイマネージャを設定したサーバの証明書をインストールする必要がある。

まずは、RDゲートウェイマネージャをインストールした踏み台サーバ側で、証明書を作成する。
サーバーマネージャーから、RDゲートウェイマネージャを選択、その下にある自ホスト名を右クリックしてプロパティを選択する。

プロパティが表示されるので、「SSL 証明書」タブにある「自己署名証明書を作成する」を選択し「証明書の作成とインポート」をクリック。

「自己署名証明書の作成」ウィンドウが表示されるので、「OK」をクリック。

以下のメッセージが出力され、表示されているPATHに証明書が格納されている。

後は、その証明書ファイルをクライアントPCに持っていき、ダブルクリックさせる。
クライアントPC側で証明書ファイルを実行した結果、以下のようなウィンドウが表示されるので、「証明書のインストール」を選択する。

証明書のインポートウィザードが開始されるので、次へ。

証明書のインポート先を信頼されたルート機関証明書にし、次へ。

インポートが完了する。

3.接続

さて、これでRD ゲートウェイ経由での接続ができるようになった。
実際に接続を行ってみよう。

mstsc.exeを起動し、リモートコンピュータにRD ゲートウェイマネージャ経由で接続するマシンのホスト名(IPアドレス)、ユーザ名を入力する。

次に「詳細設定」タブを開き、「任意の場所に接続する」の設定をクリックする。

「次のRDゲートウェイサーバー設定を使用する」を選択し、先ほど構築したRDゲートウェイサーバのホスト名を入力する。
なお、このホスト名は自己署名証明書とリンクするので、ホスト名で自己署名証明書を作成した場合、IPアドレスだと動作しないため注意。
また、ログオン設定で「リモートコンピューターにRDゲートウェイの資格情報を使用する」はチェックを外す。

この状態で接続を開始すると、以下のようにRDゲートウェイサーバーで利用するIDとパスワードを要求される。
踏み台サーバのドメイン名\ユーザ名でログインすれば、後は通常のリモートデスクトップ接続と変わらず使用できる。

ちゃんと設計、構築すればかなり便利な機能ではないだろうか。
sshポートフォワーディングだと、時折ちょっと不安定になったりするので、これが一般化するといいなぁ…