NTLM авторизация в разных браузерах

Недавно столкнулся с такой проблемой: 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

В любом случае пробуйте 🙂

NTLM авторизация в разных браузерах: 6 комментариев

  1. Ashas

    хм…..странно, у меня сейчас работает связка squid+ntlm. Никаких шаманств не пришлось делать. Поднимал недавно совсем. Все бегает классно. Ну единственное Mozilla не запоминает реквизиты, и приходиться юзверям при каждом открытии вводить доменные логин-пароль. А так никаких траблов. Хотя возможно данная проблема зависит от версий……

    1. skeletor Автор записи

      Ashas У меня такое наблюдается только в опере. В остальных же браузерах — всё нормально.

    2. Юрий

      Вот именно, что приходится вводить логин и пароль доменные! А эта статья позволила избавится от данной проблемы! Теперь авторизация проходит автоматически без ввода логина и пароля — всё берётся из системы.

  2. 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

  3. Xramoi

    Спасибо. Инфа очень помогла. А то в один прекрасный день все компы в сети взбесились и отказались проходить аутентификацию в проксе (грешу на обновления, wsus на днях запустил) , даже если вводишь логин и пароль. Думал ежика рожу. Через gp в домене все исправил.

  4. mrv

    в firefox достаточно набрать about:config и в строке network.automatic-ntlm-auth.trusted-uris вставить строку с адресом сервера, запрашивающего авторизацию

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *