前面的文章说明了SMB协议交互的过程,在SMB交互的Session Setup Request/Response会对请求者的身份进行验证,这其中涉及到两个主要的协议NTLM以及Kerberos,本文将对NTLM协议进行详细的说明。
什么是NTLM
NTLM是 NT LAN Manager (NTLM) Authentication Protocol 的缩写,主要应用于windows环境中客户端和服务端的身份认证。例如客户端想要访问远程的SMB服务器,就需要在建立会话之前,进行用户名和密码的认证,如下图1所示:
图1
NTLM是在早期的windows环境中主要的身份认证方式,虽然之后被更为安全的kerberos协议取代,关于kerberos详见这里。但是在如今的很多场景下NTLM仍然本大量的使用,如下:
- 一些老的系统,并不支持kerberos,但是windows早期版本大多支持NTLM认证。
- Kerberos的认证需要借助域控服务器,而NTLM协议有无域控服务均可,因此如果访问服务器不在域控管理之中,则使用NTLM。
- 服务器强制使用NTLM的请场景,会采用NTLM进行身份认证。
NTLM一种嵌入式的协议&#