Вопрос или проблема
Я пытаюсь отключить NTLM (по соображениям безопасности) на новом домене.
Я активирую Безопасность сети: Ограничить NTLM: Входящий NTLM-трафик
, Безопасность сети: Ограничить NTLM: Аутентификация NTLM в этом домене
и Безопасность сети: Ограничить NTLM: Исходящий NTLM-трафик к удалённым серверам
, чтобы запретить весь входящий или исходящий NTLM от/к клиентам/серверам.
Но затем, когда я пытаюсь подключиться через RDP, я получаю следующее сообщение об ошибке:
Я проверил предоставленную ссылку, и как мой клиент Windows 10, так и серверы Windows 2019 полностью обновлены, и их tspkg.dll находятся в более новой версии, чем та, которая с патчем для исправления CredSSP/Oracle CVE.
Я даже пробовал это на совершенно новом лабораторном домене на локальной виртуальной машине: та же проблема.
Я также пытался понизить уровень аутентификации до “уязвимого” через gpedit, но безуспешно.
Я пропустил какую-то настройку где-то?
Для меня, когда в Дефолтной Политике Доменов активно ограничение NTLM “Запретить для доменных серверов”, и серверы имеют включённый NLA, кажется, что подключение удалённого рабочего стола (mstsc.exe) работает только с DNS-именами, когда используются реальные IP-адреса серверов, это не работает.
По этой ссылке я нашел решение
https://blog.getcryptostopper.com/rdp-brute-force-attack-detection-and-blacklisting-with-powershell
Рабочий стол>>Свойства>>Удаленный доступ >> Аутентификация (снимите отметку с NLA)
Нет способа включить NLA и отключить NTLM. Я протестировал это на Windows Server 2012 и 2016. Я пробовал все стандартные изменения групповой политики, установив восстановление CredSSP Oracle в уязвимое состояние, но это не дало результата.
Если вы хотите отключить NTLM в групповой политике, вы должны отключить NLA.
Если кто-то нашел способ оставить NLA включённым и NTLM отключённым в групповой политике, я был бы рад это услышать, но пока нигде в Интернете я не нашел инструкций, как это сделать успешно.
Вы можете добавить исключения, используя групповую политику. Вы можете исключить серверы, используя их FQDN или IP-адрес.
У нас уже декабрь 2024 года, и я все еще вынужден использовать эту настройку на контроллере домена, иначе я не могу подключиться ни к одному серверу в этом домене через RDP по IP или DNS-именам, если машина, с которой я подключаюсь, не является участником домена. Если бы только mstsc.exe имел вариант: Принудить kerberos и использовать отдельно указанный объект, а не имя с /v:.
Ответ или решение
Проблема: Ошибка CredSSP при отключении NTLM и подключении по RDP
При отключении NTLM с целью повышения безопасности в домене, вы столкнулись с ошибкой CredSSP при попытке установить соединение через удалённый рабочий стол (RDP). Эта проблема часто возникает из-за конфликтов настроек аутентификации, специфичных для вашей конфигурации сети и используемых протоколов. В данном ответе мы детально рассмотрим возможные причины и решения данной ситуации.
Контекст проблемы
Вы активировали следующие параметры групповой политики на ваших серверах:
- Network security: Restrict NTLM: Incoming NTLM traffic — Отключение входящего NTLM-трафика.
- Network security: Restrict NTLM: NTLM authentication in this domain — Запрет NTLM-аутентификации в домене.
- Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers — Запрет исходящего NTLM-трафика к удалённым серверам.
После внесения этих изменений, при подключении через RDP возникает ошибка, указывающая на проблемы с Credential Security Support Provider (CredSSP).
Возможные решения
-
Проверка обновлений и версий: Убедитесь, что все версии операционных систем полностью обновлены. Это включает в себя последние патчи для исправления ошибок, касающихся CredSSP и NTLM. Важно удостовериться, что на клиентских и серверных машинах установлены обновления, которые позволяют корректно использовать Kerberos вместо NTLM.
-
Аутентификация по именам и IP: Как вы уже отметили, при определённых настройках RDP может работать только с DNS-именами серверов, а не с их IP-адресами. Для решения этой проблемы добавьте разрешения для IP-адресов или полных доменных имён ваших серверов в исключения для NTLM. Это можно сделать в интерфейсе групповой политики (GPO) или через редактор локальной групповой политики:
- Отройте редактор gpmc.msc.
- Перейдите в Policy -> Windows Settings -> Security Settings -> Local Policies -> Security Options.
- Настройте исключения под графой Restrict NTLM.
-
Отключение NLA: Как показал ваш опыт, отключение NLA может помочь в создании соединения. Однако это также снизит уровень безопасности, что не является желаемым результатом. Однако это может быть времённое решение, пока вы не найдете способ сохранить NLA с отключенным NTLM.
-
Использование Kerberos: Для поддержки безопасного соединения с включенной NLA рекомендуется настроить RDP на использование Kerberos. Это может потребовать корректной настройки DNS, чтобы обеспечить правильное разрешение доменных имён.
-
Конфигурация CredSSP: Настройте параметры CredSSP, используя командную строку или Windows PowerShell, чтобы обеспечить корректную передачу аутентификационных данных через RDP. Обновите конфигурацию CredSSP на клиенте и сервере, следуя инструкциям Microsoft по этой теме.
Выводя всё вышесказанное, необходимо следить за балансом между безопасностью и доступностью. Отключение NTLM может повысить безопасность вашей сети, но в то же время требует тщательной настройки других компонентов аутентификации, чтобы обеспечить стабильную работу всех сервисов. Если описанные шаги не помогают, рассмотрите возможность привлечения специалистов по сетевой безопасности для более детального анализа существующих конфигураций.