Билеты на аутентификацию apache kerberos не отображаются в списке
Когда я настроил аутентификацию apache, используя kerberos. это работает нормально. Он спрашивает пароль и входит на сайт. и это создает информацию журнала, как это. /var/log/kerberos/krb5kdc.log
Jul 03 15:30:03 ashokkrishna-Lenovo-B560 krb5kdc[4060](info): AS_REQ (6 etypes {18 17 16 23 25 26}) 192.168.1.224: NEEDED_PREAUTH: ashokkrishna@IGROUP.COM for krbtgt/IGROUP.COM@IGROUP.COM, Additional pre-authentication required
Jul 03 15:30:03 ashokkrishna-Lenovo-B560 krb5kdc[4060](info): AS_REQ (6 etypes {18 17 16 23 25 26}) 192.168.1.224: ISSUE: authtime 1435917603, etypes {rep=18 tkt=18 ses=18}, ashokkrishna@IGROUP.COM for krbtgt/IGROUP.COM@IGROUP.COM
но когда я ударил
ashokkrishna@ashokkrishna-Lenovo-B560:~$ klist
klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_1000)
Это не список каких-либо полученных билетов. Зачем? Каждый раз, когда я открываю Firefox, веб-сайт снова и снова спрашивает пароль и имя пользователя, хотя срок действия моего билета достаточно велик.
но когда я добавляю пользователей, использующих
ashokkrishna@ashokkrishna-Lenovo-B560:~$ kinit ashokkrishna
Password for ashokkrishna@IGROUP.COM:
ashokkrishna@ashokkrishna-Lenovo-B560:~$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: ashokkrishna@IGROUP.COM
Valid starting Expires Service principal
2015-07-03T15:56:33 2015-07-04T01:56:33 krbtgt/IGROUP.COM@IGROUP.COM
renew until 2015-07-04T15:56:30
2015-07-03T15:56:44 2015-07-04T01:56:33 HTTP/igroup.com@IGROUP.COM
renew until 2015-07-04T15:56:30
работает нормально.
почему это происходит.
РЕДАКТИРОВАТЬ:/ etc / apache2 / sites-enabled / sites-enabled. **
<Directory /var/www/html/auth-kerberos>
AuthType Kerberos
AuthName "Kerberos Authntication"
KrbAuthRealms IGROUP.COM
Krb5Keytab /etc/krb5.keytab
KrbMethodNegotiate On
KrbSaveCredentials Off
KrbVerifyKDC Off
Require valid-user
</Directory>**
Конфигурация kadmin.local.
kadmin.local: listprincs
HTTP/igroup.com@IGROUP.COM
K/M@IGROUP.COM
ashokkrishna/admin@IGROUP.COM
ashokkrishna@IGROUP.COM
host/igroup.com@IGROUP.COM
kadmin/admin@IGROUP.COM
kadmin/changepw@IGROUP.COM
kadmin/igroup.com@IGROUP.COM
krbtgt/IGROUP.COM@IGROUP.COM
root/admin@IGROUP.COM
ashokkrishna - это пользователь (клиент). И одна вещь, у меня есть kdc, admin-server, apache-server, client, все находятся под одним хостом (pc). Я тестирую в единой системе.
2 ответа
Когда KrbMethodNegotiate
происходит сбой, потому что у вас нет действительного (в вашем случае любого) билета, Apache возвращается к KrbMethodK5Passwd
, который включен по умолчанию. Это ожидаемое поведение с вашей конфигурацией.
Примечания стороны
- Apache не должен использовать системную таблицу ключей. Настройте таблицу ключей приложения для него.
Если вы используете механизм базовой аутентификации, модуль не выполняет какого-либо специального шифрования. Передача имени пользователя и пароля выполняется в той же кодировке Base64, которую использует Basic Auth. Это может быть легко преобразовано в обычный текст. Чтобы противостоять этому, я бы предложил также использовать mod_ssl или Apache-SSL. Использование шифрования SSL также рекомендуется, если вы используете метод согласования.
[Аутентификация Kerberos] работает нормально. Он спрашивает пароль и входит на сайт.
Ваш сервер Apache, вероятно, настроен на использование какой-либо резервной аутентификации, когда невозможно согласовать аутентификацию Kerberos.
Потому что, если бы ваш браузер представил билет Kerberos, у вас не было бы запроса на ввод имени пользователя и пароля.
Для меня это подтверждается тем фактом, что вы не видите ни своего личного билета на выдачу билетов, ни служебного билета.
После того, как вы вручную получите билет для выдачи kinit
Только тогда Firefox может и хочет договориться об аутентификации Kerberos с веб-сервером, а затем для входа в систему используется билет службы, а не имя пользователя / пароль. Что показывают, когда ты бежишь? klist
второй раз.