方法 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 Service Pack 2 (SP2) 和更高版本中,使用下列步骤之一可阻止 Windows 在您下次更改密码时存储 LM 哈希值。
Windows 2000 SP2 和更高版本
要使用“注册表编辑器”添加此注册表项,请按照下列步骤操作:
启动“注册表编辑器”(Regedt32.exe)。
找到并单击下面的注册表项:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa
在“编辑”菜单上,单击“添加项”,键入 NoLMHash,然后按 Enter 键。
退出“注册表编辑器”。
重新启动计算机,然后更改密码以使设置生效。
注意:
要在 Windows 2000 Active Directory 环境中禁止存储用户密码的 LM 哈希,必须在所有 Windows 2000 域控制器上都进行此注册表项更改。
此注册表项可阻止在基于 Windows 2000 的计算机上创建新的 LM 哈希,但是它不会清除所存储的 LM 哈希的历史记录。所存储的现有 LM 哈希将在更改密码时被删除。
Windows XP 和 Windows Server 2003
警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因“注册表编辑器”使用不当而导致的问题。使用“注册表编辑器”需要您自担风险。
要使用“注册表编辑器”添加此 DWORD 值,请按照下列步骤操作:
单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
在注册表中找到并单击以下注册表项:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa
在“编辑”菜单上,指向“新建”,然后单击“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 时被升级。但是,最好两个设置均在注册表中。
回到顶端
方法 3:使用长度至少为 15 位字符的密码
阻止 Windows 存储密码的 LM 哈希的最简单方法是:使用长度至少为 15 位字符的密码。在这种情况下,Windows 会存储无法用于验证用户身份的 LM 哈希值。
摘自红色黑客联盟(www.7747.net) 原文:http://www.7747.net/Article/200908/40873.html
评论关闭。