−25%

Windows 年払い、10月31日まで。 プランを見る

EQVPS
始める

Windows VPS の RDP を守る方法:NLA、アカウントロックアウト、IP 許可リスト

Windows Server 2022 VPS の RDP を「誰にでも開いている」状態から「あなたにだけ応答する」状態にする 5 つの PowerShell 手順:ネットワークレベル認証、アカウントロックアウト、3389 のすべてのルールに効く IP 許可リスト、そしてログインを試みている相手の確認方法。

インターネット全体に応答する RDP ポートには、サーバー起動から数分でパスワードの推測が届き始めます。長いパスワードなら破られませんが、推測のたびにログオン試行が起き、イベントログが埋まり、次の RDP の脆弱性に攻撃の入り口を与えます。これを 5 つの手順で解決します。どれも PowerShell のコマンドで、すべて公開前に当社の Windows Server 2022 イメージで実行しました。

RDP で接続して 管理者として PowerShell を開き(接続方法)、順番に進めてください。手順 4 は最後に行います。自分を締め出す可能性があるのはこの手順だけです。

1. 長く、使い回さないパスワード

初回ログインのパスワードのままなら、ダッシュボードで長いもの(20 文字以上、パスワードマネージャーで生成)に変更してください。以下の手順はすべて、パスワード自体が推測できないことを前提にしています。

2. ネットワークレベル認証(NLA)を有効にする

NLA があると、Windows はセッションを作ってログイン画面を描く前に資格情報を確認します。認証されていない接続はデスクトップのコードに届かず、有名な RDP の脆弱性の多くはまさにそこにありました。現在の状態を確認します。

(Get-CimInstance -Namespace root/cimv2/TerminalServices -ClassName Win32_TSGeneralSetting -Filter "TerminalName='RDP-tcp'").UserAuthenticationRequired

1 なら NLA は有効です。0 なら有効にします。

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1

Windows、macOS、Linux(xfreerdp)の現在のリモートデスクトップクライアントはすべて NLA に対応しています。次回の接続では、リモート画面が出る前にパスワードを求められます。

3. 失敗が続いたらアカウントをロックする

Windows Server 2022 の既定のインストールでは、何回パスワードを間違えてもアカウントはロックされません。2026 年 10 月 24 日以降に当社のイメージからインストールしたサーバーには下記の上限が設定済みです。それより前のサーバーでは設定します。

net accounts /lockoutthreshold:5 /lockoutwindow:15 /lockoutduration:15
net accounts

15 分以内に 5 回間違えると、アカウントは 15 分間ロックされます。実際に試したところ、5 回失敗した時点で通常ユーザーも組み込みの Administrator もロックされました。ロックは自動で解除されるので、打ち間違いの多い朝でも失うのは 15 分で、サーバーではありません。

4. RDP を自分の IP アドレスからだけ許可する

この手順でノイズのほとんどが消えます。Windows ファイアウォールのルールはリモートアドレスの一覧を受け付けるので、自分のアドレスを入れます。「IP アドレス確認」系のページで現在のグローバル IP を調べてから:

$myIp = '203.0.113.10'   # your public IP; several: '203.0.113.10','198.51.100.0/24'
Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule | Set-NetFirewallRule -RemoteAddress $myIp

このコマンドは、組み込みの「リモート デスクトップ」グループだけでなく、ポート 3389 の受信ルールをすべて見つけます。ここが重要です。2026 年 10 月 24 日より前に当社のイメージからインストールしたサーバーには、ポートを全員に開ける「EQVPS RDP 3389」という追加ルールがあり、ほかのソフトウェアが独自のルールを追加することもあります。組み込みグループだけを制限すると、そうしたルールがポートを開けたままにします。私たち自身、テスト中にまさにこの失敗をしました。結果を確認します。

Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule |
  Select-Object DisplayName, @{n='Remote';e={($_ | Get-NetFirewallAddressFilter).RemoteAddress}}

すべての行にあなたのアドレスが表示されるはずです。私たちのテストでは、他のアドレスからの接続は応答がなく、許可したアドレスからは接続できました。

NAT プランでも同じように動きます。専用ポートからの転送はあなたの本当のアドレスを保つので、自分のグローバル IP を許可してください。

IP が変わると、RDP はあなたにも応答しなくなります。ダッシュボードからブラウザーコンソールを開き(RDP もファイアウォールも経由しません)、ログインして新しいアドレスでコマンドを実行してください。許可リストを完全に外すには -RemoteAddress Any を使います。

5. 誰がログインを試みているか見る

ログオンの失敗はセキュリティログのイベント 4625 です。次のコマンドで、各試行のアカウント名と送信元アドレスが分かります。

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20 |
  Select-Object TimeCreated, @{n='User';e={$_.Properties[5].Value}}, @{n='SourceIP';e={$_.Properties[19].Value}}

許可リストを設定する前は、知らないアドレスから Administrator、admin、user が絶え間なく届くはずです。設定後は、一覧が静かになります。

やらなくてよいこと

  • RDP のポート変更。 専用 IPv4 のプランではログのノイズが減るだけで、スキャナーはすぐ新しいポートを見つけます。NAT プランでは転送先が 3389 なので、アクセスできなくなります。
  • 「動かすために」ファイアウォールを切ること。 ルール変更後に RDP が応答しなくなったら、ブラウザーコンソールからルールを直してください。

更新を続ける

RDP の最も深刻なインシデントは、パスワードではなくプロトコルの脆弱性から起きました。Windows Server 2022 は 2031 年 10 月 14 日までセキュリティ更新を受け取ります。Windows Update は有効のままにし、求められたら再起動してください。

イメージはあなた自身のライセンスで使う Windows Server 2022 です(BYOL の仕組み)。プランは Windows-Small から:4 vCPU、RAM 4 GB、50 GB、NAT で月 $11。専用 IPv4 付きの Windows Small-IP は月 $28 です。4 つのプランはすべて Windows VPS のページにあります。RDP と並べて SSH を使うなら、Windows Server の OpenSSH をご覧ください。

よくある質問

RDP のポートを変えるだけで十分ですか?

いいえ。別のポートにするとログのノイズは減りますが、スキャナーは数時間で見つけます。NAT プランでは変更しないでください。あなた専用の外部ポートはサーバー内の 3389 に転送されており、RDP を移すとその転送が壊れます。IP 許可リストは、ポート変更が「やっているふり」をしていることを本当に実現します。

NAT プランでも IP 許可リストは効きますか?

効きます。サーバーへの転送は接続の本当の送信元アドレスを保つので、Windows ファイアウォールはあなた自身のグローバル IP を見て照合できます。サーバーのアドレスではなく、そのアドレスを許可してください。

自宅の IP が変わって締め出されたらどうなりますか?

ダッシュボードからブラウザーコンソールを開いてください。RDP を経由せずサーバーの画面に直接つながるため、ファイアウォールにはブロックされません。そこでログインし、同じ Set-NetFirewallRule コマンドで新しいアドレスを設定します。

ボットに Administrator アカウントをロックされることはありますか?

ロックアウトポリシーを設定していれば、毎回 15 分間ロックされます。現在の Windows Server 2022 のビルドでは、組み込みの Administrator も他のアカウントと同じようにロックされます(確認済み)。だからこそ IP 許可リストが重要です。ポート 3389 に届かないボットはロックも起こせません。

RDP を締めても Windows Update は必要ですか?

必要です。RDP への最も深刻な攻撃は、パスワードではなくプロトコル自体の脆弱性を突いたものでした。Windows Server 2022 は 2031 年 10 月 14 日までセキュリティ更新を受け取るので、Windows Update は有効のままにしてください。

コメント

まだコメントはありません。最初になりましょう。

コメントを残す

コメントは表示される前にモデレートされます。