Start typing to search across invoices, services, domains, tickets, and more...
Windows のリモートデスクトップは既定で 3389 番ポートを使用しており、このポートはスキャナーや総当たり攻撃ツールから常に狙われています。リモートデスクトップのポート変更は、スキャンやログオン失敗ログを減らす最も手軽な対策の一つです。本記事では Windows Server 2016 / 2019 / 2022 で、レジストリ PortNumber または PowerShell を使って RDP ポートを変更し、Windows ファイアウォールで開放、サービスを再起動して反映させるまでの手順を解説します。
10000〜65535 の範囲で未使用のポート(例:33890、52025)を選びます。サーバー上で使用されていないことを確認します。
netstat -ano | findstr :33890
何も表示されなければ空いています。80、443、1433、3306 などの代表的なサービスポートや 1024 未満のポートは避けてください。以下の例では 33890 を使用していますので、ご自身のポート番号に置き換えてください。
管理者として PowerShell を開き、新しいポート用の TCP・UDP 受信規則を追加します(RDP は高速化のため UDP も使用します)。
New-NetFirewallRule -DisplayName "RDP-TCP-33890" -Direction Inbound -Protocol TCP -LocalPort 33890 -Action Allow
New-NetFirewallRule -DisplayName "RDP-UDP-33890" -Direction Inbound -Protocol UDP -LocalPort 33890 -Action Allow
サードパーティ製のセキュリティソフトやネットワーク側のアクセス制御を利用している場合は、そちらでも新しいポートを許可してください。
リモートデスクトップのポートは HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp の PortNumber に保存されています。PowerShell で変更します。
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name PortNumber -Value 33890
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name PortNumber
コマンドプロンプトの reg コマンドでも同じ変更ができます。
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 33890 /f
GUI で操作したい場合は regedit を起動して上記パスを開き、PortNumber をダブルクリックして「10 進数」を選んでから新しいポートを入力します。
変更を反映するため TermService を再起動します。現在の RDP セッションは切断されますが正常な動作です。
Restart-Service TermService -Force
サービスの再起動に失敗する場合は Restart-Computer でサーバーを再起動してください。再起動後、新しいポートで待ち受けているか確認します。
netstat -ano | findstr :33890
ローカル PC で新しいポートへの到達性をテストし、リモートデスクトップ接続(mstsc)で 203.0.113.10:33890 のように「IP:ポート」形式で接続します。
Test-NetConnection 203.0.113.10 -Port 33890
mstsc /v:203.0.113.10:33890
新しいポートでログインできることを確認したら、既定の 3389 用ファイアウォール規則を無効にして公開範囲を減らせます。
Disable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
クライアントエリア → 製品とサービス → 対象サーバー → 管理 から VNC コンソールを開き、ファイアウォール規則の有無と PortNumber の値を確認するか、PortNumber を 3389 に戻して TermService を再起動してください。コンソールが見つからない場合はチケットでご連絡ください。
基本的にはありません。RD ゲートウェイや踏み台サーバー、保存済みの .rdp ファイルを使っている場合は、そちらのポート番号も更新してください。
はい。Windows 10/11 Pro でも同じレジストリパスとコマンドが使えます。
解決しない場合は、サーバー IP と変更後のポートを添えてチケットを送信し、IMIDC の 24時間365日テクニカルサポートへお問い合わせください。