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。

猜你喜欢

转载自blog.csdn.net/m0_37783096/article/details/82829068