Комментарии 8
А зачем вы используете для апача winbind и NTLM, если ставили Kerberos?
Ну и если серьезно, то про эти схемы пора начать забывать и использовать SAML SSO (с ADFS на стороне винды).
Копания с прочими Апачевыми mod_* результата не дали, в лучшем случае получилось аутентифицироваться, но опять-таки с появлением дополнительного окошка ввода логина-пароля. А требование было однозначное – юзер входит в Windows под доменным аккаунтом, и более нигде никогда и никто никаких credentials у него не спрашивает.
SAML SSO – согласен.
Несколько лет назад, работая в одной известной нам обоим компании, для одного из клиентов с SuseLinux на сервере, так же стояла такая задача. Реализовано было с помощью керберос, самба там действительно не нужна. Насколько я помню использовал mod_auth_kerb, проблема с ним только что он под 2.4 не работает вроде, старый. Проблемы вроде возникали с обновлением керберос тикетов. А так вроде работает и по сей день и кстати во всех браузерах а у них основной был Firefox.
Для других клиентов с Windows Apache, этого модуля не было, использовали mod_auth_sspi, вроде.
Нужно наверно как то отделять котлеты от мух.
SSO-аутентификация (да и другие shared схемы аутентификации) делается на раз-два. И так как вы описали, и на том же nginx и другом каком стэке...
А вот AAA — это штука совсем не тревиальная. Т. е. идентифицировать пользователя это одно, а протащить его token через все "шлюзы" от load-balancer до конечного backend (работающего как правило еще и не на том же самом сервере, который получил/валидировал credential), чтобы собрать ACL или получить security descriptor (или имперсонировать handle воркера), например чтобы прочитать/изменить какой-либо ресурс (тот же файл), для которого права выдали в AD/PDC/etc — то еще удовольствие.
И на стэке НЕ от мелко-мягких, нередко отбивает всякое желание юзать AAA (в не обрезаном виде).
Про лиса и хром… Не знаю, у меня всегда работало все из коробки. Может у вас NTLMv1 (или подобное)? Тогда действительно нужно включать network.auth.force-generic-ntlm-v1
и иже с ним (например добавлять домен в network.automatic-ntlm-auth.trusted-uris
) в about:config
.
- Ставим PBIS Open
- Вводим в домен
sudo /opt/pbis/bin/domainjoin-cli join --assumeDefaultDomain yes --ou ... MY-DOMAIN.RU admin
- Ставим модуль apache
mod_auth_kerb
- В конфиг сайта apache добавляем
AuthType Kerberos
AuthName "Domain Login"
KrbMethodNegotiate On
KrbMethodK5Passwd On
KrbAuthRealms MY-DOMAIN.RU
Krb5KeyTab /etc/krb5.keytab
KrbServiceName Any
Последние две строчки означают использовать keytab компьютера и любой ServiceName, а не только
HTTP/host.my-domain.ru
Single Sign-On, или Танцы Шестерых