LINUX.ORG.RU
ФорумAdmin

Apache+AD+Kerberos = SSO


0

1

Приветствую сообщество.
Решил настроить SSO для WEB приложений в нашей компании.
Есть Сервер AD 2008. Gentoo как WEB сервер.
Билеты создал проблем с этим нету так как SSO настраивал на Gentoo для почты и прокси (работает без замечаний).

Вот ещё главное требование для WEB.
Все пользователи есть в AD, но не все введены в домены (удалённые офисы) и ближайшие лет 5 не будут вводиться.
Дык вот нужно что бы при входе на WEB приложение, проверка сначала велась через Kerberos + проверка принадлежности к группе в AD и если пользователь в домене то разрешить доступ если не в домене вывести окно авторизации в которое ввести логин и пароль пользователя в AD + проверка принадлежности к группе.

Конфиг пишу следующий:

<Directory "/var/www/car">
AuthType Kerberos
KrbSaveCredentials On
KrbDelegateBasic On
KrbMethodNegotiate On
KrbMethodK5Passwd On
KrbAuthoritative Off
KrbVerifyKDC Off
KrbServiceName "HTTP/car.cn.energy@CN.ENERGY"
KrbAuthRealms CN.ENERGY
Krb5KeyTab /etc/krb5.keytab

AuthType Basic
AuthBasicProvider ldap
AuthName "CN.ENERGY"
AuthzLDAPAuthoritative On
AuthLDAPURL ldap://srv-ad.cn.energy/DC=cn,DC=energy?sAMAccountName?sub?(objectClass=Person)
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN Off
AuthLDAPBindDN "user@cn.energy"
AuthLDAPBindPassword password
Require ldap-group cn=Transport,dc=cn,dc=energy
Options -Indexes -FollowSymLinks
AllowOverride none
Order allow,deny
Allow from all
</Directory>

Работает только по отдельности. Если я в домене и только часть конфига с Kerberos то меня пускает.
Только пользователей (Require user) надо указывать что не совсем удобно.
Часть только с LDAP работает но только не с Require ldap-group, пользователь проходит , в логах чисто но окно авторизации опять выскакивает.
Если пароль не правильный то в логах «authentication failure for »/": Password Mismatch".

В общем прошу Вашей помощи в решении данной задачи. Всем спасибо.

Спасибо. Пока решил таким способом:

        KrbAuthoritative Off
        AuthType Kerberos
        Krb5Keytab "/etc/krb5.keytab"
        KrbServiceName "HTTP/car.cn.energy@CN.ENERGY"
        KrbAuthRealms CN.ENERGY
        KrbMethodK5Passwd On
        KrbSaveCredentials On
        KrbDelegateBasic On
        KrbMethodNegotiate On
        KrbVerifyKDC Off
        KrbServiceName "HTTP/car.cn.energy@CN.ENERGY"
        Require valid-user
Если пользователь залогинен в домен то получает SSO, а если нет то браузер выбрасывает окно авторизации в котором пользователь вводит учётные данные из АД. Только есть проблема что Require не работает с группами.

SimbioS ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.