Active Directory

最后更新于:

本页内容

概述

活动目录(AD)在组织安全态势中扮演核心角色,它管理着关键系统和资源的身份验证与访问权限。有效的AD安全措施有助于保护用户凭证、应用程序和机密数据免受未经授权的访问。强化AD配置可降低安全漏洞风险,保护企业免受恶意行为者造成的潜在损害。

本页面阐述了产品用于评估配置并标记潜在漏洞的预定义 Active Directory 风险态势规则

预定义规则

以下是用于评估 Active Directory 配置并识别潜在安全风险的关键预定义规则:

1. 最小密码长度

描述:

此安全规则规定用户账户密码的最小字符数。可设置1至14个字符的范围,或通过将字符数设为0来取消密码要求。

默认值:

  • 域控制器上为 7。
  • 0 独立服务器上。

漏洞说明:

最小密码长度策略决定用户账户密码的最低字符数。常见密码攻击方式包括字典攻击(尝试使用常用词汇短语)和暴力破解攻击(尝试所有可能的字符组合)。攻击者有时还会窃取账户数据库,利用工具批量破解账户密码。

可能值:

  • 用户指定的字符数在 0 到 14 之间(如果字符数设置为 0,则无需密码)
  • 未定义

最佳实践:

将最小密码长度设置为至少8位。多数环境建议采用8位密码,既能提供足够安全性,又便于用户记忆。当前不支持超过14位的最小密码长度。此设置可有效抵御暴力破解攻击,添加复杂度要求则有助于降低字典攻击风险。更多信息请参阅《密码必须满足复杂度要求》。

建议:

通过图形界面操作:

  • 在您的域控制器上,打开“开始”菜单,转到“管理工具”,然后选择“组策略管理”。
  • 在控制台树中,展开,然后展开域,并选择要配置帐户策略的域。
  • 双击域以查看与其关联的组策略对象 (GPO)。
  • 右键单击默认域策略,选择编辑组策略编辑器控制台将打开。
  • 在编辑器中,依次导航至计算机配置 → 策略 → Windows 设置 → 安全设置 → 账户策略 → 密码策略
  • 双击密码策略。要配置最小密码长度,请右键单击最小密码长度并选择属性,然后定义所需的策略设置。

2. 密码复杂度

描述:

此安全规则用于验证密码是否满足复杂度要求。若启用该策略,密码须符合以下条件:不得包含用户账户名或超过两个连续字符的用户全名片段。

  • 密码长度至少为六个字符
  • 包含以下三类字符中的任意三类:
  • 英文字母大写(A至Z)
  • 英文字母小写(a至z)
  • 十进制数字(0至9)
  • 非字母字符(例如 !, $, #, %)

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

默认设置:

域控制器上启用。独立服务器上禁用。

漏洞:

仅含字母数字的密码易被多种公开工具破解。

可能值:

  • 启用
  • 禁用
  • 未定义

最佳实践:

将"密码必须满足复杂性要求"设置为启用。此策略设置结合8位密码长度限制,可确保单个密码至少存在159,238,157,238,528种可能组合。该设置能显著增加暴力破解难度,但无法完全杜绝。

  • 密码不得包含用户的samAccountName(账户名)值或完整的displayName(全名值)。这两项检查均不区分大小写。
  • 密码包含以下三类字符中的任意三类:
    • 欧洲语言的大写字母(A 至 Z,带变音符号、希腊字母和西里尔字母)
    • 欧洲语言的小写字母(a 至 z、带变音符号的 s、变音符号、希腊字母和西里尔字母)
    • 十进制数字(0 至 9)
    • 非字母数字字符(特殊字符):(~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)欧元或英镑等货币符号在本策略设置中不计入特殊字符。
    • 任何被归类为字母字符但非大写或小写的Unicode字符。该组包含亚洲语言的Unicode字符。
    • 仅含字母数字的短密码易被公开工具破解。为防范此漏洞,密码应包含其他字符和/或满足复杂度要求。

建议:

  • 通过图形界面操作:
  • 打开开始菜单,进入管理工具,选择组策略管理
  • 在控制台树中,依次展开,选择要配置账户策略的域。
  • 双击域以查看与其关联的组策略对象(GPO)。
  • 右键单击默认域策略并选择编辑组策略编辑器控制台随即打开。
  • 在编辑器中依次导航至:计算机配置策略Windows 设置 → 安全设置 → 账户策略 → 密码策略
  • 双击密码策略。要配置复杂度要求,请右键单击"密码必须满足复杂度要求",选择"属性"并启用该策略。

3. 旧密码用户

说明:

此安全规则检查所有用户是否在过去90天内更改过密码。

默认设置:

在域控制器上启用。在独立服务器上禁用。

漏洞风险:

密码使用时间越长,越容易遭受暴力破解攻击、攻击者获取用户基本信息或用户主动分享密码等风险。

最佳实践:

根据环境需求,将密码有效期上限设置为30至90天。此举可限制攻击者破解用户密码并获取网络资源访问权限的时间窗口。

建议:

  • 使用图形界面:
  • 打开ActiveDirectory用户和计算机工具。
  • 在目录树中,选择包含要重置密码的账户的组织单位(OU)。
  • 转到“帐户”并选择该帐户。
  • 右键单击账户名称,从上下文菜单中选择“重置密码”
  • 输入新密码并单击“确定”应用更改。
  • 使用PowerShell执行:
    • 更改指定账户密码

    Set-ADAccountPassword -Identity -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "<新密码>" -Force)

  • 使用区分名称为账户设置密码

    Set-ADAccountPassword -Identity 'CN=<通用名称>,OU=<组织单位>,DC=<域组件>,DC=<域组件>' -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "<新密码>" -Force)

4. 禁用访客账户

说明:

此安全设置决定是否启用访客账户。该账户允许未经身份验证的网络用户通过以访客身份登录(无需密码)访问系统。 未经授权的用户可访问网络中所有对访客账户开放的资源。此权限意味着任何允许访客账户、访客组或Everyone组访问的网络共享文件夹都将暴露在网络中,可能导致数据泄露或损坏。

默认设置:

域控制器上启用。独立服务器上禁用。

漏洞:

默认来宾账户允许未经身份验证的网络用户无需密码即可登录。这些未经授权的用户可访问网络中所有对来宾账户开放的资源。这意味着任何共享文件夹若设置了允许来宾账户、来宾组或Everyone组访问的权限,都将通过网络暴露,可能导致数据泄露或损坏。

可能值:

  • 已启用
  • 禁用
  • 未定义

最佳实践:

将Guest账户状态设为禁用,使内置Guest账户失效。所有网络用户访问系统共享资源前均需身份验证。若Guest账户禁用且"网络访问:本地账户共享与安全模型"设置为"仅限Guest"时,网络登录(如SMB服务执行登录)将失败。

建议:

  • 使用图形界面:
    • 在组策略对象中执行以下步骤:
      • 配置策略值:计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 安全选项。
      • 定位账户设置, Guest账户状态 设为禁用

5. 禁用非活动用户

描述:

此安全规则用于验证所有非活动Active Directory用户是否已被禁用。

漏洞说明:

Active Directory 为每位用户创建账户。随着时间推移,用户离开组织后,其账户可能未从 Active Directory 中移除。过期用户账户构成重大安全隐患,离职员工及外部攻击者可能利用这些账户攻击组织。过期账户还会占用目录数据库空间,这些空间本可回收利用。

最佳实践:

应定期检查过去三个月内未更改密码的用户账户,随后禁用并从Active Directory中移除这些账户。连续90天处于非活动状态的用户需从组织中彻底删除。

建议:

  • 使用图形界面,
  • 打开ActiveDirectory用户和计算机工具。
  • 在目录树中,选择包含要删除账户的组织单位 (OU)。
  • 转到“帐户”并选择该帐户。
  • 右键单击帐户名称,然后从上下文菜单中选择“删除”
  • 在确认对话框中,单击“是”以永久删除所选账户。
  • 使用 PowerShell,
    • 删除指定账户

      Remove-ADUser -Identity <账户名称>

    • 通过区分名称删除账户

      Remove-ADUser -Identity "CN=<通用名称>,OU=<组织单位>,DC=<域组件>,DC=<域组件>"

6. 禁用本地管理员账户

描述:

此安全规则决定本地管理员账户的启用状态。

默认状态:

禁用。

漏洞说明:

无论累积多少次登录失败,内置管理员账户均无法被锁定,使其成为暴力破解密码攻击的首要目标。该账户拥有公认的安全标识符(SID),且许多非微软工具允许仅通过SID而非账户名进行身份验证。 因此,即使重命名管理员账户,攻击者仍可通过SID发起暴力破解登录攻击。

可能值:

  • 启用
  • 禁用

最佳实践:

最佳实践是禁用本地管理员账户。

建议:

  • 使用图形界面,
    • 在组策略对象中执行以下步骤:
      • 在组策略编辑器中,依次导航至:计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 安全选项
      • 定位“账户”项, 将管理员账户状态 设置 “已禁用”

7. Kerberos用户登录限制

描述:

此安全规则决定Kerberos V5密钥分发中心(KDC)是否对每次会话票证请求执行用户账户权限策略验证。由于额外验证步骤会消耗时间并可能降低网络服务访问速度,因此每次会话票证请求的验证均为可选操作。

默认设置:

启用。

漏洞:

若禁用此策略设置,用户可能获得其已无权使用的服务会话票证——因登录后相关权限已被撤销。

可能值:

  • 启用
  • 禁用
  • 未定义

最佳实践:

若禁用此策略设置,用户可能获得其无权使用的服务会话票证。建议将"强制执行用户登录限制"设置为启用状态。

建议:

  • 在组策略对象中执行以下步骤。
    • 在组策略编辑器中,依次导航至计算机配置 → Windows 设置 → 安全设置 → 账户策略 → Kerberos 策略
    • 定位到“强制执行用户登录限制”并将其设置为启用

8. Kerberos服务票证最大有效期

说明:

此安全规则决定授予的会话票证访问特定服务的最大时长(以分钟计)。该设置必须大于10分钟,且小于或等于用户票证最大有效期设置值。

默认值:

600分钟(10小时)。

漏洞说明:

若将"服务票证最大有效期"设置过高,用户可能在登录时段外访问网络资源。此外,账户已被禁用的用户可能通过使用禁用前签发的有效服务票证,继续访问网络服务。

可选值:

  • 用户可自定义的分钟数范围为10至99,999,或设置为0(此时服务票证永不过期)。
  • 未定义

最佳实践:

建议将"服务票证最大有效期"设置为600分钟。

建议:

  • 在 GPO 中执行以下步骤。
    • 在组策略编辑器中,导航至计算机配置 → Windows 设置 → 安全设置 → 帐户策略 → Kerberos 策略
    • 定位" 服务票证 的最大有效期" 并将其设置为600分钟

9. 账户锁定阈值

描述:

此安全规则决定用户账户因失败登录尝试次数达到多少时将被锁定。被锁定的账户需由管理员重置或等待锁定时效到期后方可使用。可设置的失败登录尝试次数范围为0至999次。若设置为0,账户将永不锁定。

默认值:0。

漏洞说明:

暴力破解密码攻击可通过自动化方式尝试数千甚至数百万种密码组合,针对任意或所有用户账户发起攻击。限制失败登录尝试次数能有效削弱此类攻击的威力。

可选值:

  • 用户自定义数值(范围0至999)
  • 未定义

最佳实践:

所选阈值需在操作效率与安全性间取得平衡,具体取决于组织的风险等级。为兼顾用户操作失误与防范暴力攻击,Windows安全基线建议将5作为组织可接受的初始值。

建议:

  • 从图形用户界面
    • 在 GPO 中执行以下步骤。
  • 在组策略编辑器中,依次进入计算机配置 → Windows 设置 → 安全设置 → 账户策略 → 账户锁定策略
  • 账户锁定阈值设置为5

10. 账户锁定时长

描述:

此安全规则设定账户锁定后自动解锁前的持续时间(以分钟为单位),有效范围为0至99,999分钟。若将账户锁定时长设为0,则账户将持续锁定直至管理员手动解锁。

默认值:

无,因该策略设置仅在指定账户锁定阈值时生效。

漏洞风险:

若攻击者滥用账户锁定阈值策略设置,反复尝试使用特定账户登录,可能引发拒绝服务(DoS)攻击。配置账户锁定阈值策略后,账户将在达到指定失败次数后自动锁定。

可能值:

  • 用户自定义分钟数,范围为0至99,999(若账户锁定时长设为0,账户将保持锁定状态直至管理员手动解锁)
  • 未定义

最佳实践:

建议将账户锁定时长设置为约30分钟。

建议:

  • 使用图形用户界面,
    • 在 GPO 中执行以下步骤。
      • 在组策略编辑器中,依次导航至计算机配置 → Windows 设置 → 安全设置 → 账户策略 → 账户锁定策略
      • 将账户锁定时长设置为30分钟

11. 会话超时持续时间

描述:

当Windows检测到登录会话处于非活动状态,且非活动时间超过设定阈值时,将启动屏幕保护程序并锁定该会话。

默认值:

不强制执行。

漏洞风险:

过长的会话超时可能使无人值守系统成为攻击者的潜在攻击目标。此策略设置可防止当前登录用户离开时未主动锁定桌面,从而阻止未经授权的设备访问。

可能值:

  • 设备自动锁定设置为闲置秒数,范围为零(0)至599,940秒(166.65小时)。
  • 若将该值设为零(0)或留空,则策略设置失效,用户登录会话在任何闲置状态下均不会被锁定。

最佳实践:

根据设备使用场景和位置要求设置用户输入无响应的超时时间。 例如:若设备位于公共区域,可设置短时闲置后自动锁定以防未经授权访问;但在受限生产区域等仅限特定人员使用的场景中,自动锁定可能影响工作效率。建议将机器闲置超时时间设置为1000秒。

建议:

  • 在 GPO 中执行以下步骤。
    • 在组策略编辑器中,依次导航至计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 安全选项
    • 将交互式登录:计算机闲置限制设置为1000秒

12. 用户密码过期设置

描述:

此安全规则规定密码有效期(以天为单位),超过该期限系统将强制用户修改密码。 可设置密码在1至999天后过期,或通过将天数设为0实现永不过期。若最大密码有效期在1至999天之间,最小密码有效期必须小于最大值。若最大有效期设为0,最小有效期可在0至998天范围内任意设置。

默认值:42。

安全隐患:

密码存在时间越长,其被暴力破解攻击、攻击者获取用户基本信息或用户主动泄露密码而遭泄露的风险越高。若将最大密码有效期策略设置为0,允许用户永久使用同一密码,则恶意用户可在合法用户仍具备访问权限期间持续利用已泄露的密码。

可选值:

  • 用户指定的天数范围为0至999(设置为0,即用户永远无需更改密码)
  • 未定义

最佳实践:

根据环境需求将密码有效期上限设为90天。此举可限制攻击者破解用户密码并获取网络资源访问权限的时间窗口。

建议:

  • 使用图形用户界面,
    • 在 GPO 中执行以下步骤。
      • 在组策略编辑器中,依次导航至计算机配置 → 策略 → Windows 设置 → 安全设置 → 账户策略 → 密码策略
      • 最大密码有效期设置为90天

13. 旧密码管理员账户

描述:

此安全规则检查是否存在最后设置密码超过90天的管理员账户。

漏洞说明:

密码使用时间越长,越容易遭受暴力破解攻击、攻击者获取管理员相关信息,或因管理员主动分享密码而泄露。

最佳实践:

每90天重置一次密码。请按以下步骤操作:

建议:

  • 通过图形界面操作:
  • 打开ActiveDirectory用户和计算机工具。
  • 在目录树中,选择包含要重置密码的账户的组织单位(OU)。
  • 转到“帐户”并选择该帐户。
  • 右键单击账户名称,从上下文菜单中选择“重置密码”
  • 输入新密码并单击“确定”应用更改。
  • 使用 PowerShell,
    • 更改指定账户密码

      Set-ADAccountPassword -Identity <账户名称> -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "<新密码>" -Force)

    • 通过区分名称设置账户密码

      Set-ADAccountPassword -Identity 'CN=<通用名称>,OU=<组织单位>,DC=<域组件>,DC=<域组件>' -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "<新密码>" -Force)

14. 内置域管理员账户使用规范

描述:

此安全规则用于检测过去14天内是否存在任何内置管理员账户处于活动状态。

漏洞说明:

Active Directory为满足多种需求设置了管理员账户,但该账户不应被常规使用。若管理员账户被频繁使用,则必须进行监控。一旦发现任何恶意活动,必须立即采取行动,防止攻击者对组织发起攻击。

最佳实践:

应定期检查过去两周内有过活动的管理员账户,确保内置域管理员账户合法且可追溯。若无法追溯,则可能存在安全漏洞,需立即展开调查。若发现管理员账户存在恶意活动,应立即采取应对措施。

15. 旧密码的内置域管理员账户

描述:

此安全规则设定密码有效期(以天为单位),超过该时限系统将强制要求内置管理员用户修改密码。 可设置密码在1至999天后过期,或通过将天数设为0实现永不过期。若最大密码有效期在1至999天之间,最小密码有效期必须小于最大值。若最大密码有效期设为0,最小密码有效期可在0至998天范围内任意设置。

漏洞风险:

密码使用时间越长,其被暴力破解攻击、攻击者获取管理员相关信息或管理员主动泄露密码而遭泄露的风险就越高。

最佳实践:

建议每90天重置密码一次。

建议:

  • 使用图形用户界面(GUI),
  • 打开ActiveDirectory用户和计算机工具。
  • 在目录树中,选择包含要重置密码的账户的组织单位(OU)。
  • 转到“帐户”并选择该帐户。
  • 右键单击账户名称,从上下文菜单中选择“重置密码”
  • 输入新密码并单击“确定”应用更改。
  • 使用 PowerShell,
    • 更改指定账户密码

      Set-ADAccountPassword -Identity <账户名称> -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "<新密码>" -Force)

    • 使用区分名称为账户设置密码

      Set-ADAccountPassword -Identity 'CN=<通用名称>,OU=<组织单位>,DC=<域组件>,DC=<域组件>' -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "<新密码>" -Force)

16. 禁用管理员账户

描述:

此安全设置显示所有已禁用的管理员账户。

漏洞:

已禁用的管理员用户账户会占用目录数据库中不必要的空间,这些空间本可从数据库中移除。

最佳实践:

应定期检查所有已禁用的特权用户,并将禁用的特权用户从Active Directory中移除。

建议:

  • 使用图形用户界面(GUI)时:
  • 打开ActiveDirectory用户和计算机工具。
  • 在目录树中,选择包含要删除账户的组织单位(OU)。
  • 转到“帐户”并选择该帐户。
  • 右键单击账户名称,从上下文菜单中选择“删除”
  • 在确认对话框中,单击“是”以永久删除该账户。
  • 使用 PowerShell,
    • 删除指定账户

      Remove-ADUser -Identity <账户名称>

    • 通过区分名称删除账户

      Remove-ADUser -Identity "CN=<通用名称>,OU=<组织单位>,DC=<域组件>,DC=<域组件>"

17. 未使用的已启用管理员账户

描述:

此安全规则检查所有已启用的管理员账户在指定时间段内是否处于活动状态。

漏洞说明:

闲置管理员账户构成重大安全隐患,离职员工及外部攻击者可能利用这些账户攻击组织。此类账户还会占用目录数据库空间,而这些空间本可回收利用。

最佳实践:

应定期检查90天内未被使用的管理员账户,并将这些账户从活动目录中移除。

建议:

  • 使用图形用户界面(GUI),
  • 打开ActiveDirectory用户和计算机工具。
  • 在目录树中,选择包含要删除账户的组织单位(OU)。
  • 转到“帐户”并选择该帐户。
  • 右键单击账户名称,从上下文菜单中选择“删除”
  • 在确认对话框中,单击“是”以永久删除该账户。
  • 使用 PowerShell,
    • 删除指定账户

      Remove-ADUser -Identity <账户名称>

    • 通过区分名称删除账户

      Remove-ADUser -Identity "CN=<通用名称>,OU=<组织单位>,DC=<域组件>,DC=<域组件>"

18. 密码永不过期用户

描述:

此安全规则检查是否存在配置了" 密码永不过期"选项的用户。

漏洞说明:

启用"密码永不过期"选项可能导致系统遭受暴力破解攻击、攻击者获取用户基本信息,或因用户泄露密码而被攻破。

可能值:

  • 启用
  • 禁用

最佳实践:

禁用密码永不过期选项。创建用户账户时取消勾选"密码永不过期"复选框是最佳实践。

建议:

  • 使用图形用户界面,
    • 打开Active Directory用户和计算机工具。
    • 在目录树中,选择包含要修改账户的组织单位 (OU)。
    • 转到"帐户"并选择该帐户。
    • 右键单击账户名称,从上下文菜单中选择“属性”
    • “帐户”选项卡的“帐户选项”下,取消勾选“密码永不过期”复选框。
  • 使用 PowerShell,
    • set-aduser <账户名称> -PasswordNeverExpires $false

19. 强制执行密码历史记录

描述

此安全规则检查活动目录是否已配置为禁止密码重复使用。

漏洞说明:

若强制密码变更却未禁止重复使用,优质密码策略的有效性将大幅降低。若为此策略设置较低数值,用户可反复使用少量相同密码。

可选值:

可设置0至24之间的数值

最佳实践:

将"强制密码历史记录"设置为24。此设置有助于缓解因密码重复使用引发的安全漏洞。

建议:

  • 打开“开始”菜单,转到“管理工具”,然后选择“组策略管理”。
  • 在控制台树中,展开,然后展开域,并选择要配置帐户策略的域。
  • 双击域以查看与其关联的组策略对象 (GPO)。
  • 右键单击默认域策略,选择编辑组策略编辑器控制台将打开。
  • 在编辑器中,依次导航至计算机配置 → Windows 设置 → 安全设置 → 账户策略 → 密码策略
  • 击密码策略,右键单击强制密码历史记录,选择属性,并定义所需的策略设置。

另请参阅

本节详细说明了Active Directory的预定义规则,包括描述、默认值、漏洞、最佳实践和建议。更多信息请参阅: