Порт 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.
Комментарии
Пока нет комментариев. Будьте первым.