在Active Directory中管理域密码策略
为了保护Active Directory域中的用户帐户,管理员必须配置并实施域密码策略,该策略提供足够的密码复杂度和长度以及更改用户和服务帐户密码的频率。因此,我们可以使攻击者难以使用蛮力攻击来破解用户密码,或者在通过网络发送时捕获密码。
默认情况下,要为AD域中的用户密码设置通用要求,将使用组策略设置(GPO)。域用户帐户的密码策略是在"默认域策略"中配置的。
- 要配置AD帐户密码策略,请打开"组策略管理"控制台(gpmc.msc);
- 扩展域并找到名为"默认域策略"的GPO。右键单击它,然后选择"编辑";
- 密码策略位于以下GPO部分中:"计算机配置->策略-> Windows设置->安全设置->帐户策略->密码策略";
- 双击策略设置进行编辑。要启用特定的策略设置,请选中"定义此策略设置"并指定必要的值(在下面的屏幕截图中,我将最小密码长度设置为8个字符)。保存更改。
- 新的密码策略设置将在计算机启动过程中的某个时间(90分钟)内应用到后台的所有域计算机,或者我们可以通过运行以下命令立即应用该策略
gpupdate /force
命令。
让我们考虑所有可用的Windows密码设置。有六种密码策略:
- "强制密码历史记录"确定了存储在AD中的旧密码的数量,从而防止了用户使用旧密码;
- "最长密码使用期限"以天为单位设置密码有效期限。该期限到期后,系统将提示用户更改密码。该策略可确保用户定期更改密码;
- 最小密码长度,建议密码至少应包含8个符号(如果在此处指定0,则不需要密码);
- "最小密码使用期限"设置用户更改密码的频率。此设置不允许用户在连续更改几次密码后将其从"密码历史记录"日志中删除,从而过于频繁地更改密码以回到自己喜欢的旧密码。通常,在此处设置1天是值得的,以便用户可以在密码遭到泄露时自行更改密码(否则管理员将不得不更改密码);
- "密码必须符合复杂性要求"。如果启用了该策略,则用户不能使用密码中的帐户名(密码不能超过2个符号
username
或者
Firstname
连续输入),密码中还必须使用3种类型的符号:数字(09),大写字母,小写字母和特殊字符($,#,%等)。另外,为防止使用弱密码(从密码字典中),建议定期审核域中的用户密码。
- "使用可逆加密存储密码"用户密码以加密方式存储在AD数据库中,但是在某些情况下,我们必须向某些应用授予对用户密码的访问权限。如果启用此策略设置,则密码受到的保护较少(几乎为纯文本)。它不是安全的(如果DC受到攻击,攻击者可以访问密码数据库;只读域控制器(RODC)可以用作保护措施之一)。
另外,应在GPO部分的"帐户锁定密码"中配置以下设置:
- "帐户锁定阈值"用户可以在锁定帐户之前进行失败的登录次数(试图输入错误的密码)。
- "帐户锁定持续时间",如果用户多次输入错误的密码,帐户将被锁定多长时间;
- "在此之后重置帐户锁定计数器"分钟数,在此分钟后将重置"帐户锁定阈值"计数器。
如果特定域帐户过于频繁地被锁定,则可以使用此方法确定帐户锁定的来源。
下表列出了AD域中密码策略的默认设置:
策略 | 默认值 |
强制执行密码历史记录 | 24个密码 |
最长密码使用期限 | 42天 |
最小密码年龄 | 1天 |
最小密码长度 | 7 |
密码必须符合复杂性要求 | 已启用 |
使用可逆加密存储密码 | 已禁用 |
帐户锁定期限 | 未设置 |
帐户锁定阈值 | 0 |
之后重置帐户锁定计数器 | 未设置 |
我们可以使用gpresult命令在任何域计算机上检查当前的AD密码策略设置。
任何AD域都只能将一个密码策略应用于域根目录(存在一些细微差别,请稍后再讨论)。通常,在名为"默认域策略"的GPO中配置域密码策略。如果使用不同的密码设置创建另一个GPO并将其应用于特定的OU,则其设置将被忽略。域控制器是FSMOs PDC仿真器角色的所有者,它管理域密码策略。要编辑默认域策略设置,我们必须具有域管理员权限。
密码策略GPO设置将应用于所有域计算机(而非用户)。如果需要为不同的用户组创建单独的密码策略,则必须使用Windows Server 2008 AD版本中出现的细粒度密码策略。细粒度密码策略允许设置管理员帐户密码的长度增加或者复杂度更高(排除保护AD域中管理员帐户的文章),或者使某些帐户的密码更简单,甚至完全禁用它们。
在工作组中,我们将必须使用本地GPO编辑器gpedit.msc在每台计算机上配置密码策略,或者可以使用此方法在计算机之间传输本地GPO策略设置。