本文介绍影响 NTLM 密码更改的行为,以及如何使用注册表更改此行为。
原始 KB 数: 906305
简介
更改用户密码时,NTLM 网络身份验证中有一个选项。 更改密码后,域用户可以使用其旧密码访问网络五分钟。 设计为使用 Kerberos 进行身份验证的现有组件不受此更改的影响。
此更改的目标是允许后台进程(如服务)在管理员有机会更新新密码的凭据之前继续运行一段时间。
NTLM 网络身份验证行为
若要在分布式环境中可靠地支持 NTLM 网络身份验证的网络访问,NTLM 网络身份验证行为如下所示:
- 使用 NTLM 成功更改密码后,旧密码仍可用于用户可定义时间段的网络访问。 此行为允许登录到多台计算机的帐户(如服务帐户)在密码更改传播时访问网络。
- 密码生存期的扩展仅适用于使用 NTLM 进行网络访问。 交互式登录行为保持不变。 此行为不适用于独立服务器或成员服务器上托管的帐户。 仅域用户受此行为影响。
- 可以通过编辑域控制器上的注册表来配置旧密码的生存期。 此注册表更改无需重启即可生效。
更改旧密码的生存期
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 作为额外保护措施,请在修改注册表之前先将其备份。 如果之后出现问题,您就可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅:如何备份和还原 Windows 中的注册表。
若要更改旧密码的生存期,请将名为 OldPasswordAllowedPeriod 的 DWORD 条目添加到域控制器上的以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
为此,请按照下列步骤进行操作:
-
单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
-
找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa -
在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
-
键入 OldPasswordAllowedPeriod 作为 DWORD 的名称,然后按 Enter。
-
右键单击 OldPasswordAllowedPeriod,然后单击“ 修改”。
-
在 “值”数据 框中,键入要使用的分钟值,然后单击“ 确定”。
注意
生存期以分钟为单位设置。 如果未设置此注册表值,则旧密码的默认生存期为 5 分钟。
-
退出注册表编辑器。
注意
此注册表设置不需要重启才能生效。
此行为不会导致安全漏洞。 只要只有一个用户知道这两个密码,用户仍然使用任一密码进行安全身份验证。
如果已知用户的密码遭到入侵,管理员应重置该用户的密码。 管理员应要求用户在下次登录时更改密码,以尽快使旧密码失效。
若要重置用户的密码,请执行以下步骤:
- 启动“Active Directory 用户和计算机”。
- 找到必须重置其密码的用户帐户。
- 右键单击用户对象,然后单击“ 重置密码”。
- 在**“新建密码”框中和“确认密码”框中键入新密码**。
- 单击以选中 “用户必须在下次登录 时更改密码”复选框,然后单击“ 确定”。
注意
仅当域控制器上的有效密码策略设置为指定将记住两个或多个密码的值时,才会发生本文中所述的行为。 密码策略应在域级别设置。 可以使用 Secpol.msc 管理单元确定策略是否对域控制器生效。 还可以使用 精细的密码策略设置域用户密码历史记录。