The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Прозрачная авторизация SQUID для Linux/Mac пользователей, !*! Skif, 21-Дек-11, 13:52  [смотреть все]
Собственно сабж.
Есть задача сделать прозрачную авторизацию пользователей linux/mac на проксе. для Windows с AD решается нараз - ntlm_auth.
Здесь чувствую копать надо в сторону kerberos, но что-то не идёт.
На данный момент сеть имеет следующую конфигурацию:
есть AD под Win2k3. Оттуда берутся учётки для всех пользователей. процентное соотношение где-то 70/20/10 win/lin/mac. Для автоматической настройки прокси работают GP+WPAD/PAC. Прозрачная авторизация на win идёт на ура. с lin буксует.
кусок конфига squid:
------------------------------------------
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm use_ntlm_negotiate on

auth_param negotiate program /usr/lib/squid3/squid_kerb_auth
auth_param negotiate children 5
auth_param negotiate keep_alive on

auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
------------------------------------------
при старте squid экспортируется переменная KRB5_KTNAME=/etc/krb5.keytab

Как настроена авторизация в ubuntu. для авторизации используется samba+krb5. PAM настроено таким образом:

------------------------------------------
/etc/pam.d/common-account
account [success=2 new_authtok_reqd=done default=ignore]        pam_unix.so
account [success=1 default=ignore]      pam_krb5.so
account requisite                       pam_deny.so
account required                        pam_permit.so

/etc/pam.d/common-auth
auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_krb5.so use_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

/etc/pam.d/common-password
password        [success=2 default=ignore]      pam_unix.so obscure sha512
password        [success=1 user_unknown=ignore default=die]     pam_krb5.so try_first_pass
password        requisite       pam_deny.so
password        required        pam_permit.so

/etc/pam.d/common-session
session [default=1]     pam_permit.so
session requisite       pam_deny.so
session required        pam_permit.so
session required        pam_unix.so
session optional        pam_ck_connector.so nox11
session required        pam_mkhomedir.so umask=0077

/etc/pam.d/common-session-noninteractive
session [default=1]                     pam_permit.so
session requisite                       pam_deny.so
session required                        pam_permit.so
session optional                        pam_umask.so
session required        pam_unix.so
session optional                        pam_winbind.so
------------------------------------------

По Mac - там всё ещё проще с настройкой, ничего особо править не надо. пару кнопок нажать.
Но пока результат тот же. нужно вводить имя и пароль - срабатывает только basic авторизация.
Кто-то уже подобное проделывал, может подсказать? в первую очередь интересует linux.
PS: про cntlm - знаю. тоже не подходит. проще уже галочку поставить и сохранить пароль.

  • Прозрачная авторизация SQUID для Linux/Mac пользователей, !*! ipmanyak, 16:21 , 21-Дек-11 (1)
    Configuring a Squid Server to authenticate from Kerberos
    http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerb...

    Squid, Kerberos и LDAP
    http://blog.ronix.net.ua/2008/08/squidkerberos-c-ldap-active...

    squid+ad2008\kerberos+ldap и win7\ie8
    http://www.lissyara.su/?id=2101

    Debian Squeeze, Squid, Kerberos/LDAP аутентификация, интеграция Active Directory и Cyfin Reporter
    http://alldebian.ru/debian-squeeze-squid-kerberosldap-active...

  • Прозрачная авторизация SQUID для Linux/Mac пользователей, !*! жора, 19:43 , 23-Дек-11 (3)
    > Собственно сабж.
    > Есть задача сделать прозрачную авторизацию пользователей linux/mac на проксе. для Windows
    > с AD решается нараз - ntlm_auth.
    > Здесь чувствую копать надо в сторону kerberos, но что-то не идёт.

    Вы определитесь, какую авторизацию вы хотите - ntlm или kerberos. Локализуйте причину и задавайте более конкретные вопросы. Помгут логи.
    > /etc/pam.d/common-auth
    > auth    [success=2 default=ignore]      pam_unix.so
    > nullok_secure
    > auth    [success=1 default=ignore]      pam_krb5.so
    > use_first_pass

    Клиенты у Вас авторизуются по керберос, как я понял, напрямую без винбинд (самбы).
    Если скуид настраиваете на керберос, по проверьте, авторизуются ли виндовые клиенты без ntlm.

    Если хотите нтлм, то линукс клентов настраивайте соотв образом.

    В точности Вашу схему не использовал. У меня схема: MIT kerberos - авторизация, openldap - аккаунты. Линукс и виндоус клиенты получают доступ к сквиду по керберос билетам. Работает без проблем.

    • Прозрачная авторизация SQUID для Linux/Mac пользователей, !*! Skif, 21:17 , 23-Дек-11 (4)
      > Если хотите нтлм, то линукс клентов настраивайте соотв образом.

      нет ntlm для windows. интересует именно керберос. там видно что сначала идёт ntlm, потом kerberos? а затем basic
      > В точности Вашу схему не использовал. У меня схема: MIT kerberos -
      > авторизация, openldap - аккаунты. Линукс и виндоус клиенты получают доступ к
      > сквиду по керберос билетам. Работает без проблем.

      А можете по подробнее. просто из того, что я видел и делал прозрачно пустить клиента по тикету не получалось.

      • Прозрачная авторизация SQUID для Linux/Mac пользователей, !*! жора, 22:04 , 23-Дек-11 (5)
        >> Если хотите нтлм, то линукс клентов настраивайте соотв образом.
        > нет ntlm для windows. интересует именно керберос. там видно что сначала идёт
        > ntlm, потом kerberos? а затем basic

        Об нтлм вы указали в конфиге сквида и здесь.
        > для Windows с AD решается нараз - ntlm_auth.

        Все же если убрать из сквида ntlm, вендовые клиенты авторузуются прозрачно?

        > А можете по подробнее. просто из того, что я видел и делал
        > прозрачно пустить клиента по тикету не получалось.

        Я делал все стандартно. Создал на сервере принципал HTTP/ext.school@SCHOOL. squid.keytab положил в доступное сквиду место и задал перед запуском сквида переменную
        KRB5_KTNAME=/etc/squid/squid.keytab. На клиенте требуется только настройка прокси. Работают фарефокс и хромиум. Насчет других браузеров не знаю: авторизация не совсем тривиальная и поодерживают не все. В фарефоксе есть и дополнительные настройки авторизации negotiate. Можете попробовать задать их.
        Конфиг сквида похож на ваш
        auth_param negotiate program /usr/lib/squid/squid_kerb_auth -d -s HTTP/ext.school@SCHOOL
        auth_param negotiate children 7
        auth_param negotiate keep_alive on
        Смотрите в логи авторизации. Там можно увидеть причину отказа.





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру