通過IP地址訪問Kerberos保護站點時出現問題。 例如:當通過IP地址訪問站點時,Kerberos失敗
http:/10.10.1.x:3001/
給出失敗。
http:/my-host:3001/
sso成功完成。
Apache的錯誤日誌說:
SRC/mod_auth_kerb.c(1261):客戶10.10.1.x]獲取creds爲 [email protected] [客戶10.10.1.x ] gss_acquire_cred()失敗: 未指定的GSS失敗。次要代碼可提供更多信息(未找到關鍵 表項)
的src/mod_auth_kerb.c(1261):客戶端10.10.1.x獲取creds爲 HTTP // @我的主機[調試] SRC/mod_auth_kerb所。 c [1407]:[client 10.10.1.x] 使用KRB5 GSS-API驗證客戶端數據[調試] src/mod_auth_kerb.c(1423):[client 10.10.1.x]驗證返回 代碼0
正如您所看到的,Kerberos試圖找到[email protected]
或[email protected]
主體。對於兩個委託人在ActiveDirectory中創建虛擬帳戶。在keytab文件中也包含了它們兩個:
KVNO Timestamp Principal
---- ----------------- -----------------------------------------------------
5 01/01/70 03:00:00 HTTP/[email protected]_DOMAIN.LAN (ArcFour with HMAC/md5)
11 09/04/12 12:03:01 HTTP/[email protected]_DOMAIN.LAN (ArcFour with HMAC/md5)
Kinit適用於他們兩人。
服務器上的Kerberos配置:
Krb5Keytab /etc/krb5.keytab
AuthType Kerberos
KrbMethodNegotiate On
AuthName "Kerberos Login"
KrbAuthRealms MY_DOMAIN.LAN
KrbVerifyKDC Off
KrbMethodK5Passwd On
Require valid-user
有人能猜出問題出在哪裏?是否可以在Kerberos SSO中使用IP地址?
這讓我感到非常震驚,奇怪的是在所有關於Kerberos的文章中都沒有提到。 您是否可以說出支持IP地址的其他SSO身份驗證方式? –
我不這麼認爲。請閱讀[this](http://support.microsoft.com/kb/322979/en-us?fr=1)和[this](http://www.cmf.nrl.navy.mil/krb/kerberos -faq.html#kerbdns)。那麼,名稱'SPN'意味着它在*名稱*而不是IP地址上運行。在企業環境中,Kerberos是無可替代的。其他一切都不是SSO。你爲什麼不想使用主機名?整個Active Directory與DNS,主機名和Kerberos有關。它使用DNS來發現DC和KDC以及更多服務。 –
謝謝你,你的迴應真的很有幫助。我們的合作伙伴使用IP地址鏈接,這將使他們很難使用DNS。 –