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

Использовать аутентификацию NTLMv2 с Samba

Попытка подключиться к общим ресурсам Samba на хосте Linux с клиентом Windows 10 даже после установка политики безопасности клиента, чтобы разрешить аутентификацию без NTLMv2, клиент по-прежнему выдает ошибки типа «Указанный пароль неверен». при использовании действительных учетных данных.

Похоже, что большинство систем могут поддерживать аутентификацию NTLMv2, поэтому я хотел бы просто включить ее на моем хосте Samba и больше не беспокоиться о поддержке старых протоколов. Похоже, что Samba по умолчанию использует параметр NTLMv2, но какие параметры мне нужно установить, чтобы удовлетворить Windows (т.е. использовать только NTLMv2)?

Предположительно, Значения по умолчанию Samba соответствуют следующим значениям, но мне пришлось указать их явно:

lanman auth = no
ntlm auth = yes
client lanman auth = no

Проверьте реестр Windows на наличие ключа:

HKLM\System\CurrentControlSet\Control\Lsa\LmCompatibilityLevel

Если установлено значение 0, Windows попытается подключиться только с использованием NTLMv1. Я видел этот ключ реестра, установленный таким образом, на нескольких компьютерах с Windows 10, и я не уверен, почему. Однако вы можете удалить этот раздел реестра, и Windows вернется к своему поведению по умолчанию, которое заключается в использовании NTLMv2 и нормальном подключении к Samba 4.

Мне нужно было добавить --allow-mschapv2 в файл /etc/freeradius/3.0/mods-enabled/mschap, чтобы он выглядел так:

ntlm_auth = "/usr/bin/ntlm_auth --allow-mschapv2 --request-nt-key --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --challenge=%{%{mschap:Challenge}:-00} --nt-response=%{%{mschap:NT-Response}:-00}"

(то есть помимо правильной установки ntlm auth параметр. В моем случае это ntlm auth = mschapv2-and-ntlmv2-only в smb.conf)