如何启用 NTLM 2 身份验证

本文已归档。它按“原样”提供,并且不再更新。
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
概要
以往,Windows NT 支持两个用于网络登录的质询/响应身份验证变体:
  • LAN 管理器 (LM) 质询/响应
  • Windows NT 质询/响应(也称为 NTLM 版本 1 质询/响应)
LM 变体允许与 Windows 95、Windows 98 和 Windows 98 Second Edition 客户端和服务器的安装库相互操作。NTLM 为 Windows NT 客户端与服务器之间的连接提供了改进的安全性。Windows NT 还支持 NTLM 会话安全机制,该机制提供了消息的保密性(加密)和完整性(签名)。

计算机硬件和软件算法的最新改进使这些协议容易受到广泛发布的旨在获取用户密码的攻击。为了向客户提供更安全的产品,Microsoft 通过不懈的努力开发了一个称作 NTLM 版本 2 的增强功能,此功能显著改进了身份验证和会话安全机制。自从 Service Pack 4 (SP4) 发布之后,NTLM 2 已可用于 Windows NT 4.0,而 Windows 2000 原本就支持 NTLM 2。您可以通过安装 Active Directory 客户端扩展将 NTLM 2 支持添加到 Windows 98。

升级所有基于 Windows 95、Windows 98、Windows 98 Second Edition 和 Windows NT 4.0 的计算机后,可以通过将客户端、服务器和域控制器配置为只使用 NTLM 2(不是 LM 和 NTLM)来显著提高组织的安全性。
更多信息
有关如何安装适当的 Active Directory 客户端扩展的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
288358如何安装 Active Directory 客户端扩展
在运行 Windows 98 的计算机上安装 Active Directory 客户端扩展时,还将自动安装提供 NTLM 2 支持的系统文件。这些文件包括 Secur32.dll、Msnp32.dll、Vredir.vxd 和 Vnetsup.vxd。如果删除 Active Directory 客户端扩展,则 NTLM 2 系统文件不会被删除,这是因为这些文件提供了增强的安全功能和与安全性相关的修复程序。

默认情况下,NTLM 2 会话安全加密的最大密钥长度为 56 位。如果系统满足美国出口法规,则将自动安装可选的 128 位密钥支持。要启用 128 位 NTLM 2 会话安全支持,在安装 Active Directory 客户端扩展之前必须安装 Microsoft Internet Explorer 4.x 或 5 并升级到 128 位安全连接支持。

要验证安装版本,请按照下列步骤操作:
  1. 使用 Windows 资源管理器在 %SystemRoot%\System 文件夹中找到 Secur32.dll 文件。
  2. 右键单击该文件,然后单击“属性”。
  3. 单击“版本”选项卡。56 位版本的描述是“Microsoft Win32 Security Services (Export Version)”。128 位版本的描述是“Microsoft Win32 Security Services (US and Canada Only)”。
对 Windows 98 客户端启用 NTLM 2 身份验证之前,验证从这些客户端登录到网络的用户的所有域控制器是否正在运行 Windows NT 4.0 Service Pack 4 或更高版本。(如果客户端和服务器连接到不同的域,则域控制器可能运行 Windows NT 4.0 Service Pack 6。)任何域控制器配置都不必支持 NTLM 2。只须将域控制器配置为禁用对 NTLM 1 或 LM 身份验证的支持。有关这些协议变体之间的区别以及升级为只使用 NTLM 2 的重要性的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
147706如何在 Windows NT 上禁用 LM 身份验证

对 Windows 95、Windows 98 或 Windows 98 Second Edition 客户端启用 NTLM 2

警告:注册表编辑器使用不当可能导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。
要对 Windows 95、Windows 98 或 Windows 98 Second Edition 客户端启用 NTLM 2 身份验证,请安装目录服务客户程序。要在客户端上激活 NTLM 2,请按照下列步骤操作:
  1. 启动注册表编辑器 (Regedit.exe)。
  2. 在注册表中找到以下项并单击它:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
  3. 在以上列出的注册表项中创建一个 LSA 注册表项。
  4. 编辑菜单上,单击添加数值,然后添加以下注册表值:
    数值名称:LMCompatibilityLevel
    数据类型:REG_DWORD
    值: 3
    有效范围: 0,3
    说明:该参数指定要用于网络登录的身份验证和会话安全的模式。它不影响交互式登录。
    • 0 级 – 发送 LM 和 NTLM 响应;从不使用 NTLM 2 会话安全。客户端将使用 LM 和 NTLM 身份验证并从不使用 NTLM 2 会话安全;域控制器接受 LM、NTLM 和 NTLM 2 身份验证。
    • 3 级 – 只发送 NTLM 2 响应。客户端将使用 NTLM 2 身份验证并使用 NTLM 2 会话安全(如果服务器支持它);域控制器接受 LM、NTLM 和 NTLM 2 身份验证。
    注意:要对 Windows 95 客户端启用 NTLM 2,请安装分布式文件系统 (DFS) 客户程序、WinSock 2.0 更新和用于 Windows 2000 的 Microsoft DUN 1.3。

  5. 退出注册表编辑器。
Windows NT 4.0 和 Windows 2000 支持的 LMCompatibilityLevel 值的完整值范围(作参考)包括:
  • 0 级 – 发送 LM 和 NTLM 响应;从不使用 NTLM 2 会话安全。客户端使用 LM 和 NTLM 身份验证并从不使用 NTLM 2 会话安全;域控制器接受 LM、NTLM 和 NTLM 2 身份验证。
  • 1 级 – 在协商情况下使用 NTLM 2 会话安全。客户端使用 LM 和 NTLM 身份验证并使用 NTLM 2 会话安全(如果服务器支持它);域控制器接受 LM、NTLM 和 NTLM 2 身份验证。
  • 2 级 – 只发送 NTLM 响应。客户端只使用 NTLM 身份验证并使用 NTLM 2 会话安全(如果服务器支持它);域控制器接受 LM、NTLM 和 NTLM 2 身份验证。
  • 3 级 – 只发送 NTLM 2 响应。客户端使用 NTLM 2 身份验证并使用 NTLM 2 会话安全(如果服务器支持它);域控制器接受 LM、NTLM 和 NTLM 2 身份验证。
  • 4 级 – 域控制器拒绝 LM 响应。客户端使用 NTLM 身份验证并使用 NTLM 2 会话安全(如果服务器支持它);域控制器拒绝 LM 身份验证(即,它们接受 NTLM 和 NTLM 2)。
  • 5 级 – 域控制器拒绝 LM 和 NTLM 响应(只接受 NTLM 2)。客户端使用 NTLM 2 身份验证,使用 NTLM 2 会话安全(如果服务器支持它);域控制器拒绝 NTLM 和 LM 身份验证(它们只接受 NTLM 2)。
客户机在与所有服务器通信期间只能使用一个协议。例如,您不能将它配置为使用 NTLM v2 连接到基于 Windows 2000 的服务器,然后使用 NTLM 连接到其他服务器。这是设计所导致的。

可以通过修改以下注册表项来配置用于使用 NTLM Security Support Provider (SSP) 的程序的最小安全性。这些值取决于 LMCompatibilityLevel 值:
  1. 启动注册表编辑器 (Regedit.exe)。
  2. 在注册表中找到下面的项:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\LSA\MSV1_0
  3. 编辑菜单上,单击添加数值,然后添加以下注册表值:
    数值名称:NtlmMinClientSec
    数据类型:REG_WORD
    值:下列值之一:
    • 0x00000010- 消息的完整性
    • 0x00000020- 消息的保密性
    • 0x00080000- NTLM 2 会话安全
    • 0x20000000- 128 位加密
    • 0x80000000- 56 位加密

  4. 退出注册表编辑器。
如果客户端/服务器程序使用 NTLM SSP(或使用安全的远程过程调用 [RPC],它使用 NTLM SSP)为连接提供会话安全,则根据以下情况确定要使用的会话安全类型:
  • 客户端请求以下任何或所有项:消息的完整性、消息的保密性、NTLM 2 会话安全和 128 位或 56 位加密。
  • 服务器响应,指示它所需的请求集的项。
  • 结果集已经过“协商”。
可以使用 NtlmMinClientSec 值导致客户端/服务器连接协商给定的会话安全质量或不成功。但您应注意以下项:
  • 如果对 NtlmMinClientSec 值使用 0x00000010,则当未协商消息的完整性时,连接不会成功。
  • 如果对 NtlmMinClientSec 值使用 0x00000020,则当未协商消息的保密性时,连接不会成功。
  • 如果对 NtlmMinClientSec 值使用 0x00080000,则当未协商 NTLM 2 会话安全时,连接不会成功。
  • 如果对 NtlmMinClientSec 值使用 0x20000000,则当消息的保密性处于使用状态但未协商 128 位加密时,连接不会成功。
ntlmv2
属性

文章 ID:239869 - 上次审阅时间:12/05/2015 15:35:22 - 修订版本: 4.1

Microsoft Windows 2000 Advanced Server, Microsoft Windows NT 4.0 Service Pack 4, Microsoft Windows NT 4.0 Service Pack 5, Microsoft Windows 98 第二版, Microsoft Windows 98 Standard Edition, Microsoft Windows 95

  • kbnosurvey kbarchive kbhowto kbenv KB239869
反馈