Я пытаюсь создать файл keytab. я вижу предупреждение
WARNING: pType and account type do not match. This might cause problems.
Я использую команду
ktpass -princ HTTP/bloodhound.domain.com@DOMAIN.COM -mapuser ldaplookup@domain.com -crypto rc4-hmac-nt -pass **** -ptype KRB5_NT_SRV_HST -out "C:\Documents and Settings\Administrator\bloodhound.kytab"
Я хочу использовать это для единого входа на apache. Я создаю это на windows server 2003 r2 sp2
вывод
Targeting domain controller: fezziwig.uk.domain.com
Using legacy password setting method
Successfully mapped HTTP/bloodhound.domain.com to ldaplookup.
WARNING: pType and account type do not match. This might cause problems.
Key created.
Output keytab to C:\Documents and Settings\Administrator.UK-GGS-DOMAIN\bloodhound.keytab:
Keytab version: 0x502
keysize 82 HTTP/bloodhound.domain.com@DOMAIN.COM ptype 3 (KRB5_NT_SRV_HST) vno 14 etype 0x17 (RC4-HMAC) keylength 16 (0xde184005d851613980cffb9580bdd193)
Я выполнил много шагов, которые выглядят так же, как http://www.zimbra.com/docs/os/7.2.3/administration_guide/wwhelp/wwhimpl/common/html/wwhelp.htm#href=7.2.3_Open_Source_admin.Create_the_Kerberos_Keytab_File.html&single=true
Но ни один не работает. когда я тестирую с квно, я получаю следующее
[root@portal-test conf]# klist -ke bloodhound1.keytab
Keytab name: FILE:bloodhound1.keytab
KVNO Principal
---- --------------------------------------------------------------------------
27 HTTP/bloodhound.domain.com@DOMAIN.COM (ArcFour with HMAC/md5)
[root@portal-test conf]# kvno HTTP/bloodhound.domain.com@DOMAIN.COM
kvno: Server not found in Kerberos database while getting credentials for HTTP/bloodhound.domain.com@DOMAIN.COM
Обновить
веб-сервер, к которому я хочу получить доступ, используя URL-адрес http: //cobra.woking/
следующая команда, которую я ввел в стандарт Windows Server 2008 R2
ktpass -princ HTTP/cobra.woking@spectrumasa.com -mapuser ldaplookup@spectrumasa.com -crypto rc4-hmac-nt -pass password -ptype KRB5_NT_SRV_HST -out "C:\Temp\cobra.kytab" -ptype KRB5_NT_PRINCIPAL
Targeting domain controller: echo.spectrumasa.com
Successfully mapped HTTP/cobra.woking to ldaplookup.
Password succesfully set!
Key created.
Output keytab to C:\Temp\cobra.kytab:
Keytab version: 0x502
keysize 68 HTTP/cobra.woking@spectrumasa.com ptype 1 (KRB5_NT_PRINCIPAL) vno 33 etype 0x17 (RC4-HMAC
) keylength 16 (0xde184005d851613980cffb9580bdd193)
скопировал файл на веб-сервер. обновлена конфигурация веб-сервера:
<Directory /opt/html/trac>
AuthType Kerberos
AuthName KerberosLogin
KrbServiceName HTTP/cobra.woking
KrbMethodNegotiate On
KrbMethodK5Passwd On
KrbAuthRealms SPECTRUMASA.COM
Krb5KeyTab /tmp/cobra.kytab
AuthLDAPURL ldap://ldapauth.spectrumasa.com/ou=TechSupport,ou=Woking,ou=Sites,dc=spectrumasa,dc=com?userPrincipalName
AuthLDAPBindDN cn=ldaplookup,cn=Users,dc=spectrumasa,dc=com
AuthLDAPBindPassword password
#require valid-user
Require ldap-group cn=support,cn=Users,dc=spectrumasa,dc=com
ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/intranet/info/unauthorized\"></html>"
</Directory>
протестировал keytab
klist -ke cobra.kytab
Keytab name: FILE:cobra.kytab
KVNO Principal
---- --------------------------------------------------------------------------
33 HTTP/cobra.woking@spectrumasa.com (arcfour-hmac)
kvno HTTP/cobra.woking@spectrumasa.com
kvno: Ticket expired while getting credentials for HTTP/cobra.woking@spectrumasa.com
При доступе к URL-адресу я вхожу, то есть, но в firefox я получаю запрос пароля, тогда он работает.
gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information (, ), referer: http://cobra.woking/trac/
Как это исправить?
У меня уже есть intranet
keytab файл, работающий на этом сервере
[root@cobra conf]# klist -ke intranet.keytab
Keytab name: FILE:intranet.keytab
KVNO Principal
---- --------------------------------------------------------------------------
8 HTTP/intranet.spectrumasa.com@SPECTRUMASA.COM (arcfour-hmac)
[root@cobra conf]# kvno HTTP/intranet.spectrumasa.com@SPECTRUMASA.COM
kvno: Ticket expired while getting credentials for HTTP/intranet.spectrumasa.com@SPECTRUMASA.COM
2-е обновление
Я снова воссоздал keytab, используя следующие
ktpass -princ HTTP/cobra@SPECTRUMASA.COM -mapuser ldaplookup@spectrumasa.com -crypto rc4-hmac-nt -pass password -out "C:\Temp\cobra1.keytab" -ptype KRB5_NT_PRINCIPAL
в моем DNS у меня есть
cobra A 172.16.0.216
в Apache у меня есть
KrbServiceName HTTP/cobra
Krb5KeyTab /etc/httpd/conf/cobra1.keytab
Когда я пытаюсь получить доступ http::/cobra/trac
меня спрашивают пароль 3 раза. журнал показывает
по URL-адресу введите. Отображение первого пароля SPECTRUM/user
gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information (, )
Отображение второго пароля COBRA/user
и журнал показывает
gss_accept_sec_context() failed: No credentials were supplied, or the credentials were unavailable or inaccessible (, Unknown error)
Третья подсказка пароля, я должен ввести пользователя и пароль, и он работает.
я добавил http://cobra
и http://cobra.spectrumasa.com
на доверенные сайты.
Ошибка, которую вы получаете в выводе, связана с тем, что вы не сопоставляете имя участника-службы с принципалом. Вы должны использовать переключатель ptype -ptype KRB5_NT_PRINCIPAL
чтобы избежать ошибки.
KRB5_NT_PRINCIPAL - это общий основной тип (рекомендуется), поскольку задокументировано Microsoft.