リモートデスクトップゲートウェイサーバを作成したので、まとめてみた。
以下、RDゲートウェイと略す。

簡単に機能を説明すると、
グローバル側から、ローカル側のリモートデスクトップを扱うために、
いろいろとセキュアにグローバル側からリモートデスクトップをすることができる、という感じ。
このRDゲートウェイサーバに外部からHTTPSのポートでアクセスすることで、
RDゲートウェイサーバから見てローカルのマシンをリモートデスクトップ接続ができる。
グローバル側にフォーワード設定をリモートさせる端末別にするのではなく、
RDゲートウェイサーが側からみたクライアントを許可することで、
複数のクライアントをリモートできるという具合。
VPNを経由していないので、回線を気にすることもなくなる、という具合です。
実際は仮想とかライセンスとか絡んで費用がトンデモなことになるので
個人では意味がないかもしれないのですが。
どなたかのお役に立てましたら嬉しいです。

ググってググって、読んで読んで。すげえ大変でした。
一貫した解説がなかったので今回ここに書いてやろうと思ったわけです。
以下の手順でやれば、とりあえずできる。そこから各種設定をいじってみればいいじゃないか、
という風にしてあります。


前提条件として、
 グローバル側に443ポートを提供可能な状態にできること。
 RDゲートウェイサーバのOSとしてWindows2008R2サーバが必要
 Windows2000以降から可能な、Active Directoryのドメイン環境
 グローバルIP、またはそれに準じるDNSサーバ名
 リモートデスクトップで接続可能(ローカルで接続できればOK)な、クライアント
 リモートデスクトップで接続可能なクライアントのグループ。(以下、remote desktop clientsとする)
 上記クライアントのグループに接続させるユーザーグループ。(以下、remote desktop usersとする)

 各グループの作成は、グローバルのセキュリティで新規作成したものでOK。
 ドメインについては、セキュアが否かという面だけなので、不要かも。


Windowsセットアップ
 2008R2Entをインストールする。
 SP1が出ているが、サービスパックは手動でしか入らないのでWindowsUpdateから実行する。
 アップデート完了後Active Directoryのドメインに参加する。
 ドメイン参加後、サーバーマネージャーから、リモートデスクトップサービスをインストールする。
 必要なのは、RDゲートウェイマネージャのみ。それに付帯するサービスもインストールする。

ポリシーの作成
 接続承認ポリシー⇒RDゲートウェイサーバで接続を承認するポリシー、という意味。
 サポートされているWindows認証方法 パスワードのみ選択
 ユーザーグループメンバーシップ グループの追加で、remote desktop usersを追加する。
 クライアントコンピュータグループメンバーシップ(オプション) にはグループを追加しない。
 追加すると、ユーザーグループの中から、クライアントのグループから接続するユーザに限定されてしまう。
 他の設定は任意。

リソース承認ポリシー
 ユーザーグループタブで、remote desktop usersを追加。
 ネットワークリソースタブで、Active Directoryドメインサービスの~ をチェック。
 参照を押し、remote desktop clientsを追加する。
 他の設定は任意。

自己証明書の作成
 RDゲートウェイに接続するための自己証明書の作成方法。
 サーバマネージャー、役割、リモートデスクトップサービス、RDゲートウェイマネージャを開く。
 RDゲートウェイサーバを右クリックしてプロパティ。
 SSL証明書タブで、『自己証明書を作成する』をクリック。
 自己署名証明書の作成ウィンドウが出る。証明書の名前には、
 RDゲートウェイサーバのIPアドレス、またはDNSネームを入力する。
 ファイルの保存場所。 OKを押下。

その他の設定
 RDゲートウェイサーバの、デフォルトゲートウェイにあたるルータの、
 httpsポートに、RDゲートウェイサーバを設定してフォワード設定を行う。




接続したいクライアント側の設定
 自己証明書の作成の項目で、ファイルの保存場所、にCER拡張子のファイルがあるので、
 その証明書ファイルを、接続したいクライアント側にコピーする。
 接続したいクライアント側で、CERファイルを実行(ダブルクリック)する。
 証明書ウインドウが表示されるので、証明書のインストールをクリック。
 証明書のインポートウィザードが立ち上がるので、次へをクリック。
 『証明書の種類に基づいて自動的に証明書ストアを選択する』にチェックを入れ、次へ。
 完了を押し、ウィザード終了。
 証明書の発行者が正しいことが判別できないけどいいのかい?、とかなんとか出るので内容を確認してOKを押す。
 インポートが完了しました、と出てインポート終了。


クライアント側リモートデスクトップのアップデート(WindowsXP限定)
 Windows XPのサービスパック3をインストールする。WindowsUpdateから。割愛。
 リモートデスクトップ7.0をインストールする。以下アドレスよりDL可能。インストールする。割愛。
 http://www.microsoft.com/downloads/details.aspx?FamilyID=72158b4e-b527-45e4-af24-d02938a95683&displayLang=ja
 NLAのレジストリを変更する。以下リンクの説明が正しいので、こちらも割愛。
 http://techbank.jp/Community/blogs/kametaro/archive/2008/08/15/2080.aspx


サーバ側リモートデスクトップ設定
 システムのプロパティ→リモートタブ→リモートデスクトップの項目で、
 リモートデスクトップ接続を許可する。
 Vistaか7であれば、ネットワーク認証も可能。
 XP側の設定を正常化しておけば、使用するOSに関係なく使用できる。


クライアント側リモートデスクトップ接続の設定
 リモートデスクトップ接続を起動する。
 すべてのプログラム→アクセサリ直下。
 起動して、オプションを押すとタブが出てくる。
 色々あるものの、外部からの接続に必要なのは詳細設定タブの
 任意の場所から接続する、の項目。設定を押す。
 RDゲートウェイサーバー設定 のウインドウ、接続設定の項目にて、
 次のRDゲートウェイサーバー設定を使用するをチェック。
 サーバー名に、グローバルなIPアドレス、またはDNSネームを入力する。
 自己証明書で設定アドレスではないとダメ。
 ログオン方法は、パスワードを要求する。
 ローカルアドレスには、RDゲートウェイサーバーを使用しないのチェックは任意。OK。

 最後に、全般のタブで、RDゲートウェイサーバーから見た
 ローカルのリモートしたいコンピュータ名を入れる。
 これで終了。
 接続を押すと、まずRDゲートウェイサーバに接続するパスワードが聞かれる。
 認証されると次に、サーバ側リモートデスクトップへ接続するパスワードが聞かれる。
 2回認証されれば、成功。サーバ側リモートデスクトップにログインが完了する。



以上。

気になっているのは、クライアント側リモートデスクトップマシンに、
証明書を入れる部分。ググった結果は、MMCを起動して証明書をインポートしなければならないように書かれているが、
上記方法でもログインができた。

また、セキュアというものの、上記方法だと自己証明書ファイルを使用しているため、
自己証明書ファイルと、接続可能なユーザー情報、パスワード情報があれば、
簡単にローカル側のマシンをグローバルからハッキング出来てしまう、ということ。
SSLの配布方法でセキュアにするしかないかも。