Event ID 50: The Terminal Server security layer detected an error — решение
Симптомы сбоя протокола безопасности RDP (Event ID 50)
В журнале System регистрируется ошибка: Event ID 50: The Terminal Server security layer detected an error in the protocol stream and has disconnected the client от источника TermDD или TerminalServices-LocalSessionManager.
| Симптом | Проявление для пользователя |
|---|---|
| Внезапный разрыв RDP-сессии | Клиент отключается посреди работы с сообщением «Because of an error in data encryption, this session will end» |
| Зависание на этапе авторизации | Окно RDP закрывается сразу после ввода пароля или на экране «Настройка удаленного сеанса» |
| Отказ при передаче больших буферов | Сброс сессии при открытии тяжелых документов или копировании буфера обмена |
Пошаговое устранение ошибки потока RDP (Event ID 50)
Сбой возникает из-за повреждения контрольных сумм пакетов RDP, несоответствия версий шифрования TLS, повреждения самоподписанного сертификата RDP или фрагментации крупных сетевых пакетов из-за некорректного размера MTU.
- Пересоздайте самоподписанный RDP-сертификат: поврежденный сертификат часто искажает поток рукопожатия (Handshake):
# Остановка службы терминалов:
Stop-Service -Name TermService -Force
# Удаление старых просроченных сертификатов Remote Desktop из хранилища:
Get-ChildItem Cert:\LocalMachine\RemoteDesktop | Remove-Item -Force
# Запуск службы для автоматической генерации нового чистого сертификата:
Start-Service -Name TermService- Отключите аппаратную разгрузку Large Send Offload (LSO): сетевая карта может портить заголовки пакетов:
# Отключение LSO на всех физических интерфейсах:
Disable-NetAdapterLso -Name * -IPv4 -IPv6 -Confirm:$false
Disable-NetAdapterChecksumOffload -Name * -All -Confirm:$false- Настройте уровень безопасности SecurityLayer и NLA в реестре:
# Принудительное использование чистого протокола SSL/TLS (SecurityLayer = 2):
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'SecurityLayer' -Value 2 -Type DWord
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'UserAuthentication' -Value 1 -Type DWord- Проверьте размер MTU: если подключение идет через VPN, установите MTU 1400–1450 на клиентском шлюзе для предотвращения фрагментации TCP-пакетов.
Важно: Если на сервере используются устаревшие протоколы TLS 1.0/1.1, убедитесь, что в реестре включен TLS 1.2 и актуальные наборы шифров (Cipher Suites).
Частые вопросы (FAQ)
Почему ошибка Event 50 часто возникает при использовании VPN?
VPN-туннели добавляют накладные расходы к заголовкам пакетов. Если пакет превышает MTU, он фрагментируется. Протокол RDP очень чувствителен к потере фрагментов и при их отсутствии сбрасывает сессию по Event 50.
Связана ли ошибка 50 с вредоносным сканированием портов?
Да, если боты сканируют порт 3389 некорректными мусорными пакетами, подсистема TermDD фиксирует нарушение формата потока и пишет Event 50.
Как проверить настройки протокола TLS на сервере?
Используйте бесплатную утилиту IIS Crypto от Nartac Software для быстрой проверки и применения шаблона 'Best Practices'.
Помогает ли отключение UDP в RDP при возникновении Event 50?
Да, отключение UDP через GPO ('Отключить UDP на клиенте') принудительно переводит весь трафик на надежный стек TCP.