如何在 Windows NT 上禁用 LM 身份验证

文章翻译 文章翻译
文章编号: 147706 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

之前 Windows NT 4.0 Service Pack 4 (SP4),Windows NT 支持两种类型的质询/响应身份验证:
  • LanManager (LM) 质询/响应
  • Windows NT 质询/响应 (也称为 NTLM 质询/响应)
Windows NT 也受支持的消息的保密性和完整性提供的会话安全机制。

若要以便仅支持 LM 身份验证的服务器访问 Windows NT 客户端之前 SP4 始终使用两个甚至还可以支持 NTLM 身份验证的 Windows NT 服务器。

LM 身份验证不为强作为 Windows NT 身份验证,因此某些客户可能需要禁用它的使用,因为攻击者偷听网络通信将攻击较弱的协议。成功的攻击可能会危及用户的密码。

Microsoft 开发了 ntlm 调用它的身份验证和会话安全机制大大减少了 NTLMv2 的增强。

此外,实施 NTLM 安全服务提供程序 (SSP) 的已改进为可允许使用客户端来控制的 NTLM 的变体,并且若要允许服务器控制的变体它们将接受,通过适当地设置一个新的注册表项。它还允许客户端和服务器要求协商消息机密性 (加密)、 消息完整性、 128 位加密和 NTLMv2 会话安全。

这些更改将影响以下 Windows NT 组件: 使用的 Microsoft 远程过程调用 (RPC),或使用 NTLM 的 SSP 的任何应用程序使用身份验证和会话安全描述本文档。工作站和服务器服务使用身份验证,但支持其自己的会话安全。

背景

因为算法允许密码比 7 字符块中被攻击的 7 个字符长,不作为 NTLM 或 NTLMv2 为强 LM 身份验证。这就限制了有效的密码强度来绘制从一组大写字母字母、 数字,7 个字符和标点字符以及 32 特殊的 ALT 字符。用户通常不甚至可用自己的多字母字符。

在与之相反 NTLM 身份验证利用密码中的所有 14 个字符,并允许大小写字母。这样,即使在 Windows NT 身份验证协议上窃听攻击者可以攻击 LM 身份验证协议与相同的方式中,将花费成功攻击的到目前为止较长的时间。是否足够强密码将花费一台 200 MHz 奔腾 Pro 计算机查找它并查找密码本身的 5,500 年从派生密钥的 2,200 年平均 (或 2.2 年和与 1,000 此类计算机的 5.5 年,依此类推)。

: 此评估基于的速率的最新的 RSA 实验室"DES 挑战"代码测试上为 200 的 DES 密钥 MHz 奔腾 Pro: 1,000,000/秒 ; 和 DES 键的数目: 2 ** 56 或 7.2 * 10 ** 16。有关 DES 挑战的详细信息,请参阅以下网站:
http://www.rsa.com
另一方面,如果没有足够强密码词典查找可以找到它以秒为单位)。

获取一个"强"的密码的一种可能的方式是让它是具有最少的那些大写的字符、 数字或标点符号的 4 这样的长度至少 11 个字符。即使其余的 7 个字符是小写的低随机性文本 (比如说) 的每个字符的随机性的 3 位,这将使多个为 7.2 DES 的密钥空间 * 10 ** 16 可能的组合和密码将不会在词典中。

但是,无论长密码的 3-6 天中可以找到 LM 或 NTLM 的密码派生密钥的硬件成本核算 250,000 美元的加速键已生成。这些数字更改为获取更好的技术。当前统计信息和详细信息,请参阅以下网站:
http://www.eff.org
有一个用户的密码派生密钥并不会允许攻击者能够以交互方式登录,但与特殊的软件就足够了该用户的身份访问网络资源。

对于 NTLMv2,所用的密码派生密钥的密钥空间是 128 位。这使得蛮力搜索方式,甚至与硬件加速器如果足够强密码。

如果客户端和服务器使用的 SP4,增强的 NTLMv2 会话安全进行协商。它为消息完整性和机密性和客户端输入以防止所选的纯文本攻击挑战提供了单独的键和 HMAC MD5 算法的使用 (请参阅 RFC 2104) 为消息完整性检查。

因为该数据报的变体 NTLM,没有一个协商步骤,否则为的使用会协商选项,如 NTLMv2 会话安全和 128 位加密的消息的保密性已配置。

更多信息

重要此分区、 方法,或任务包含告诉您如何修改注册表的步骤。但是,如果注册表修改不当可能会出现严重问题。因此,请确保您仔细按照这些步骤。附加的保护注册表之前先备份您对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756如何备份和还原在 Windows 注册表


NTLM 安全的控件是通过下面的注册表项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\LSA
: 在 Win9x 有效的注册表项是 LMCompatibility 而在 Windows NT 上它是 LMCompatibilityLevel。

选择的身份验证协议变体使用和接受是通过该关键字的以下值:
   Value: LMCompatibilityLevel
   Value Type: REG_DWORD - Number
   Valid Range: 0-5
   Default: 0
   Description: This parameter specifies the type of authentication to be
   used.

   Level 0 - Send LM response and NTLM response; never use NTLMv2 session
             security
   Level 1 - Use NTLMv2 session security if negotiated
   Level 2 - Send NTLM authentication only
   Level 3 - Send NTLMv2 authentication  only
   Level 4 - DC refuses LM authentication
   Level 5 - DC refuses LM and NTLM authentication (accepts only NTLMv2)
				
: 使用身份验证时建立的会话 (用户名/密码)。使用适当的身份验证类型建立会话后使用会话安全。 此外应该在另一个 30 分钟内进行系统时间。身份验证可能会失败,因为服务器会认为从客户端质询已过期。

通过最小的安全协商使用 NTLMSSP 的应用程序的控件是通过以下项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\LSA\MSV1_0
为此参数是下列值:
   Value: NtlmMinClientSec
   Value Type: REG_DWORD - Number
   Valid Range: the logical 'or' of any of the following values:
      0x00000010
      0x00000020
      0x00080000
      0x20000000
   Default: 0

   Value: NtlmMinServerSec
   Value Type: REG_DWORD - Number
   Valid Range: same as NtlmMinClientSec
   Default: 0
   Description: This parameter specifies the minimum security to be used.
      0x00000010  Message integrity
      0x00000020  Message confidentiality
      0x00080000  NTLMv2 session security
      0x20000000  128 bit encryption
				

LMCompatibilityLevel-客户端

重要提示: 对于要选择级别 3 或更高版本的 SP4 客户端将使用客户端 (以后,"用户的域控制器") 的所有用户的用户的帐户域的域控制器必须已升级到 SP4。

如果一台 SP4 的客户机选择级别 0,这是默认值,它将与在更早版本的服务器完全一样,与 Service Pack 3 (SP3) 互操作。

如果一台 SP4 的客户机选择级别 1,它将与在更早版本的服务器完全一样,在 Service Pack 3 (SP3) 互操作。此外,它会协商与 SP4 服务器 NTLMv2 会话安全。

要点: 在使用级别大于或等于 1,如果最后一次密码更改来自 Windows 为工作组或 MS-DOS LanManager 2.x 客户端或更早版本,所需的 NTLM 数据和 NTLMv2 身份验证不会在的域控制器上的可用而且 SP4 的客户端将无法连接到 SP4 的服务器。解决方法是使用级别 0,或始终从 Windows NT、 Windows 95 或 Windows 98 客户端更改密码。

如果一台 SP4 的客户机选择级别 2,它不能连接到服务器只支持 LM 验证,例如 Windows 95 Windows 98 对于工作组以及更早版本的 Windows (以后称为"LM 下层客户端/服务器"),除非已升级用户的域控制器。

如果一台 SP4 的客户机选择级别 3 或更高版本,它将始终发送新的 NTLMv2 响应。只要用户的域控制器已升级到 SP4,可以通过普通 LM 服务器和 SP3 或更早版本的 Windows NT 服务器和他们的域控制器传递此响应。例如对于如果一台 SP4 的客户机选择级别 3 或更高版本,用户的域控制器必须已升级到 SP4 也。但是,此响应将不使用在具有非空密码的共享级别安全性模式下的下级 LM 服务器。解决方法是将它们配置为使用用户级安全机制。

LMCompatibilityLevel-服务器/dc

如果一个 SP4 的服务器选择级别 4 或更高版本,使用该服务器上的本地帐户的用户将无法从下级 LM 客户端使用本地帐户连接到它。

如果将 SP4 的域控制器选择级别 4 或更高版本,帐户在该域中具有权限的用户将无法从下级 LM 客户端使用其域帐户连接到任何成员服务器。因此,4 级意味着服务器或域上拥有帐户的所有用户都能够使用 Windows NT 连接。

如果一个 SP4 的服务器选择 5 个或更高的级别,使用该服务器上的本地帐户的用户将无法从 SP3 或更早版本 Windows NT 客户端使用该本地帐户连接到它。

选择级别 0 或 1 仍将能够连接到 SP4 服务器甚至与级别 1 或 3 的 SP4 客户端配置,但将使用 Windows NT 协议和较弱的 LM 协议。他们还可以连接到下层 LM 服务器即使没有升级用户的域控制器。

部署

由于在上面的注意事项的如果它首选部署 NTLMv2,应采取以下步骤:
  1. 升级域控制器为使用 NTLMv2 的所有用户帐户的存储位置。
  2. 甚至完成域控制器的升级之前,客户端和服务器都可以升级到 SP4,并通过级别 1 设置连接到 SP4 的 SP4 时,将获得增强的安全性。
  3. 完成步骤 1 后已经升级到 SP4 的单个系统可以开始级别设置为 3 或更高版本。
  4. 如果某些帐户域中的用户永远不必从 LM 下层客户端访问的资源,该域的域控制器可以使其级别设置为 4,并且所有这些用户的系统已升级到 SP4 后,该域的域控制器可以有其级别设置为 5。

NtlmMinClientSec 和 NtlmMinServerSec

如果用值 0x00000010 位设置 NtlmMinClientSec 或 NtlmMinServerSec 值中,该连接将失败,如果不对消息的完整性进行协商。

如果 NtlmMinClientSec 或 NtlmMinServerSec 值中设置值 0x00000020 位,如果消息的保密性未被协商,则该连接将失败。

如果用值 0x00080000 位设置 NtlmMinClientSec 或 NtlmMinServerSec 值中,该连接将失败,如果不对 NTLMv2 会话安全进行协商。

如果用值 0x20000000 位设置 NtlmMinClientSec 或 NtlmMinServerSec 值中,如果未协商 128 位加密,连接将失败。

注意: 这些设置将不能保证每个的应用程序实际上使用 NTLM SSP,或该消息的完整性或机密性将实际使用应用程序即使他们进行协商。

解决方案

若要解决此问题,获得最新的 service pack,对于 Windows NT 4.0 或 Windows NT Server 4.0,终端服务器版。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
152734如何获取最新的 Windows NT 4.0 服务包


在安装 SP4 之后执行以下步骤来配置 Windows NT 工作站和服务器上的 LM 兼容性级别:
  1. 运行注册表编辑器 (Regedt32.exe)。
  2. 从 HKEY_LOCAL_MACHINE 子树转到下列项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\
  3. 在编辑菜单上,单击添加数值。
  4. 添加下列值:
          Value Name: LMCompatibilityLevel
          Data Type: REG_DWORD
          Data:  0 (default) to 5 as defined above
    					
  5. 从 HKEY_LOCAL_MACHINE 子树转到下列项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  6. 在编辑菜单上,单击添加数值。
  7. 添加下列值:
          Value Name: NtlmMinClientSec
          Data Type: REG_DWORD
          Data:  0 (default) or as defined above
    
          Value Name: NtlmMinServerSec
          Data Type: REG_DWORD
          Data:  0 (default) or as defined above
    					
  8. 单击确定,然后退出注册表编辑器。
  9. 关闭并重新启动 Windows NT。

属性

文章编号: 147706 - 最后修改: 2006年9月16日 - 修订: 3.4
这篇文章中的信息适用于:
  • Microsoft Windows NT Server 4.0 Terminal Server(终端服务器)
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft LAN Manager 4.2 标准版
  • Microsoft Windows for Workgroups 3.2
  • Microsoft Windows 95
关键字:?
kbmt kbhotfixserver kbqfe kbbug kberrmsg kbfea kbfile kbfix KB147706 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 147706
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com