
У меня есть приложение, которое должно отправлять HTTP-запросы через прокси-сервер, поддерживающий только аутентификацию NTLM против локального контроллера домена. Я использую сборку libcurl SSPI для отправки запросов, которая работает на Windows 7+ как локальная система и Windows Server 2008 как пользователь домена.
Однако, когда я запускаю приложение как пользователь Local System на S2008, аутентификация с помощью прокси-сервера не проходит. Проверка рукопожатия NTLM показывает, что:
- Флаг «Переговоры анонимны» устанавливается клиентом S2008 и
- Данные пользователя не отправляются.
В Windows 7+ анонимная аутентификация не используется, а вместо нее используются учетные данные идентификации компьютера. Некоторые исследования показывают, что использование учетных данных компьютера вместо анонимной аутентификации NTLM является новой функцией в Windows 7+ (см. technet) Итак, если это так, есть ли способы включить анонимную аутентификацию на контроллере домена или прокси-сервере, чтобы обеспечить успешную анонимную аутентификацию?
Я использую прокси-сервер Squid 3.2.8 с winbind и контроллер домена Windows Server 2012 R2.
решение1
Эти проблемы с аутентификацией в Windows Server 2008 обусловлены различиями в функциональности NTLM в Windows 7 / Windows Server 2008 R2 +.
Чтобы включить аутентификацию этих устаревших операционных систем, необходимо включить и настроить три параметра групповой политики Computer Configuration/Policies/Windows Settings/Security Settings/Local Policies/Security Options
:
- Сетевая безопасность: минимальная безопасность сеанса для клиентов на базе NTLM SSP (включая безопасный RPC) — снимите флажок «Требовать 128-битное шифрование»
- Сетевая безопасность: минимальная безопасность сеанса для серверов на базе NTLM SSP (включая безопасный RPC) — снимите флажок «Требовать 128-битное шифрование»
- Безопасность сети: разрешить локальной системе использовать идентификатор компьютера для NTLM — включите эту политику
После применения этих изменений устаревшие операционные системы смогут успешно проходить аутентификацию и проходить через прокси-сервер.