Apache+AD+Kerberos = SSO
Приветствую сообщество.
Решил настроить 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".
В общем прошу Вашей помощи в решении данной задачи.
Всем спасибо.
- Для комментирования войдите или зарегистрируйтесь
Все пользователи есть в AD,
Все пользователи есть в AD, но не все введены в домены (удалённые офисы) - как это ?
т.е они есть , но их нету ?
подумай и переформулируй что ли. если их нет в домене, то что можно проверять ?
Ну или поясни, что для тебя домен АД ?
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
slepnoga написал(а): Все
Это значит что все сотрудники предприятия имеют учётную запись в AD.
Но вот только часть из них непосредственно логинится в домен.
Поясняю на примере.
У меня настроен postfix+dovecot с двойной проверкой авторизации.
То есть если пользователь логинится в домен то используется авторизация через GSSAPI и я имею SSO.
Если пользователь логинится как локальный пользователь (но имеет учётку в АД) то его авторизует другой модуль (NTLM) и в настройках почтового клиента я прописываю логин/пароль этого пользователя.
Такая же схема мне нужна и с Apache.
Спасибо.
sssd + pam_sss+ mod_pam+ vim
sssd + pam_sss+ mod_pam+ vim /etc/sssd/sssd.conf; vim mod_pam.conf
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Спасибо. Пока решил таким
Спасибо.
Пока решил таким способом:
Если пользователь залогинен в домен то получает SSO, а если нет то браузер выбрасывает окно авторизации в котором пользователь вводит учётные данные из АД.
Только есть проблема что Require не работает с группами.
Ваш совет посмотрю.