SQL Server的Windows驗證之NTLM的Netmon主要過程

NTLM連接SQL Server默認實例

1. 使用命令,ipconfig /flushdns, 然後再次去執行連接,由於沒有client會發一個包給DNS Server, 來查詢SERVER的IP地址。

2.然後,在服務器端,抓到的TCP三次握手過程。

3.三次握手建立以後,SQLNCLI10會發一個PreLogin的包,到SQL Server服務器上。

在PRELOGIN成功之後,也就是協商好,即只對LOGIN做SSL加密。那麼隨後SQLNCLI10.DLL會發起一個SSL連接。進行SSL四次握手。

4.客戶端和服務器端在建立SSL通信後,通過SSPI協議,互相溝通,尋找合適的authentication方式,或者是NTLM,或者是KERBEROS. SSPI協商是由客戶端發起的。

5. NTLM_Challenge及Response過程。

6. 這裏服務端向客戶端發送一個加密的Challenge, 客戶端把這個Challenge解開,然後發送回給服務器端。驗證完成。

7. SQL Server所在的服務器,lsass.exe向AD有一個NRPC:NetrLogonSamLogonEx請求。

8.在AD上有相應迴應。服務器把這個response請求轉送到域控制器(DC)上來讓域控制器調用組安全策略來做用戶認證。然後服務器就可以構建一個安全令牌並建立一個session。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章