Недавно столкнулся с такой проблемой: FireFox, Chrome, Opera не хотят проходить NTLM авторизацию. Единственный, кто проходил – так это IE. Забыл сказать, что такая проблема наблюдается на Windows7. Ниже будет описаны методы устранения этих неполадок.
Opera: официально не поддерживает NTLM-авторизацию, хотя в настройках можно найти пункт, который позволяет включать или отключать эту опцию. Поэтому, в настройках вашего прокси-сервера нужно добавить basic авторизацию. Что бы отключить NTLM-авторизацию (и собственно заставить работать через прокси этот браузер) делаем следующее:
1) набираем в браузере about:config
2) переходим в раздел NetWork и снимаем галочку с параметра Enable NTLM
3) перезапускаем браузер.
Правда есть один нюанс (так сказать неудобство): при первом запуске придётся ввести логин пароль (полностью, то есть с доменом) и поставить галочку “Сохранить”. Теперь при каждом последующем открытии браузера табличка авторизации появляться будет, и нужно будет просто жать “Ок”. Неудобно, но что поделаешь.
Примечание: иногда на некоторых ОС наоборот приходилось включать NTLM-авторизацию. Возможно это так же зависило от версий браузера и ОС.
FireFox, Chrome: они поддерживают, хотя нужно немного по шаманить. Опишу несколько вариантов, которые раздобыл в интернете, возможно вам придётся перепробовать все, пока не найдёте тот, который подошёл вам.
1) нужно будет добавить в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
параметр под названием LmCompatibilityLevel типа DWORD и присвоить ему значение 1. После чего надо будет перегрузить компьютер (именно этот вариант мне подошёл)
2) Чтобы Firefox мог проходить ntlm авторизацию, вроде достаточно открыть в адресной строке about:config и изменить параметры на такие:
network.negotiate-auth.delegation-uris = http://,https://
network.negotiate-auth.trusted-uris = http://,https://
После чего перезапустить браузер.
3) Открываем редактор политик (gpedit.msc) Конфигурация компьютера -> Конфигурация windows -> Параметры безопасности -> Локальные Политики -> Параметры Безопасности -> Сетевая безопасность: уровень проверки подлинности LAN Manager
и ставим параметр Отправлять LM и NTLM – использовать сеансовую безопасность NTLMv2 при согласовании.
После чего закрываем политику и перегружаемся.
Если у вас английская версия, тогда так: machine policy-> computer config->windows setting->local policies->security option->Network security: LAN Manager authentication level
и выбрать LM & NTLM – Use NTLMv2 session if negotited.
4) Ещё один вариант – это настроить через squid_ldap:
auth_param basic program /usr/lib/squid3/squid_ldap_auth -b "cn=users,dc=office,dc=ru" -f "sAMAccountName=%s" -h 192.168.0.74 -D "cn=administrator,cn=users,dc=office,dc=ru" -w "secpass"
auth_param basic children 5
auth_param basic realm My inet Proxy
auth_param basic credentialsttl 60 minutes
external_acl_type nt_groups %LOGIN /usr/lib/squid3/squid_ldap_group -R -b "cn=users,dc=office,dc=ru" -f "(&(cn=%v)(memberOf=cn=%a,cn=users,dc=office,dc=ru))" -D "cn=administrator,cn=users,dc=office,dc=ru" -w "secpass" -h 192.168.0.74
acl all src 0.0.0.0/0.0.0.0
acl group_inet external nt_groups inet
http_access allow group_inet
http_reply_access allow all
icp_access allow all
http_access deny all
В любом случае пробуйте 🙂
6 коментарів “NTLM авторизация в разных браузерах”
хм…..странно, у меня сейчас работает связка squid+ntlm. Никаких шаманств не пришлось делать. Поднимал недавно совсем. Все бегает классно. Ну единственное Mozilla не запоминает реквизиты, и приходиться юзверям при каждом открытии вводить доменные логин-пароль. А так никаких траблов. Хотя возможно данная проблема зависит от версий……
Ashas У меня такое наблюдается только в опере. В остальных же браузерах – всё нормально.
Вот именно, что приходится вводить логин и пароль доменные! А эта статья позволила избавится от данной проблемы! Теперь авторизация проходит автоматически без ввода логина и пароля – всё берётся из системы.
У меня все работает вот с такими строками если что:
auth_param ntlm program /usr/local/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 100
auth_param ntlm keep_alive on
auth_param basic program /usr/local/bin/ntlm_auth –helper-protocol=squid-2.5-basic
auth_param basic children 20
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 20 hours
Спасибо. Инфа очень помогла. А то в один прекрасный день все компы в сети взбесились и отказались проходить аутентификацию в проксе (грешу на обновления, wsus на днях запустил) , даже если вводишь логин и пароль. Думал ежика рожу. Через gp в домене все исправил.
в firefox достаточно набрать about:config и в строке network.automatic-ntlm-auth.trusted-uris вставить строку с адресом сервера, запрашивающего авторизацию