-
Notifications
You must be signed in to change notification settings - Fork 0
MS_RDP
- 戻る(シェル、リモートデスクトップサービス(旧ターミナルサービス))
- RDP
- SSH
-
RDP は TCP/IP ベースのプロトコルで、
- クライアント側のマウスやキーボードの入力データをサーバ側に伝送したり、
-
RD セッション ホスト側の画面情報
(圧縮された差分情報)をクライアント側に伝送したりする。
-
RD セッション ホスト側で RDP が使用する
リスニング ポートは TCP/IP 3389 で、
これを変更する場合は、レジストリを修正する必要がある。
移行メモ(正式名称): RDP = Remote Desktop Protocol。
なお UDP 3389 も使われる(RDP 8.0 以降。
高遅延・パケット ロスのある回線での体感を改善する)。
- クラウドのポータルからダウンロードできる。
- 自身で作成することも可能で、以下のような設定が可能。
full address:s:server.example.com
username:s:DOMAIN\user
screen mode id:i:2 ← 2 = 全画面
redirectclipboard:i:0 ← クリップボード リダイレクトを無効化
drivestoredirect:s: ← ドライブ リダイレクトを無効化
補足(RDP ファイルは配布物として扱う): 接続設定を統一したい場合、
.rdpファイルを配布するのが手軽である。
ただし.rdpはプレーン テキストで、
パスワードを保存すると(password 51:b:に DPAPI で暗号化されて入る)
その端末のそのユーザーでしか復号できない。
共有フォルダに置いて使い回すことはできない。
- TCP 内でカプセル化および暗号化される。
- ただし、既定値では低い暗号化の強度(56bit)。
移行メモ(最新化): 「既定で 56bit」というのは
暗号化レベル「低」 の話で、
現在の既定は「クライアント互換」以上、
実際には TLS + AES が使われる。
詳細は
リモートデスクトップサービスの
「暗号化レベル」の補足を参照。
ローカル PC はリモート PC をリモートデスクトップ用の
電子証明書で検証する仕組みを持つ。
補足(自己署名証明書の警告): 既定では
サーバーが自己署名証明書を自動生成するため、
接続のたびに「このリモート コンピューターの ID を識別できません」という
警告が出る。ユーザーがこれを常に「はい」で流す運用になると、
中間者攻撃を検知できなくなる。
業務で使うなら、
- 内部 CA(PKI)から証明書を発行して RD ホストに配布
- グループ ポリシー「リモート デスクトップ接続用の
サーバー認証証明書テンプレート」で自動化のいずれかで、警告が出ない状態にしておくのが正しい。
- クラウドでは、テスト環境に限定することが推奨されている。
- パスワード認証しかできず、
デフォルト設定だと何度間違えてもロックされない。 - TLS による暗号化により通信傍受は容易ではないが、自己署名証明書。
- パスワード認証しかできず、
補足(インターネットに 3389 を開けてはならない): これは
本ページで最も重要な指摘である。
インターネットに公開された 3389 は、
公開直後から総当たり攻撃を受ける。
実際、ランサムウェアの主要な侵入経路の一つが
「インターネットに露出した RDP」である。正しい対処は次のとおり。
手段 内容 Azure Bastion ポータルから HTTPS 経由で接続。3389 を開けない Just-In-Time (JIT) VM アクセス 必要な時だけ、必要な送信元 IP にだけ、時間限定で開く RD ゲートウェイ RDP over HTTPS(443)に集約 VPN / ExpressRoute 閉域から接続 NSG で送信元を限定 最低限。社内 IP のみ許可 「ポート番号を 3389 から変える」のは気休めにしかならない
(スキャンで見つかる)。経路そのものを塞ぐのが要点である。
Azure Bastionなどで使用されている。
- RDP を HTTPS(443)でトンネリングする方式。
- ファイアウォールを越えやすく、3389 を直接開けずに済む。
- RD ゲートウェイも同じ方式である。
-
Remote Desktop Protocol - Wikipedia
https://ja.wikipedia.org/wiki/Remote_Desktop_Protocol -
@IT > ターミナル・サービス / RD接続のポート番号を変更する
http://www.atmarkit.co.jp/fwin2k/win2ktips/341termport/termport.html
-
サポートされるリモート デスクトップ RDP ファイルの設定
https://learn.microsoft.com/windows-server/remote/remote-desktop-services/clients/rdp-files -
Azure Bastion とは
https://learn.microsoft.com/azure/bastion/bastion-overview
Tags: 移行, シェル, インフラストラクチャ, Windows, 仮想化, クラウド, Azure, セキュリティ
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。