组织内部强制使用强密码

更新日期: 2004年03月24日
本页内容
简介简介
准备工作准备工作
逐步实施密码策略设置逐步实施密码策略设置
相关信息相关信息

简介

大多数用户都是通过键盘键入用户名和密码的组合而登录到本地和远程计算机。尽管其他身份验证技术(例如生物测定、智能卡和一次性密码)都可用于所有流行的操作系统,但是多数组织仍然依赖传统的密码,并将在未来几年内继续使用。因此,重要的是组织为其计算机定义并强制实施密码策略,包括要求使用强密码。强密码符合对复杂性(包括长度和字符类别)的许多要求,它使攻击者更难破解密码。为组织建立强密码策略可有助于防止攻击者冒充用户,从而有助于防止敏感信息的丢失、曝光或破坏。本文档介绍如何在运行 Microsoft® Windows® 2000、Windows XP 和 Windows Server™ 2003 操作系统的计算机上实施强密码策略。

取决于组织中的计算机属于 Active Directory 域还是独立的计算机,或者同时属于这两个范畴,要实施强密码策略,您需要执行下面的一项或两项任务:

在 Active Directory 域中配置密码策略设置。

在独立计算机上配置密码策略设置。

如果您已经配置了正确的密码策略设置,则只有当新密码符合强密码长度和复杂性要求时,组织中的用户才能创建新密码,而且用户不能立即更改自己的新密码。

要点:该文档中所含的指导步骤都是从安装操作系统时的默认情况下显示的“开始”菜单开始的。如果修改过“开始”菜单,则这些步骤可能稍有不同。

返回页首返回页首

准备工作

在网络中的计算机上配置密码策略之前,您必须确定相关的设置,确定这些设置将应用何值,并了解 Windows 如何存储密码策略配置信息。

注意:Windows 95、Windows 98 和 Windows Millennium Edition 操作系统不支持高级安全功能,例如密码策略。如果您的网络包含运行这些操作系统的独立计算机(不属于域的计算机),则不能在这些计算机上实施密码策略。如果您的网络包含运行这些操作系统、并属于 Active Directory® 目录服务域的计算机,则只能实施域级别密码策略。

确定与密码策略相关的设置

对于 Windows 2000、Windows XP 和 Windows Server 2003 操作系统,可以配置 5 种与密码特征相关的设置:“强制密码历史”、“密码最长使用期限”、“密码最短使用期限”、“密码长度最小值”和“密码必须符合复杂性要求”。在确定与组织的业务要求相匹配的设置值时,如需帮助,请参阅 Security Guidance Kit 中的 “Selecting Secure Passwords”(英文)。

“强制密码历史”确定互不相同的新密码的个数,在重新使用旧密码之前,用户必须使用过这么多的密码。此设置值可介于 0 和 24 之间;如果该值设置为 0,则强制密码历史被禁用。对多数组织而言,将该值设置为 24 个密码。

“密码最长使用期限”确定在要求用户更改密码之前用户可以使用该密码的天数。其值介于 0 和 999 之间;如果该值设置为 0,则密码从不过期。将值设得太低,则可能给用户带来不便;设得太高或者禁用,则为潜在攻击者提供更多时间来破解密码。对多数组织而言,将该值设置为 42 天。

“密码最短使用期限”确定用户可以更改新密码之前这些新密码必须保留的天数。此设置被设计为与“强制密码历史”设置一起使用,这样用户就不能很快地重置有次数要求的密码并更改回旧密码。该设置值可以介于 0 和 999 之间;如果设置为 0,用户可以立即更改新密码。建议将该值设为 2 天。

“密码长度最小值”确定密码最少可以有多少个字符。尽管 Windows 2000、Windows XP 和 Windows Server 2003 最多可支持 127 个字符的密码,但是该设置值只能介于 0 和 14 个字符之间。如果设置为 0,则允许用户使用空白密码,因此您不应使用 0 值。建议将该值设置为 8 个字符。

“密码必须符合复杂性要求”确定是否加强密码的复杂性。如果启用该设置,则用户密码符合以下要求:

密码长度至少有 6 个字符。

密码至少包含以下 5 类字符中的 3 类字符:

英语大写字母 (A - Z)

英语小写字母 (a - z)

10 个基数数字 (0 - 9)

非字母数字(例如:!、$、# 或 %)

Unicode 字符

密码不得包含三个或三个以上来自用户帐户名中的字符。

如果帐户名长度少于 3 个字符,此检查便不会被执行,因为密码被拒绝的可能性相当高。检查用户全名时,有几个字符被看作分隔符,分隔符将名称分隔成单独的标记,这些分隔符为:逗号、句点、短划线/连字符、下划线、空格、磅字符和制表符。对于每个标记,如果长度有 3 个或以上的字符,则在密码中搜索该标记;如果存在该标记,则拒绝更改密码。例如,姓名“Erin M. Hagens”将拆分为三个标记:“Erin”、“M”和“Hagens”。由于第二个标记的长度只有一个字符,从而被忽略。因此,该用户密码中任何位置都不能包含“erin”或“hagens”子字符串。所有这些检查都区分大小写形式。

这些复杂性要求在密码更改或新密码创建时强制执行。建议启用该设置。

了解 Windows 操作系统如何存储密码策略配置信息

在组织内实施密码策略之前,您需要稍微了解一下密码策略配置信息如何在 Windows 2000、Windows XP 和 Windows Server 2003 操作系统上存储。这是因为存储密码策略的机制对可以实施的不同密码策略数有限制,并影响您如何应用密码策略设置。

每个帐户数据库只能有一个密码策略。一个 Active Directory 域被当作一个帐户数据库,正如独立计算机上的本地帐户数据库。尽管属于某一域的计算机也拥有一个本地帐户数据库,但是,大多数部署了 Active Directory 域的组织都要求其用户使用基于域的帐户登录到计算机和网络。因此,如果您为一个域指定的密码长度最小值为 14 个字符,则域内的所有用户在创建新密码时都必须使用 14 个或更多字符的密码。要为特定的一组用户建立不同要求,您必须为他们的帐户创建一个新域。

Active Directory 域使用组策略对象 (GPO) 来存储各种配置信息,包括密码策略设置。尽管 Active Directory 是一种分层目录服务,支持多层次的组织单位 (OU) 和多个 GPO,但是,域的密码策略设置必须在该域的根容器中定义。为一个新的 Active Directory 域创建第一个域控制器时,可以自动创建两个 GPO:默认域策略 GPO 和默认域控制器策略 GPO。默认域策略链接到根容器。它包含一些关键的全域性设置,包括默认的密码策略设置。默认域控制器策略链接到域控制器 OU,并包含域控制器最初的安全设置。

最佳做法是避免修改这些内置的 GPO,如果您需要应用与默认设置不同的密码策略设置,则应该创建一个新 GPO,将其链接到该域的根容器或者链接到域控制器 OU,并为其分配一个比内置 GPO 更高的优先级:如果设置上有冲突的两个 GPO 链接到同一个容器,则具有较高优先级的 GPO 优先。

返回页首返回页首

逐步实施密码策略设置

针对在组织的计算机上实施密码策略设置来提高安全性,本节提供了以下指导步骤。

在基于 Active Directory 的域中配置密码策略设置。

在独立计算机上配置密码策略设置。

在基于 Active Directory 的域中配置密码策略设置

要求

凭据:必须以 Domain Admins 组的成员登录。

工具:Active Directory 用户和计算机。

在属于 Active Directory 域的计算机系统上实施密码策略

1.

单击“开始”、“控制面板”,在“控制面板”窗口中,双击“管理工具”,然后双击“Active Directory 用户与计算机”。

2.

右键单击域的根容器:
Active Directory 用户和计算机

注意:本文档中的屏幕快照反映的是测试环境,其中信息可能和您的屏幕上的显示信息有所不同。

3.

从出现的菜单上选择“属性”:
Active Directory 用户和计算机

4.

在域的属性对话框中,单击“组策略”选项卡,然后单击“新建”,以在根容器中创建一个新的组策略对象。为新策略名键入“Domain Policy”,然后单击“关闭”。

注意:Microsoft 建议您创建一个新的组策略对象而不是编辑名为“默认域策略”的内置组策略,因为这样做可以在安全设置有严重问题时更容易恢复系统。如果新安全设置产生了问题,您可以在隔离引起问题的设置之前,先临时禁用新的组策略对象。

5.

右键单击域的根容器,然后单击“属性”。

6.

在属性对话框中,单击“组策略”选项卡,然后选择“域策略”。

7.

单击“向上”,将新的 GPO 移动到列表的顶端,然后单击“编辑”,为您刚才创建的 GPO 打开“组策略对象编辑器”。

8.

在“计算机配置”下,导航到 Windows 设置\安全设置\帐户策略\密码策略文件夹。
组策略对象编辑器

9.

在详细信息窗格中,双击“强制密码历史”,选中“定义这个策略设置”复选框,将“保存密码历史记录”的值设置为 24,然后单击“确定”。
强制密码历史属性

10.

在详细信息窗格中,双击“密码最长使用期限”,选中“定义这个策略设置”复选框,将“密码过期时间”的值设置为 42,单击“确定”,然后单击“确定”,关闭出现的“建议的数值改动”窗口。
密码最长使用期限属性

11.

在详细信息窗格中,双击“密码最短使用期限”,选中“定义这个策略设置”复选框,将“在以下天数后可以更改密码”的值设置为 2,然后单击“确定”。
密码最短使用期限属性

12.

在详细信息窗格中,双击“最小密码长度”,选中“定义这个策略设置”复选框,将“密码必须至少是”的值设置为 8, 然后双击“确定”
最小密码长度属性

13.

在详细信息窗格中,双击“密码必须符合复杂性要求”,选中“在模板中定义这个策略设置”复选框,选择“已启用”,然后单击“确定”。
密码必须符合复杂性要求属性

14.

关闭“组策略对象编辑器”,然后单击“确定”,以关闭域的属性对话框,然后退出“Active Directory 用户和计算机”。

验证新的设置

使用以下步骤验证域策略 GPO 中是否应用了正确有效的密码策略设置。验证设置及其操作,确保将正确的密码策略应用到域中的所有用户。

要求

凭据:必须以 Domain Admins 组的成员登录。

工具:Active Directory 用户和计算机。

验证 Active Directory 域的密码策略设置

1.

打开“Active Directory 用户和计算机”,右键单击您的域,然后单击“属性”。

2.

在域的属性对话框中,单击“组策略”选项卡,选择“域策略”GPO,然后单击“编辑”,以打开“组策略对象编辑器”。

3.

在“计算机配置”下,转到 Windows 设置\安全设置\帐户策略\密码策略文件夹,验证您的设置是否与这里显示的设置相匹配:
组策略对象编辑器

4.

关闭“组策略对象编辑器”,单击“确定”,以关闭域的属性对话框,然后退出“Active Directory 用户和计算机”。

5.

验证用户是否无法指定少于 8 位字符的密码,是否无法创建简单的密码以及是否无法立即更改自己的新密码。

在独立计算机上配置密码策略设置

凭据:必须作为 Administrators 组的成员登录。

工具:本地安全策略。

在不属于 Active Directory 域的计算机系统上实施密码策略

1.

单击“开始”,单击“控制面板”,双击“管理工具”,然后双击“本地安全策略”。

2.

导航到:帐户策略\密码策略文件夹。

3.

在详细信息窗格中,双击“强制密码历史”,将“保存密码历史记录”的值设置为 24,然后单击“确定”。

4.

在详细信息窗格中,双击“密码最长使用期限”,将“密码过期时间”的值设置为 42,然后单击“确定”。

5.

在详细信息窗格中,双击“密码最短使用期限”,将“在以下天数后可以更改密码”的值设置为 2,然后单击“确定”。

6.

在详细信息窗格中,双击“最小密码长度”,将“密码必须至少是”的值设置为 8,然后单击“确定”。

7.

在详细信息窗格中,双击“密码必须符合复杂性要求”,选择“已启用”,然后单击“确定”。

8.

关闭“本地安全策略”。

验证新的设置

使用以下步骤验证组织中的独立计算机是否配置了正确有效的密码策略。验证设置和操作,确保将正确的密码策略应用到这些计算机。

要求

凭据:您必须作为 Administrators 组的成员登录。

工具:本地安全策略。

验证不属于 Active Directory 域的计算机系统的密码策略设置

1.

打开“本地安全策略”,导航到:帐户策略\密码策略文件夹,验证您的设置是否与下图的设置匹配。
本地安全设置

2.

关闭“本地安全策略”。

3.

验证用户是否无法指定少于 8 位字符的密码,是否无法创建简单的密码以及是否无法立即更改自己的新密码。

返回页首返回页首

相关信息

有关 Windows 中密码策略和密码相关功能的更多信息,请参阅:

Security Guidance Kit 中的“Selecting Secure Passwords”(英文)

位于 Microsoft TechNet Web 站点 http://go.microsoft.com/fwlink/?LinkId=22208 上的 Account Passwords and Policies(英文)。


返回页首返回页首