Windows 使用两种不同的密码表示方法(通常称为“哈希”)生成并存储用户帐户密码,而不是以明文存储用户帐户密码。当您将用户帐户的密码设置或更改为包含少于 15 位字符的密码时,Windows 会为此密码同时生成 LAN Manager 哈希(LM 哈希)和 Windows NT 哈希(NT 哈希)。这些哈希存储在本地安全帐户管理器 (SAM) 数据库或 Active Directory 中。
与 NT 哈希相比,LM 哈希相对较弱,因此容易遭到强力攻击。因此,您可能希望阻止 Windows 存储密码的 LM 哈希。本文介绍如何进行操作,以便 Windows 仅存储密码较强的 NT 哈希。
要阻止 Windows 存储密码的 LM 哈希,请使用下列任一方法:
方法 1:通过使用“组策略”实现 NoLMHash 策略
要通过使用“本地组策略”(Windows XP 或 Windows Server 2003)禁止在本地计算机的 SAM 数据库中存储用户密码的 LM 哈希,或通过使用 Active Directory 中的“组策略”(Windows Server 2003)在 Windows Server 2003 Active Directory 环境中禁止存储该哈希,请按照下列步骤操作: 在“组策略”中,依次展开“计算机配置”、“Windows 设置”、“安全设置”、“本地策略”,然后单击“安全选项”。 在可用策略的列表中,双击“网络安全:不要在下次更改密码时存储 LAN Manager 的哈希值”。 单击“启用”,然后单击“确定”。
方法 2:通过编辑注册表实现 NoLMHash 策略(不建议)
Windows 2000 SP2 和更高版本 在 Windows 2000 Service Pack 2 (SP2) 和更高版本中,使用下列步骤之一可阻止 Windows 在您下次更改密码时存储 LM 哈希值。 警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因“注册表编辑器”使用不当而导致的问题。使用“注册表编辑器”需要您自担风险。 重要说明:NoLMHash 注册表项及其功能未经测试或记录,在 Windows 2000 SP2 之前的生产环境中使用可能不安全。
要使用“注册表编辑器”添加此注册表项,请按照下列步骤操作: 启动“注册表编辑器”(Regedt32.exe)。 找到并单击下面的注册表项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 在“编辑”菜单上,单击“添加项”,键入 NoLMHash,然后按 Enter 键。 退出“注册表编辑器”。 重新启动计算机,然后更改密码以使设置生效。 注意: 要在 Windows 2000 Active Directory 环境中禁止存储用户密码的 LM 哈希,必须在所有 Windows 2000 域控制器上都进行此注册表项更改;此注册表项可阻止在基于 Windows 2000 的计算机上创建新的 LM 哈希,但是它不会清除所存储的 LM 哈希的历史记录。所存储的现有 LM 哈希将在更改密码时被删除。
Windows XP 和 Windows Server 2003 警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因“注册表编辑器”使用不当而导致的问题。使用“注册表编辑器”需要您自担风险。 要使用“注册表编辑器”添加此 DWORD 值,请按照下列步骤操作: 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。 在注册表中找到并单击以下注册表项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。 键入 NoLMHash,然后按 Enter 键。 在“编辑”菜单上,单击“修改”。 键入 1,然后单击“确定”。 重新启动计算机,然后更改密码。 注意: 要在 Windows 2003 Active Directory 环境中禁止存储用户密码的 LM 哈希,必须在所有 Windows Server 2003 域控制器上都进行此注册表更改。如果您是域管理员,则可以使用“Active Directory 用户和计算机”Microsoft Management Console (MMC),将此策略部署到所有域控制器或域中的所有计算机上,如方法 1(通过使用“组策略”实现 NoLMHash 策略)中所述。 此 DWORD 值可阻止在基于 Windows XP 的计算机和基于 Windows Server 2003 的计算机上创建新的 LM 哈希。在完成这些步骤后,所有以前 LM 哈希的历史记录都将被清除。 重要说明:如果您创建了可同时用在 Windows 2000 和 Windows XP(或 Windows Server 2003)上的自定义策略模板,则可以同时创建此注册表项和此值。此值与注册表项位于同一位置;该值为 1 时禁止创建 LM 哈希。此注册表项在 Windows 2000 系统升级到 Windows Server 2003 时被升级。但是,最好两个设置均在注册表中。 回到顶端