密码必须符合复杂性要求

介绍了有关“密码必须符合复杂性要求”安全策略设置的最佳做法、位置、值和安全注意事项。

参考

“密码必须符合复杂性要求”****策略设置确定密码是否必须符合对强密码至关重要的一系列指南。启用此策略设置要求密码满足以下要求:

  1. 密码不应包含用户的 samAccountName(帐户名)值或整个 displayName(全名值)。两个复选框均不区分大小写。

    检查整个 SamAccountName 仅为了确定它是否是密码的一部分。如果 samAccountName 的长度少于三个字符,将跳过此次检查。

    针对以下分隔符分析 displayName:逗号、句点、短划线或连字符、下划线、空格、井号和制表符。如果找到这些分隔符中的其中一个,将拆分 displayName 并且确认所有分析的部分(标记)均未包含在密码中。忽略少于三个字符的标记,并且不会检查标记的子字符串。例如,姓名“Erin M. Hagens”会拆分为三个标记:“Erin”、“M”和“Hagens”。因为第二个标记长度只有一个字符,所以将忽略。因此,此用户将无法拥有将“erin”或“hagens”作为子字符包含在密码任意位置的密码。

  2. 密码包含以下类别中的三种字符:

    • 欧洲语言的大写字母(A 到 Z、标有音调、希腊语和西里尔文字符)

    • 欧洲语言的小写字母(a 到 z、高音 s、标有音调、希腊语和西里尔文字符)

    • 10 个基本数字(0 到 9)

    • 非字母数字字符(特殊字符)(例如 !、$、#、%)

    • 归类为字母字符但既不是大写也不是小写的任何 Unicode 字符。这包括亚洲语言的 Unicode 字符。

更改或创建密码时要强制执行复杂性要求。

包含在 Windows Server 密码复杂性要求中的规则是 Passfilt.dll 的一部分,并且它们无法进行直接修改。

启用默认的 Passfilt.dll 可能会导致针对锁定帐户的一些额外技术支持呼叫,因为用户可能不习惯使用包含位于字母表以外字符的密码。但是,此策略设置非常灵活,所有用户应在稍微学习后便能够遵循这些要求。

包含在自定义 Passfilt.dll 中的其他设置是使用非上行字符。上行字符是通过在按住 SHIFT 键的同时键入 1 到 10 中任意数字而键入的字符。

可能值

  • 启用

  • 禁用

  • 未定义

最佳做法

将“密码必须符合复杂性要求”设置为“启用”。此策略设置结合 8 位的最短密码长度可确保一个密码具有至少 218340105584896 种不同的可能性。这使得进行暴力攻击变得困难,但仍非不可能。

使用 ALT 键字符组合可以极大地增强密码复杂性。但是,要求组织中的所有用户遵循此类严格的密码要求可能会使得用户不满意,也会使技术支持极其忙碌。请考虑在组织中实现此要求:将 0128 到 0159 范围内的 ALT 字符用作所有管理员密码的一部分。(此范围之外的 ALT 字符可以表示不让密码变得更加复杂的标准字母数字字符。)

仅包含字母数字字符的密码很容易通过公共可用的工具遭到泄露。为避免此问题,密码应包含其他字符,并满足复杂性要求。

位置

计算机配置\Windows 设置\安全设置\帐户策略\密码策略

默认值

下表列出实际和有效默认策略值。策略的属性页中还列出了默认值。

服务器类型或组策略对象 (GPO) 默认值

默认域策略

启用

默认域控制器策略

启用

独立服务器默认设置

禁用

域控制器有效默认设置

启用

成员服务器有效默认设置

启用

客户端计算机上的有效 GPO 默认设置

已禁用

 

安全注意事项

本部分介绍攻击者可能如何利用某个功能或其配置、如何实现对策以及对策实现可能造成的负面后果。

漏洞

仅包含字母数字字符的密码非常容易通过若干种公共可用的工具遭到泄露。

对策

将“密码必须满足复杂性要求”策略设置配置为“启用”,并建议用户在其密码中使用各种字符。

在与 8 位的“最短密码长度”结合使用时,此策略设置可确保一个密码的不同组合数量非常大,以至于暴力攻击难以成功(但并非不可能)。(如果增加了“最短密码长度”策略设置,攻击成功所需的平均时间也会增加。)

潜在影响

如果保留默认密码复杂性配置,可能会发生针对锁定帐户的额外技术支持呼叫,因为用户可能不习惯包含未按字母顺序排列字符的密码,或者他们可能在不同布局的键盘上输入包含重音字符或符号的密码时遇到了问题。但是,所有用户应该能够很容易遵守复杂性要求。

如果组织的安全要求更为严格,你可以创建自定义版本的 Passfilt.dll 文件,允许使用任意复杂程度的密码强度规则。例如,自定义密码筛选器可能要求使用非上行符号。(上行符号是要求在长按 SHIFT 键后按 1 和 0 之间的任意数字而键入的符号。)自定义密码筛选器可能还会执行字典检查,以验证所提出的密码未包含常见字典字词或片段。

使用 ALT 键字符组合可以极大地增强密码复杂性。但是,此类严格的密码要求会导致额外的技术支持请求。或者,你的组织可以考虑要求所有管理员密码都使用 0128 到 0159 范围内的 ALT 字符。(此范围之外的 ALT 字符可以表示不让密码变得更加复杂的标准字母数字字符。)

相关主题

密码策略