когда я настроил апачскую аутентификацию с помощью 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 является пользователем (клиент).And одна вещь, у меня есть kdc, администраторский сервер, апачский сервер, клиент, все находятся под единственным хостом (ПК). Я тестирую в единой системе.
Когда KrbMethodNegotiate
терпит неудачу из-за того, что у вас нет действительного (в вашем случае любого) билета, Apache возвращается к KrbMethodK5Passwd
, который включен по умолчанию.
Это ожидаемое поведение с вашей конфигурацией.
Боковые заметки
Если вы используете механизм Basic Auth, то модуль не делает никаких специальных любое шифрование. Передача имени пользователя и пароля производится с помощью та же кодировка Base64, что и в Basic Auth. Это может быть легко преобразовано в обычный текст. Для борьбы с этим я бы предложил также использовать mod_ssl или Apache-SSL. Использование SSL шифрования также рекомендуется, если вы используете Negotiate метод.
[Аутентификация Kerberos] работает нормально. Он запрашивает пароль и входит на сайт.
Ваш сервер Apache, вероятно, настроен так, чтобы разрешить некоторую форму обратной аутентификации, когда аутентификация Kerberos не может быть согласована.
.
Потому что, если бы ваш браузер выдал билет Kerberos, вам бы не потребовалось имя пользователя и пароль.
Для меня это подтверждается тем фактом, что вы не видите ни личного билета, ни служебного билета.
Как только вы вручную получаете билет с kinit
, только тогда Firefox может и хочет договориться об аутентификации Kerberos с веб-сервером, и тогда сервисный билет используется для входа в систему, а не для имени пользователя/пароля. Что и показывается, когда вы запускаете klist
во второй раз.