さくらのVPS for Windows Serverのリモートデスクトップ接続をプロバイダIP帯でゆるく制限する方法
自宅回線では固定IPアドレスを利用していないのですが、さくらのVPS for Windows Server
にはリモートデスクトップへの不正アクセスと思われるログが多く残っています。
そこで、自宅で利用しているプロバイダのIPアドレス帯を調べ、その範囲からのみリモートデスクトップ接続を許可するように制限してみました。
以下のコマンドを、管理者権限で起動したコマンドプロンプトから実行します。
専用の許可ルールを追加
プロバイダのIPアドレス帯が「113.197.128.0/17」「217.178.0.0/16」の場合のサンプルです。
※利用しているプロバイダのIPアドレス帯は、自分のグローバルIPアドレスをWHOISなどで検索することで、そのIPアドレスを含む割り当て範囲を調べることができます。
netsh advfirewall firewall add rule name="Allow RDP from My Provider TCP" dir=in action=allow protocol=TCP localport=3389 remoteip=113.197.128.0/17,217.178.0.0/16 設定内容を確認
追加したルールが正しく登録されているか確認します。
netsh advfirewall firewall show rule name="Allow RDP from My Provider TCP"規則名: Allow RDP from My Provider TCP
----------------------------------------------------------------------
有効: はい
方向: 入力
プロファイル: ドメイン,プライベート,パブリック
グループ:
ローカル IP: 任意
リモート IP: 113.197.128.0/17,217.178.0.0/16
プロトコル: TCP
ローカル ポート: 3389
リモート ポート: 任意
エッジ トラバーサル: いいえ
操作: 許可
OK
「有効: はい」「リモート IP: 113.197.128.0/17,217.178.0.0/16」「ローカル ポート: 3389」となっていることを確認します。
既存の「全許可RDP」グループを無効化
専用の許可ルールを追加しただけでは、既存の「リモート デスクトップ」ルールから引き続き接続できる場合があります。
そのため、既存の「リモート デスクトップ」グループを無効化します。
netsh advfirewall firewall set rule group="リモート デスクトップ" new enable=no既存ルールが無効になっていることを確認
netsh advfirewall firewall show rule name="リモート デスクトップ - ユーザー モード (TCP 受信)"規則名: リモート デスクトップ - ユーザー モード (TCP 受信)
----------------------------------------------------------------------
有効: いいえ
方向: 入力
プロファイル: ドメイン,プライベート,パブリック
グループ: リモート デスクトップ
ローカル IP: 任意
リモート IP: 任意
プロトコル: TCP
ローカル ポート: 3389
リモート ポート: 任意
エッジ トラバーサル: いいえ
操作: 許可
OK
「有効: いいえ」となっていることを確認します。
これで、既存の全許可ルールではなく、追加したプロバイダIPアドレス帯向けの許可ルールを使ってリモートデスクトップへ接続する状態になります。
まとめ
固定IPアドレスを利用していない場合でも、プロバイダが使用しているIPアドレス帯を許可することで、リモートデスクトップの接続元をゆるく制限できます。
完全なアクセス制限ではありませんが、多くの不正アクセスが国外のIPアドレスから行われていることを考えると、不正な接続試行の大部分を遮断できます!

