2012-09-04 89 views
5

通過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地址?

回答

9

Kerberos不支持IP地址,它僅依賴於域名和正確的DNS條目。

+0

這讓我感到非常震驚,奇怪的是在所有關於Kerberos的文章中都沒有提到。 您是否可以說出支持IP地址的其他SSO身份驗證方式? –

+0

我不這麼認爲。請閱讀[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以及更多服務。 –

+0

謝謝你,你的迴應真的很有幫助。我們的合作伙伴使用IP地址鏈接,這將使他們很難使用DNS。 –