【リモートワーク自由自在】Windowsリモートデスクトップ接続のポート番号を変更してよりセキュアにするTech TIPS

リモートデスクトップサービスは便利な機能だが、ユーザー名とパスワードが分かると簡単に接続できてしまう。もしインターネットに公開するなら、最低限のセキュリティ対策としてデフォルトのポート番号を変更するのがよい。

» 2020年04月27日 05時00分 公開

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Windows 10


リモートデスクトップの待ち受けポート番号を変更する リモートデスクトップの待ち受けポート番号を変更する
待ち受けポート番号を変更することで、セキュリティを高めることができる。ただし、ポート番号の変更にはレジストリの編集が必要になる。

 Windows 10のリモートデスクトップ接続は、リモートからコンピュータへ接続してデスクトップ環境を利用するためのサービスで、リモートワークなどでよく利用されている。

 ローカルのネットワークだけでなく、VPN回線などを通して、離れたネットワーク環境にあるPCにリモートでサインインして、利用しているユーザーも多いのではないだろうか。だが、イントラネット上で利用する場合と違って、インターネットを介して利用する場合はセキュリティに注意しなければならない。

 特に、Windows 10を直接インターネット上に公開し、リモートからいつでもリモートデスクトップ接続できるようにしているようなユーザーは注意が必要だ。というのも、リモートデスクトップ接続では、ユーザー名とパスワードさえ一致すれば、簡単にサインインできてしまうからだ。

 このような事態を防ぐには、少なくともリモートデスクトップ接続やターミナルサービスが稼働していることを(外部からは簡単に)悟られないようにするのがよい。具体的には、デフォルトのサービスポート番号(TCP/UDPの3389番)を変更すればよい。

 もちろん、ポートスキャン(利用されているポート番号を順番に総当りでスキャンする侵入、攻撃方法)が行われればリモートデスクトップサービスが稼働していることが分かってしまう。それでも、一般的には、ポート番号を変えるだけで安全性が高くなる。

 特定のコンピュータを(執拗に)狙う場合ならともかく、通常の侵入行為では、ある固定的な(既知の)ポート番号でのみスキャンして、サービスが稼働しているかどうかを調べているからだ(全ポートに対するポートスキャンを行うと非常に時間がかかるし、トラフィックが増えて発見されやすくなるからだ)。

 ただし、元のポート番号から類推しやすいものではあまり意味がないので(例えば3389番を13389番や23389番にするなど)、なるべく異なるポート番号にするのが望ましい。さらに言うならば、なるべく大きなポート番号にしておくと、小さい値から順番にスキャンされる攻撃に強くなる(ポート番号の範囲は1〜65535)。

 ここでは、Windows 10のリモートデスクトップ接続に使われるデフォルトのポート番号を変更する方法について解説する。

リモートデスクトップ接続で使われているポート番号を変更する

 リモートデスクトップ接続では、RDP(Remote Desktop Protocol)というプロトコルを使っている。具体的にはTCP/UDPの3389番を使っており、サーバ側は、このポートでクライアントからの接続をリッスン(待ち受け)している。これ以外のポートや、2次接続(サービス接続後に、さらに別のポートでTCPやUDP接続を利用すること)は利用していないので、ファイアウォールなどで対応しやすいプロトコルである。

[注意]

レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリエディターの操作は慎重に行うとともに、あくまでご自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本編集部では責任を負いかねます。ご了承ください。


 このポート番号を変更するには、レジストリエディターを起動し、以下のレジストリの値を変更する。

項目 内容
キー HKEY_LOCAL_MACHINE 中の
\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
名前 PortNumber
種類 DWORD(32ビット)値
データ 3389(10進数)を任意の値に変更
リモートデスクトップの待ち受けポート番号を変更するレジストリ

ポート番号を変更する(1) ポート番号を変更する(1)
レジストリエディターを起動し、上表のレジストリキーを開く。右ペインで[PortNumber]を探し、ダブルクリックする。
ポート番号を変更する(2) ポート番号を変更する(2)
[PortNumber]をダブルクリックして、編集できるようにする。「値のデータ」に新シポート番号を入力する。このとき、表記で[10進数]を選択しておくと値が分かりやすい。

 デフォルトでは10進数で3389(16進数表示だと「d3d」)となっているので、これを適当なポート番号、例えば「47935」(この番号は任意。一般的には1024以下は利用できない。10000〜65000ぐらいの間で適当に選ぶ)などに変更する。

 レジストリの変更後、Windows 10を再起動すると、利用するポート番号が変更されているはずだ。コマンドプロンプトを開き、次のようにコマンドを実行して確認しておこう。

netstat -ano | find ":<設定したポート番号>"
tasklist /svc /fi "PID eq <表示されたプロセスID>"

利用するポート番号を確認するコマンド

リモートデスクトップのポート番号の変更を確認する手順 リモートデスクトップのポート番号の変更を確認する手順
最初のnetstatコマンドで、設定したポート番号でリッスンしているプロセスのIDを確認する。次のtasklistコマンドで、そのプロセスIDに該当するサービスの略称が「TermService」(リモートデスクトップのサービス)であれば、正しく設定されていると判断できる。

 上記の手順で表示されたサービス略称が「TermService」であれば、ポート番号は変更されている。最初のnetstatコマンドで何も表示されなかったり、違うサービス名が表示されたりした場合、変更されていないので、もう一度レジストリを確認するか、別のポート番号を試してみる(指定したポートが、すでに別のサービスやアプリケーションによって占有されている可能性がある)。

ファイアウォールの設定を変更する

 以上でサーバ側の変更は完了であるが、インターネットからアクセスするためには、ファイアウォールなどの設定も変更する必要がある。例えば、Windows 10に内蔵のファイアウォール機能(セキュリティが強化されたWindows Defenderファイアウォール)を使っているのなら、新しいポートでの呼び出しを受け付けるように変更しなければならない。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。