NTLM身份验证:揭秘Windows网络安全的秘密武器

什么是 ntlm?
ntlm 是一种身份验证协议,用于验证 it 系统中的用户身份。它于 1993 年发布,后来于 1998 年通过 ntlmv2 进行了改进。ntlm 是较旧的 lm 协议的继承者,该协议曾在 20 世纪 80 年代用于 microsoft 的 lan manager 产品。那个时候,计算机网络比较简单,没有连接到互联网。主要问题是通过窃听网络登录流量来窃取用户密码。为了减轻这种风险,ntlm 不会通过网络发送用户密码。相反,它使用密码哈希作为用户了解密码的证据。
ntlm 如何工作?
以下是 ntlm 身份验证工作原理的分步过程:
1、客户端请求:客户端发送请求以访问服务器上的网络资源(例如,文件共享、web 服务器)。
2、服务器质询:服务器以质询进行响应,这是客户端在身份验证过程中需要使用的随机值。质询是每次身份验证尝试的唯一值。
3、客户端响应 (ntlmv1):客户端使用质询和以 ntlm 哈希格式哈希的用户凭据(用户名和密码)生成 ntlmv1 响应。ntlm 哈希是用户密码的单向哈希,这比以明文形式发送密码更安全。该响应被发送回服务器。
4、服务器验证 (ntlmv1):服务器接收客户端的响应,并使用存储的用户密码的 ntlm 哈希来验证响应。如果响应有效,服务器将授予对所请求资源的访问权限。
5、客户端响应 (ntlmv2):在 ntlm 的更安全变体中,客户端可以使用 ntlmv2。在这种情况下,客户端使用质询和附加数据(例如客户端和服务器的时间戳)生成 ntlmv2 响应。与 ntlmv1 相比,这使其更能抵抗某些类型的攻击。
6、服务器验证 (ntlmv2):如果客户端使用 ntlmv2,服务器将使用存储的用户密码 ntlm 哈希值和身份验证请求中的其他数据来验证响应。
7、授予访问权限:如果服务器验证客户端的响应(ntlmv1 或 ntlmv2),则会授予对所请求网络资源的访问权限。客户端现在可以安全地访问资源。
ntlm 和 kerberos 之间的区别
kerberos 是一种身份验证协议,它取代 ntlm 成为 windows 2000 及更高版本上的标准身份验证工具。ntlm 和 kerberos 之间的主要区别在于它们的身份验证过程。ntlm 使用三次握手,而 kerberos 使用由票证授予服务或密钥分发中心组成的两部分流程。另一个区别是 ntlm 中使用密码散列,而 kerberos 中使用加密。尽管 kerberos 是默认身份验证方法,但 ntlm 可以在身份验证失败时充当备份。
ntlm 身份验证的问题
ntlm 身份验证是一种过时且薄弱的协议,按照当今的标准来看并不安全。它容易受到各种攻击,并且缺乏重要的安全功能,例如多因素身份验证。该协议使用已知的哈希算法,无需加盐,因此容易受到暴力攻击。此外,ntlm 不支持现代加密方法,并且依赖于受损的 md4 哈希函数。总体而言,ntlm 很容易受到损害,应该用 kerberos 等更安全的协议替代。
ntlm 的优点和挑战
如前所述,ntlm 是一种过时的协议,因此与 kerberos 等现代解决方案相比,其优势有限。然而,其避免不受保护的密码传输的最初目的仍然是真实的。然而,依赖 ntlm 身份验证有明显的缺点,其中包括:
有限身份验证:ntlm 依赖质询-响应协议,不支持多重身份验证 (mfa),后者通过使用多条信息进行用户验证来增强安全性。
安全漏洞:ntlm 中简单的密码哈希使系统容易受到哈希传递和暴力攻击等攻击。
过时的加密技术:ntlm 未能利用最新的加密技术来增强密码安全性。
如何使用 ntlm 保护您的网络?
为了增强安全性,由于众所周知的安全漏洞,组织应尽量减少 ntlm 的使用。但是,对于那些出于兼容性原因仍依赖 ntlm 的组织,提供以下建议:
实施 ntlm 缓解措施:为了防止 ntlm 中继攻击,有必要在所有相关服务器上启用服务器签名和身份验证扩展保护 (epa)。
应用补丁:使用 microsoft 提供的最新安全更新使系统保持最新状态,以确保提供最大程度的保护。
利用先进技术:采用先进的 ntlm 中继检测和预防技术,例如通道绑定,通过将 ntlm 会话绑定到底层传输通道来确保 ntlm 会话的完整性。
识别弱 ntlm 变体:某些 ntlm 客户端利用不发送消息完整性代码 (mic) 的弱变体,从而增加了网络遭受 ntlm 中继攻击的脆弱性。识别并解决这些微弱的变化。
监控 ntlm 流量:通过密切监控网络中不安全的 ntlm 流量的使用情况来限制其使用。
消除 lm 响应:消除发送 lan manager (lm) 响应的客户端,并将组策略对象 (gpo) 网络安全配置为拒绝 lm 响应。
总之,ntlm 身份验证协议已经过时,并且存在一些使其不安全的弱点。这些弱点包括容易破解密码以及容易遭受传递攻击。ntlm 还缺乏相互身份验证和会话安全等现代安全功能,使其不适合当前的网络环境。它与其他身份验证协议的互操作性有限,并且在处理大规模身份验证请求时效率不高。组织应考虑迁移到更安全、更现代的身份验证协议(例如 kerberos 或 oauth),以提高安全性、互操作性和可扩展性。这将有助于保护敏感数据、降低风险并与现代技术集成。

利用开放标准构建更智能、更安全的城市
锂电池防火策略详解
MTV330: 双模式电视调谐器支持卫星与地面DMB/FM
SSK家存储雪狐评测 非常实用
特斯拉挖来了苹果软件高层并再次加码自动驾驶!
NTLM身份验证:揭秘Windows网络安全的秘密武器
iPhone诞生已有8年,触觉技术何时为消费电子带来“真正的互动”?
工信部部长苗圩回应中小企业、新能源汽车、5G等相关热点问题
人工智能的发展形势的严峻性
用于汽车应用的以太网和以太网-AVB
乐鑫科技上半年营收净利润实现双增长
利用超表面实现平面内纳米位移的光学感测
基于uPD720100控制器实现新型USB2.0高速主机适配卡的应用方案
VLSI技术的历史和在现代技术中的应用
利用LED驱动器延长便携设备的电池寿命
LED帮助诊断治疗癌症,韩国这项技术有望造福人类
基于低功耗模拟技术延长电池使用寿命
基于CD4017的无线遥控信号器的设计
基于Xilinx Zynq SoC强大的性能成为无人机平台最佳的选择
VM系列振弦采集模块(智能振弦传感器测量模块)其它常见问题