1. 程式人生 > >SQL Server的Windows驗證之NTLM的Netmon主要過程

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。