RDPメモ

やりたかったこと:
RDPで、HTTP(Apache)のVirtualHostみたいなことをやりたかった。

例:
Global IP1にhost1.rdp.mydomain.comでアクセス→private host1に接続
Global IP1にhost2.rdp.mydomain.comでアクセス→private host2に接続
このGlobal IP1で待ち構えているサーバで証明書認証やパスワード認証を組み込む等で、private hostにはパスワード攻撃等が及ばないようにする

こうすることで、1つの公開ソケット越しに複数のホストへ管理接続をセキュアにすることができるのかなぁと考えたが、結論としてこれは困難だということがわかった。

RD Gateway / RDP over HTTPsが利用できるか

RDPはRD Gatewayを設置することで、裏側にいる直接接続できないRDPターゲットにアクセスすることができる。
参考ページ:https://qiita.com/Aida1971/items/f519bf0ae4f11353ff36

ただ、これは、WindowsServerの役割なので、LinuxサーバをRD Gatewayにすることはできない。
https://superuser.com/questions/1012802/create-rdp-gateway-in-raspberry-pi-or-ubuntu

上記サイトでも提案されているが、画面系管理通信を行えるHTML5のページをゲートウェイサーバに設置し、そこから内部のサーバにRDPする方法(Apache Guacamole)、SSHのポート転送を使う方法などが別手法として提案されている。

なので、WindowsServerを準備しない限りRDPで接続することは不可。

プライベートホスト側でTLS証明書認証ができるか

プライベートホストになんとかNATを設置し外部からアクセスできるようにしたとして、パスワード認証以外のセキュアな認証方法ができるかというと
これも結論として難しいことがわかった。
RDPのプロトコルとして証明書認証は対応していないため、IPSecVPNで証明証認証をした上でVPN越でRDP接続する必要がある。
https://serverfault.com/questions/348123/how-to-allow-rdp-access-based-on-client-certificate

結局、当初の構成に近いことをやりたいのであれば

  • ゲートウェイサーバにVPN(証明書認証)を設置
  • ゲートウェイサーバにGuacamole等を設置

のどちらかとなりそうだ。

HAProxyでも不可

HAProxyでできないかなぁと思って調べてみたが、HAProxyもRD Gateway設置前提となる。RD Gatewayの冗長化。
もしくは、単純はTCP/3389のフォワード。

  • https://www.haproxy.com/documentation/haproxy/deployment-guides/remote-desktop/rdp-gateway/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です