RDP — одна з найбільш сканованих служб в Інтернеті. Аутентифікація на рівні мережі (NLA) знижує ризик, вимагаючи аутентифікації до створення повноцінної сесії віддаленого робочого столу, що допомагає блокувати анонімні спроби зондування та зменшує зловживання ресурсами.
Якщо ви керуєте VPS на базі Windows, увімкнення NLA має бути частиною контрольного списку заходів із зміцнення безпеки «дня 1» — разом із обмеженнями брандмауера, передбаченими вашим середовищем хостингу VPS.
NLA вимагає від клієнта аутентифікації (зазвичай через CredSSP) перед тим, як Windows виділить повну інтерактивну сесію робочого столу. У порівнянні зі старою поведінкою RDP це дає вам:
На сервері (локально або через консоль):
SystemPropertiesRemoteТакож переконайтеся, що обліковий запис користувача має дозвіл на RDP (член групи «Користувачі віддаленого робочого столу» або «Адміністратори») і що брандмауер дозволяє RDP лише з надійних IP-адрес.
NLA керується налаштуванням RDP-Tcp UserAuthentication. Запустіть PowerShell як адміністратор:
# Require Network Level Authentication (NLA)
Set-ItemProperty -Path 'HKLM:SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' `
-Name 'UserAuthentication' -Value 1
Опціонально: перевірте значення:
Get-ItemProperty -Path 'HKLM:SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' `
-Name UserAuthentication
Якщо ви змінили налаштування віддалено, у деяких конфігураціях може знадобитися перезапуск служби «Служби віддаленого робочого столу» (або перезавантаження системи).
NLA є важливою, але вона не замінює мережеві обмеження. Для сервера, підключеного до Інтернету:
На платформі хостингу VPS поєднуйте правила брандмауера Windows із брандмауером/ACL провайдера, якщо це можливо.
Найпоширенішим випадком «перестало працювати» є застарілий клієнт без належної підтримки CredSSP. Типові симптоми включають повідомлення на кшталт «Віддалений комп’ютер вимагає автентифікації на рівні мережі…».
З вашої робочої станції (PowerShell):
Test-NetConnection 203.0.113.10 -CommonTCPPort RDP
Якщо TcpTestSucceeded має значення false, проблема зазвичай полягає у брандмауері/ACL/маршрутизації — а не в самій NLA.
Якщо старий клієнт не може пройти автентифікацію і ви не можете підключитися через RDP:
Вимкніть NLA через PowerShell (тимчасово):
Set-ItemProperty -Path 'HKLM:SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' `
-Name 'UserAuthentication' -Value 0
Важливо: розглядайте «NLA вимкнено» як тимчасовий стан усунення несправностей, а не як постійне налаштування.
Для стабільної щоденної адміністрації запускайте RDP з NLA на Windows VPS і суворо контролюйте межі мережі на рівні хостингу VPS.