当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Active Directory 中的细粒度密码策略

作者:精品下载站 日期:2024-12-14 23:10:25 浏览:12 分类:玩电脑

Active Directory 中的细粒度密码策略


细粒度密码策略 (FGPP) 允许您为特定用户或组创建多个密码策略。从 Windows Server 2008 版本的 Active Directory 开始,可以使用多种密码策略。在 AD 的早期版本中,您只能为每个域创建一个密码策略(使用默认域策略)。

在本文中,我们将展示如何在 Active Directory 域中创建和配置多个密码设置对象。

细粒度密码策略概念

细粒度密码策略允许管理员在 AD 域中创建多个自定义密码设置对象 (PSO)。在 PSO 中,您可以设置密码要求(长度、复杂性、历史记录)和帐户锁定选项。 PSO 策略可以分配给特定用户或组,但不能分配给 Active Directory 容器 (OU)。如果将 PSO 分配给用户,则默认域策略 GPO 中的密码策略设置将不再应用于该用户。

例如,使用 FGPP 策略,您可以提高对管理员帐户、服务帐户或对域资源具有外部访问权限(通过 VPN 或 DirectAccess)的用户的密码长度和复杂性的要求。

在域中使用多个 FGPP 密码策略的基本要求:

  • Windows Server 2008 域或更高版本的域功能级别;

  • 密码策略可以分配给用户或全局(!)安全组;

  • 完全应用FGPP(您不能在GPO中设置某些密码设置,而有些则在FGPP中设置)

如何在 Active Directory 中创建密码设置策略 (PSO)?

在 Windows Server 2012 及更高版本上,您可以从 Active Directory 管理中心 (ADAC) 控制台的图形界面创建和编辑细化密码策略。

此版本的 AD 还包括 Active Directory 回收站(允许您恢复已删除的 AD 对象)和托管服务帐户 (gMSA)。

在此示例中,我们将展示如何为域管理员组创建和分配单独的密码策略。

启动 Active Directory 管理中心 (

dsac.msc

),切换到树视图并展开系统容器。找到密码设置容器,右键单击它,然后选择新建 -> 密码 设置。

[玩转系统] Active Directory 中的细粒度密码策略

指定密码策略的名称(在我们的示例中为域管理员密码策略)并配置其设置(密码的最短长度和复杂性、历史记录中存储的密码数量、锁定设置、更改密码的频率等)。

每个 PSO 参数 (

msDS-PasswordSettings

class) 由单独的 AD 属性描述:

  • msDS-LockoutDuration
  • msDS-LockoutObservationWindow
  • msDS-LockoutThreshold
  • msDS-MaximumPasswordAge
  • msDS-MinimumPasswordAge
  • msDS-MinimumPasswordLength
  • msDS-PasswordComplexityEnabled
  • msDS-PasswordHistoryLength
  • msDS-PasswordReversibleEncryptionEnabled
  • msDS-PasswordSettingsPrecedence

请注意优先级属性。该属性决定当前密码策略的优先级。如果某个对象分配有多个 FGPP 策略,则将应用 Precedence 字段中具有最低值的策略。

注意

  • 如果用户有两个分配了相同优先级值的策略,则将应用具有较低 GUID 的策略。

  • 如果用户分配了多个策略,其中一项通过 AD 安全组启用,另一项直接分配给用户帐户,则将应用分配给该帐户的策略。

然后在直接应用于部分中添加组或用户以应用该策略(在我们的示例中为域管理员)。我们建议您将 PSO 策略应用于组而不是单个用户。保存策略。

[玩转系统] Active Directory 中的细粒度密码策略

此后,此密码策略将应用于 Domain Admins 组的所有成员。

启动 Active Directory 用户和计算机(

dsa.msc

) 控制台(启用高级功能选项)并打开域管理员组中任何用户的属性。转到“属性编辑器”选项卡,然后在过滤器字段中选择构造选项。

查找 msDS-ResultantPSO 用户属性。此属性显示为用户启用的密码策略(

CN=Password Policy for Domain Admin,CN=Password Settings Container,CN=System,DC=a-d,DC=com

)。

[玩转系统] Active Directory 中的细粒度密码策略

您还可以使用 dsget 工具获取用户当前的 PSO 策略:

dsget user "CN=Max,OU=Admins,DC=a-d,DC=com" -effectivepso

[玩转系统] Active Directory 中的细粒度密码策略

使用 PowerShell 配置细粒度密码策略 (PSO)

您可以使用 PowerShell 管理 PSO 密码策略(您的计算机上必须安装 Active Directory PowerShell 模块)。

New-ADFineGrainedPasswordPolicy cmdlet 用于创建新的 PSO:

New-ADFineGrainedPasswordPolicy -Name “Admin PSO Policy” -Precedence 10 -ComplexityEnabled $true -Description “Domain password policy for admins”-DisplayName “Admin PSO Policy” -LockoutDuration “0.20:00:00” -LockoutObservationWindow “0.00:30:00” -LockoutThreshold 6 -MaxPasswordAge “12.00:00:00” -MinPasswordAge “1.00:00:00” -MinPasswordLength 8 -PasswordHistoryCount 12 -ReversibleEncryptionEnabled $false

现在您可以将密码策略分配给用户组:

Add-ADFineGrainedPasswordPolicySubject “Admin PSO Policy” -Subjects “Domain Admins”

[玩转系统] Active Directory 中的细粒度密码策略

要更改 PSO 策略设置:

Set-ADFineGrainedPasswordPolicy "Admin PSO Policy" -PasswordHistoryCount:"12"

列出域中的所有 FGPP 策略:

Get-ADFineGrainedPasswordPolicy -Filter *

[玩转系统] Active Directory 中的细粒度密码策略

使用 Get-ADUserResultantPasswordPolicy 命令获取适用于特定用户的结果密码策略。

Get-ADUserResultantPasswordPolicy -Identity jsmith

[玩转系统] Active Directory 中的细粒度密码策略

适用于用户的 PSO 名称在名称字段中指定。

您可以使用 Get-ADGroup cmdlet 显示分配给 Active Directory 组的 PSO 策略列表:

Get-ADGroup "Domain Admins" -properties * | Select-Object msDS-PSOApplied

要显示默认域策略 GPO 中的默认密码策略设置,请运行以下命令:

Get-ADDefaultDomainPasswordPolicy

尽管使用细粒度密码策略,用户仍然可以使用弱密码,例如

P@ssw0rd

,

Pa$$w0rd

等。我们建议您定期审核您的域中是否存在弱用户密码。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯