close

近日應同事做專案時,遇到客戶無法正常登入SSO,即使IIS都有設定Windows 驗證,User端也有勾選自動登入,但卻無法執行SSO,

協助查尋了一下微軟的一些定義方式

 

首先先釐清狀況的問題點

1. Web Server確認Windows驗證有開啟,LDAP驗證也能正常通過。

2. Client有用網域帳號登入,IE雖會彈跳Windows驗證視窗,但key入AD帳號密碼LDAP驗證可以成功。

3. Windows XP、Vista、7可以使用NetBIOS  SSO正常登入,ServerIP及FQDN無法SSO會彈跳Windows驗證視窗。

4. Windows Server 2003、2008使用NetBIOS、IP、FQDN都無法SSO,會彈跳Windows驗證視窗。

5. 使用Fiddler2確認傳送的是NTLM而非Kerberos。

 

由以上總結得知Web Server驗證是可以正常的,且SSO應是沒問題

同事也使用了Fiddler2監控了IE與Web之間的溝通行為,發現SSO正常的狀況下Client都會丟Domain\user給IIS進行驗證

而SSO驗證失敗則傳送空值給IIS,所以理所當然驗證錯誤後會彈跳Windows驗證視窗

 

經過同事幾天的測試後終於在Client的IE 將站台網址加入近端內部網路後正常SSO驗證成功了。

這項設定是基於IE預設安全性區域的設定,若有使用SSO還是需要加入近端內部網路

※之前沒遇到過此款問題,應是之前客戶的AD都會設定自動將網站歸類於近端內部網路,所以沒遇過

 

SSO觀念釐清

Client須JoinDomain,並使用DomainUser登入OS,再由瀏覽器將帳號及密碼傳遞至IIS,IIS再將帳號密碼丟給AD做驗證,驗證成功使用者將會自動SSO登入Web。

IE瀏覽器在進行Windows驗證的時候會由Negotiate去判別使用的是NTLM or Kerberos,這個地方可以從Fiddler2看出來。

 

 

名詞解釋:

 

何謂 Negotiate 驗證通訊協定封裝?

Negotiate 驗證通訊協定封裝是 Windows 中的一種安全性支援提供者 (SSP),可提供驗證及加密功能。它的角色是根據用戶端電腦及伺服器上支援的通訊協定,交涉要用於驗證要求的驗證通訊協定。在 Windows 7 及 Windows Server 2008 R2 之前的 Windows 版本中,Negotiate 封裝可支援 NTLM 及 Kerberos。在 Windows 7 及 Windows Server 2008 R2 中,Negotiate 封裝已更新成可支援其他 SSP。

NTLM

NTLM 是 Microsoft 開發的一種驗證通訊協定,其使用挑戰-回應式的驗證機制,在其中用戶端電腦不需傳送密碼給伺服器就能證明自己的身分識別。此通訊協定採用三種訊息來交涉要求、挑戰寄件者的真實性與執行驗證。

Kerberos

Microsoft 的 Kerberos 第 5 版 (v5) 通訊協定是一種以公用通訊協定為基礎的驗證機制。此 SSP 會在 Active Directory 網域內的用戶端電腦與伺服器之間 (或伺服器與伺服器之間) 使用相互驗證。

 

參考資料(重點整理)

http://technet.microsoft.com/zh-tw/library/dd560645(v=ws.10).aspx

MSDN – Internet Explorer 提示彈跳Windows驗證

http://support.microsoft.com/kb/258063/zh-tw

當您使用FQDN&ServerName方式時,內部網路網站將會被判別為來自網際網路

http://207.46.60.150/kb/303650/zh-tw?spid=3208&sid=global

MSDN – IE上的安全性區域定義

http://support.microsoft.com/kb/174360

在AD Server派發GPO讓網域成員加入定義的網站於近端內部網路

http://blog.miniasp.com/post/2014/01/10/configure-Internet-Explorer-security-zone-sites-using-group-polices.aspx

同事部落格

http://shazi-blog.twbbs.org/ie%E6%8F%90%E7%A4%BAwindows%E9%A9%97%E8%AD%89%EF%BC%8C%E7%84%A1%E6%B3%95%E6%AD%A3%E5%B8%B8sso%E7%99%BB%E5%85%A5ntlm/?fb_action_ids=484781171623513&fb_action_types=news.publishes&fb_ref=pub-standard

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 chengyu0701988 的頭像
    chengyu0701988

    chengyu0701988的部落格

    chengyu0701988 發表在 痞客邦 留言(0) 人氣()