7

【茶包射手日記】Windows 驗證網站無法自動登入,需每次敲 AD 帳號密碼

 1 year ago
source link: https://blog.darkthread.net/blog/unable-auto-login-winauth-web/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【茶包射手日記】Windows 驗證網站無法自動登入,需每次敲 AD 帳號密碼-黑暗執行緒

使用者反映某個 Windows 驗證網站,原本可以瀏覽器可以用登入 Winows 的 AD 帳號自動登入,後來變成會彈出輸入帳號密碼,需要重新敲帳號密碼。

Fig2_638006618451520286.png

問題跟 AD 架構有關,畫個圖說明一下:

Fig1_638006618453506758.png

AD 樹狀結構如上圖,根網域為 utopia.net,網站在 hq.utopia.net 子網域,使用者的 PC 在 branch.utopia.net 子網域。使用者使用 brahch\user 登入 Windows,使用 Edge 瀏覽 svc.hq.utopia.net,以前可以自動登入不需要再敲密碼,但現在每次會彈出帳密對話框,重敲密碼才能登入。

做了對照測試,得到一些線索:

  1. 能否自動登入,與使用的帳號有關,svc.hq.utopia.net 主機隸屬 hq 子網域,使用 branch 網域帳號登入 Windows 的話無法自動登入,改用 hq 子網域使用者帳號登入 Windows 則可自動登入。
  2. hq 子網域有另一台網站,雖然隸屬 hq 網域,但有註冊根網域的 FQDN portal.utopia.net,在 branch 網域的電腦,不管用 branch 或 hq 網域的使用者帳號都可以自動登入,不需敲密碼。

很好,有好壞對照組,是老天爺助我一臂之力。用 Wireshark 側錄封包,很快掌握證據。

使用 hq 網域帳號自動登入時,瀏覽器會連續發出三次 GET,就如預期的標準 401、401、200 流程。(延伸閱讀:Windows 驗證歷程觀察與 Kerberos/NTLM 判別);使用 branch 網域帳號時,瀏覽器接到第一個 401 後,對 branch 端的 DC 主機發出 Kerberos (Port 88) 查詢,接著查詢 DNS _kerberos._tcp.KB-SITE._sites.dc._msdcs.hq.utopia.net 及 _kerberos._tcp.dc._msdcs.hq.utopia.net,查詢 hq 網域的 DC 清單(共有四台),並逐一嘗試連上這些 DC LDAP (Port 389),而問題就出在這裡! 由於前陣子網路調整,瀏覽器電腦所處網段目前無法存取 hq DC 網段,因此 LDAP 查詢無回應,Windows 總共會試兩輪,大約 10 秒後,彈出視窗對話框要求使用者敲帳號密碼。我的推測是 - 當網站與登入帳號分屬不同網域,客戶端需要連線網站所屬網域 DC 的 LDAP 完成某些額外認證才允許自動登入,之前網路暢通時,這段額外動作在背景完成並自動登入,使用者無感;現在網路不通,有等待八次試連的延遲,且因 LDAP 存取失敗無法自動登入。

至於 portal.utopia.com 為什麼能用 branch 網域帳號自動登入,依 Wireshark 觀察結果,不管使用 hq 或 branch 帳號登入都是 401、401、200 一氣喝成。網站跟 svc.hq.utopia.net 一樣隸屬 hq 網域卻不需要檢查 LDAP 的原因,我推測與 URL 使用 portal.utopia.net FQDN 有關。utopia.net 是 branch.utopia.net 的上層網域,屬於 Parent-Child Trust;而 hq.utpia.net 與 branch.utopia.net 則是 Tree-Root Trust,有可能因為這層差異造成行為不同。我做了另一個測試,在 PC Windows\system32\drivers\etc\hosts 加了一筆 svc.utopia.net 指向 svc.hq.utpia.net,改連 svc.hq.utpia.net 就能自動登入,假設算是獲得證實。(我離開 AD 網域管理很久了,只能半專業瞎猜,如有高手路過,請不吝指正)

經過這番調查,大致摸出輪廓,解決問題有兩個方向:1) 調整網路設定,允許客戶端存取 hq.utopia.net DC 2) 為 svc.hq.utpia.net 主機申請 *.utopia.net FQDN,改用根網域等級的 URL 連網站。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK