RDP over SSL

SSLを使ってRDP接続する。
サーバー認証と暗号化レベルを構成する
ただし、セキュリティ的にはインターネットでRDPするならクライアント証明書が必須のように思うのでVPNを推奨する。
(1)Windows2012R2のでRDゲートウェイの役割を追加し、ポリシーを定義する

rdproxy_gateway

(2)RemoteDesktopツールでRD Gatewayを使用するように設定する

rdproxy_client2

以上の設定でSSLを使ってWeb Proxyを超えてRemote Desktop接続できる。認証プロキシに対応しているかどうかは不明。

実際にパケットキャプチャをしてみると、RDP(TCP3389)ではなくSSL(TCP443)になっている。

rdproxy_cert

negiはFujiSSLを使っているのでサーバ証明書と中間証明書を送付している。

余談だが、RDPに限らずSSLでサーバがクライアントに中間証明書を送るためには、あらかじめサーバに中間証明書をセットしておく必要があるが、それをしていないサイトもある。
その場合にはクライアントは証明書の検証ができないため、クライアントに警告画面が出力される。
だが、証明書には機関情報アクセス(AIA)レコードがあり、そこに中間証明書へのアクセスパスが記載されていれば、クライアントはそれを取得しにく(crypto-api)ため、問題が露呈しない。ちなみにcrypto-apiはプロキシ認証を通過できない。
AIAレコードはクリティカルではないため、実装されていない可能性があるから、サーバは証明書をチェーンで送るべきと考えるが、最近の証明書はほとんどAIAレコードを含んでいるようなので、
それがスタンダードというならそれでもいいのかもしれない。
また、AIAには2種類のレコードを含む場合がある。1つは証明書へのアクセスパス。もう1つはOCSPレスポンダのアドレス。OCSPは失効情報を取得する。