Kerberos
為什麼我們的 ADFS 代理伺服器的 Kerberos 安全性失敗?
我們有一個 WCF 服務,它使用活動聯合通過 AD FS 2.0 對呼叫者進行身份驗證,並且它在內部執行良好。現在我們想將它暴露給外界,所以我們的伺服器團隊在 DMZ 中為該服務設置了一個伺服器和一個 AD FS 代理伺服器。
當呼叫 WCF 服務時,我們得到以下異常:
System.ServiceModel.Security.SecurityNegotiationException:針對目標“https://adfs-dev.example.com/adfs/services/trust/2005/kerberosmixed”的SOAP安全協商https://adfs-dev.example.com/ adfs/services/trust/2005/kerberosmixed ‘失敗。有關更多詳細資訊,請參閱內部異常。`
—> System.IdentityModel.Tokens.SecurityTokenValidationException:提供的 NetworkCredentials 無法創建 Kerberos 憑據,有關詳細資訊,請參閱內部異常。
—> System.IdentityModel.Tokens.SecurityTokenException:InitializeSecurityContent 失敗。確保服務主體名稱正確。
–> System.ComponentModel.Win32Exception:指定的目標未知或無法訪問。
- 內部 AD FS 伺服器是配置為場與獨立的單個伺服器,AD FS 服務在服務帳戶下執行。
- 代理 AD FS 伺服器是配置為獨立的單個伺服器,AD FS 服務作為網路服務執行。
- DMZ 中應用伺服器上的主機文件條目將 AD FS 服務名稱指向代理伺服器的 IP。
- 防火牆允許埠 443 上的 SSL 流量從代理到內部 AD FS 伺服器。
- 為服務帳戶註冊了 HOST/adfs-dev.example.com SPN。
我可能會錯過什麼?
’ https://adfs-dev.example.com/adfs/services/trust/2005/kerberosmixed ’ 不能用作代理上的端點。請選擇一個可用的端點。