−25%

на годовую оплату Windows, до 31.10. К тарифам

EQVPS
Начать

Как защитить RDP на Windows VPS: NLA, блокировка и список разрешённых IP

Пять шагов в PowerShell, после которых RDP на VPS с Windows Server 2022 отвечает только вам: проверка подлинности на уровне сети (NLA), блокировка учётной записи, список разрешённых адресов для всех правил порта 3389 и журнал попыток входа.

Порт RDP, открытый всему интернету, начинает получать попытки подбора пароля через несколько минут после запуска сервера. Длинный пароль выдержит, но каждая попытка — это всё равно попытка входа, строка в журнале событий и лишний собеседник для следующей уязвимости RDP. Это исправляют пять шагов. Каждый — команда PowerShell, и каждую мы выполнили на нашем образе Windows Server 2022 перед публикацией.

Откройте PowerShell от имени администратора по RDP (как подключиться) и идите по порядку. Шаг 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 не блокирует учётную запись никогда, сколько бы неверных паролей ни пришло. На серверах, установленных из нашего образа с 24 октября 2026 года, предел ниже уже задан; на более ранних задайте его:

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

Пять неверных паролей за 15 минут блокируют учётную запись на 15 минут. Мы проверили: после пяти неудачных попыток были заблокированы и обычный пользователь, и встроенный Administrator. Блокировка снимается сама, так что утро с опечатками обойдётся вам в четверть часа, а не в сервер.

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, а не только встроенную группу «Удалённый рабочий стол». Это важно: на серверах, установленных из нашего образа до 24 октября 2026 года, есть дополнительное правило «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}}

До ограничения по IP ждите постоянного потока Administrator, admin, user с незнакомых адресов. После — список должен затихнуть.

На что не тратить время

  • Смена порта RDP. На тарифе с собственным IPv4 она только уменьшает шум в журнале, новый порт сканеры находят быстро. На тарифе с NAT она ломает доступ, потому что проброс идёт на 3389.
  • Выключить брандмауэр, «чтобы заработало». Если после правки правила RDP перестал отвечать, исправьте правило через консоль в браузере.

Обновления

Самые серьёзные инциденты с RDP происходили из-за ошибок протокола, а не паролей. Windows Server 2022 получает обновления безопасности до 14 октября 2031 года, поэтому не выключайте Windows Update и перезагружайтесь, когда он просит.

Образ — Windows Server 2022 с вашей лицензией (как устроен BYOL). Тарифы начинаются с Windows-Small: 4 vCPU, 4 ГБ памяти, 50 ГБ, $11/мес с NAT. С собственным IPv4 — Windows Small-IP за $28/мес. Все четыре тарифа — на странице Windows VPS. Если рядом с RDP нужен SSH, см. OpenSSH на Windows Server.

Частые вопросы

Хватит ли сменить порт RDP?

Нет. Другой порт уменьшает шум в журнале, но сканеры находят его за несколько часов. На тарифе с NAT порт вообще не меняйте: ваш персональный внешний порт проброшен на 3389 внутри сервера, и перенос RDP ломает этот проброс. Список разрешённых IP делает то, что смена порта только изображает.

Сработает ли список разрешённых IP на тарифе с NAT?

Да. Проброс до вашего сервера сохраняет настоящий адрес источника, поэтому брандмауэр Windows видит ваш собственный публичный IP и может его сравнить. Разрешайте этот адрес, а не адрес сервера.

Что делать, если домашний IP сменился и я заблокировал себя?

Откройте консоль в браузере из кабинета. Она работает с экраном сервера напрямую, а не через RDP, поэтому брандмауэр её не блокирует. Войдите там и задайте новый адрес той же командой Set-NetFirewallRule.

Может ли бот заблокировать мою учётную запись Administrator?

При включённой блокировке — да, каждый раз на 15 минут: в текущих сборках Windows Server 2022 встроенный Administrator блокируется, как любая другая учётная запись (мы проверили). Поэтому и важен список разрешённых IP: боты, которые не могут достучаться до порта 3389, не могут и вызвать блокировку.

Нужны ли обновления Windows, если RDP закрыт?

Да. Самые серьёзные атаки на RDP использовали ошибки в самом протоколе, а не подбор паролей. Windows Server 2022 получает обновления безопасности до 14 октября 2031 года, так что не выключайте Windows Update.

Комментарии

Пока нет комментариев. Будьте первым.

Оставить комментарий

Комментарии проходят модерацию перед публикацией.