Назад | Перейти на главную страницу

Как остановить проверку подлинности NTLM v1 в среде виртуальных машин Windows?

Мой сценарий заключается в том, что у меня есть веб-сайт, настроенный через IIS в Windows Server 2012 R2 Standard с использованием проверки подлинности Windows, который был обнаружен как уязвимый для атаки NTLMv1, и поэтому я хочу отключить это и разрешить только NTLMv2.

Из моего исследования по этой теме я нашел много полезной информации, такой как "Анонимный вход" vs "NTLM V1" Что отключить? и https://markgamache.blogspot.co.nz/2013/01/ntlm-challenge-response-is-100-broken.html

По этим и другим подобным ссылкам единственный ответ, который обычно дается, - иметь значение реестра в HKLM \ SYSTEM \ CurrentControlSet \ Control \ Lsa с именем LmCompatibilityLevel и настраивать его. Я попытался установить для него значение 5, которое Клиенты используют только аутентификацию NTLMv2, и они используют сеансовую безопасность NTLMv2, если сервер ее поддерживает. Контроллер домена отклоняет ответы проверки подлинности LM и NTLM, но принимает NTLMv2.

Однако, когда я это делаю, кажется, что я все еще могу успешно подключиться к веб-сайту, используя свои учетные данные Windows с другого сервера, который я настроил, чтобы LmCompatibilityLevel был установлен на 0, который должен использовать / разрешать только LM / NTLM.

Я обнаружил, что он использует проверку подлинности NTLMv1, через журналы безопасности Windows.

Detailed Authentication Information:
    Logon Process:      NtLmSsp 
    Authentication Package: NTLM
    Transited Services: -
    Package Name (NTLM only):   NTLM V1
    Key Length:     128

Когда я устанавливаю значение реестра 3 или выше на клиентском сервере перед подключением, значение имени пакета становится NTLM V2.

Я также изменил локальную и групповую политику безопасности. Сетевая безопасность: уровень аутентификации LAN Manager к Отправлять только ответ NTLMv2. Отказаться от LM и NTLM но по результатам тестирования я понял, что это существенно разные интерфейсы для одной и той же настройки.

Кто-нибудь испытал это или знает, есть ли другая настройка, которую мне не хватает, которую мне нужно изменить?

По моему опыту, я столкнулся с этим из-за установки ntlm.auth.domain с неправильным доменным именем при настройке NTLMv2 (настроил аутентификацию в 2008 R2).

Нашел решение в сообщении @Silvio Meier (2. ловушка), которое лучше описывает проблему: https://web.liferay.com/community/forums/-/message_boards/message/57355858

3 отправляет только NTLMv2, но он принимает LM, NTLMv1 и NTLMv2. https://technet.microsoft.com/en-us/library/2006.08.securitywatch.aspx

Если у кого-то еще возникнет такая же проблема в будущем, похоже, что этот параметр был перезаписан параметром контроллера домена, который был ниже. При настройке Контроллера домена на уровень 5 (Отправлять только ответ NTLMv2. Отказаться от LM и NTLM), он отклоняет соединения NTLM v1.

Если мы редактировали реестр и перезагружали компьютер, этот параметр также перезаписывался при перезагрузке, поэтому только редактирование параметров контроллера домена могло привести к требуемому результату отказа в соединениях NTLMv1.