Win2008中引入了多元密码策略(Fine-Grained Password Policy)的概念。多元密码策略允许针对不同用户或全局安全组应用不同的密码策略,例如:
A.
可以为管理员组指派超强密码策略,密码16位以上、两周过期;
B.
为服务帐号指派中等密码策略,密码30天过期,不配置密码锁定策略;
C.
为普通域用户指派密码90天过期等。
多元密码策略的诞生,满足了不同用户对于安全性的不同要求。多元密码策略虽然满足了不同级别用户对于密码安全性的要求,但是配置多个密码策略为管理员增加 了管理复杂度,管理起来也不是很方便,所谓鱼和熊掌不可兼得。而我写这篇文章的初衷就是帮朋友尽快熟悉起这个功能,鱼和熊掌,我欲兼得!
部署注意点
多元密码策略部署要求有以下几点:
A.
所有域控制器都必须是Windows Server 2008
B.
域功能级别为2008 Domain Functional Mode;如下图1所示:
C. 客户端无需任何变更;
D.
如果一个用户和组有多个密码设置对象( PSO ,可以把 PSO 理解为和组策略对象 GPO 类似,通俗的理解为就是一条条的密码策略),那么优先级最小的 PSO 将最终生效 ;
E.
可以使用 ADSIEDIT 或者 LDIFDE 或者第三方工具进行管理 ;
F.
多元密码策略只能应用于活动目录中的用户和全局安全组,而不能应用于活动目录中的计算机对象、非域内用户和组织单元 OU
实战
论知识啰嗦了一大箩筐了,接下来我将通过实战方式向大家介绍如何通过ADSIEDITLDIFDE以及第三方工具FGPPQuese公司出品的针对 ADPowerShell来实现、管理多元密码策略。由于本系列文章涉及到的方法比较多,为了让大家在操作的时候有一个清晰的思路,我将主要的操作步骤 写出来:
步骤 1:创建 PSO
步骤 2:将 PSO 应用到用户和/或全局安全组
步骤 3:管理 PSO
步骤 4:查看用户或全局安全组的结果 PSO
步骤5:验证结果
. ADSIEDIT
步骤1:创建PSO
1.
DC上打开活动目录用户和计算机,创建一个名为”TestOU”OU,然后在该OU里面建立一个名为张三的用户和一个名为PSOGroup的全局安全组,再把张三加入该组中。如图2.
2.
再在DC上输入adsiedit.msc,按照如图所示展开至CN=Password Settings Container。如图3所示。并在上面右击选择新建对象
出现新建对象窗口,类别只有一个密码设置,点击下一步。接下来为PSO取个有意义的名字,便于自己管理。5.
接下来修改msDS-PasswordSettingsPrecedence属性,也就是设置密码的优先级,尽管此处可以输入零或者负数,但是要想真正生效的话,此处输入的数值必须大于零。前面说过,数值越小,优先级越高。我就输入1
下来修改msDS-PasswordReversibleEncryptionEnabled属性,也就是是否启用用户帐户的密码可还原的加密状态。可接 受输入的值为FALSE/TRUE。为了安全着想(开启后可以用工具逆向DUMP出用户的密码),如果没有特殊需求,建议设置为FALSE。
接下来修改msDS-PasswordHistoryLength属性,也就是设置用户帐户的密码历史长度。有时候翻译为强制密码历史。可接收输入的值为01024。默认是24个。我这里设置为3个历史密码不能重复。
接下来修改msDS-PasswordComplexityEnabled属性,也就是是启用户帐户的密码复杂性要求。复杂性的定义就不啰嗦了。可接受输入的值为FALSE/TRUE。为了安全考虑,建议设置为TRUE。
接下来修改msDS-MinimumPasswordLength属性,也就是设置用户帐户的最短密码长度。可接收输入的值为0255.我这里设置最短需满足16位。
下来修改msDS-MinimumPasswordAge属性,也就是设置用户帐户密码的最短使用期限。默认必须是使用1天后才能再次更改密码。可以接受 输入的格式为00:00:00:00。这4段分别表示为多少天、多少小时,多少分,多少秒。这里只可以输入1天的整数倍,不要输入什么0.5天,1.5 等。如果你输入00:12:00:00也就是半天,尽管可以继续下去,但是不会生效。请注意这一点。我这里输入可以立即更改密码,也就是 00:00:00:00
接下来修改msDS-MaximumPasswordAge属性,也就是设置用户帐户的最长密码期限。默认是42天。和前面那个属性一样,可以接受输入的格式为持续时间格式。我这里输入最长可以使用14天。
接下来修改msDS-LockoutThreshold 属性,也就是设置用户帐户锁定的锁定阈值。默认没有限制。可以接受的输入范围是065535.我这里设置为输入3次错误密码就自动锁定。 下来修改msDS-LockoutObservationWindow属性,也就是设置用户帐户锁定的观察窗口时间。这个设置可以有点不太好理解。通俗点 解释就是多长时间复位帐户锁定计数器。比如,我设置的是30分钟内输入3次就锁定账号。那么一个用户在30分钟内输入错误密码2次后,如果他在接下来的 30分钟内停止继续尝试输入错误密码,那么半个小时后他又可以继续输入3次错误密码了。可以接受输入的格式为持续时间格式。我这里输入30分钟后复位。
接下来修改msDS-LockoutDuration属性,也就是设置锁定用户帐户的锁定持续时间。可以接受输入的格式为持续时间格式。我这里输入锁定30分钟。