0Pricing
Cloud & IT Cert Prep · 课时

目录服务:LDAP 与 Active Directory

了解 LDAP 目录和 Active Directory 如何组织用户、组与计算机,以及组策略如何大规模实施安全设置。

目录服务:LDAP 与 Active Directory 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。

什么是目录服务

目录服务是一个集中式存储库,用于存储和组织网络资源的信息——User、Group、Computer、Printer 和 Policy。组织无需在每个系统上维护独立的 User 数据库,而是将目录服务作为身份 Information 的唯一可信来源。所有 Authentication 请求都会根据目录进行验证,访问 Policy 也会在整个企业内得到一致执行。

LDAP:轻量级目录访问协议

LDAP(Lightweight Directory Access Protocol)是查询和修改目录服务的行业标准协议。LDAP 将条目组织成称为Directory Information Tree(DIT)的层级树,并使用Distinguished Name(DN)标识条目。LDAP 运行在端口 389(明文)和端口 636(LDAPS,即基于 TLS 的 LDAP)上。LDAP 是协议,而目录本身是独立的产品。

# LDAP Distinguished Name structure
cn=John Smith,ou=Engineers,dc=corp,dc=example,dc=com

# cn  = Common Name (user's name)
# ou  = Organizational Unit
# dc  = Domain Component

# LDAP search query example
ldapsearch -H ldap://dc.corp.example.com \
  -b 'dc=corp,dc=example,dc=com' \
  '(sAMAccountName=jsmith)' mail memberOf

Active Directory 架构

Active Directory(AD)是 Microsoft 的企业目录服务,构建于 LDAP 和 Kerberos 之上。它将资源组织成Domain,Domain 再组成Tree,Tree 再组成Forest。Domain controller(DC)承载 AD 数据库(NTDS.dit)并处理 Authentication。AD 是大多数 Windows 企业环境中身份管理的骨干。

# Active Directory hierarchy
# Forest: corp.example.com (trust boundary)
#   Tree: corp.example.com
#     Domain: corp.example.com
#       OU: Engineering
#         User: jsmith
#         Group: Dev-Team
#       OU: Finance
#         Computer: FIN-PC-01

Active Directory 中的 Kerberos Authentication

Active Directory 使用 Kerberos 作为默认 Authentication 协议。该流程通过票据授予机制工作:Client 向Key Distribution Center(KDC)进行 Authentication,并接收Ticket-Granting Ticket(TGT)。当 User 需要访问资源时,会出示 TGT 以获取该特定资源的Service Ticket。Password 从不会通过网络发送,网络中传输的只有加密票据。这种设计是理解 Kerberoasting 等攻击的基础。

# Kerberos authentication flow (simplified)
# 1. Client -> KDC: Authentication Request (AS-REQ)
# 2. KDC  -> Client: Ticket-Granting Ticket (AS-REP)
# 3. Client -> KDC: Service Ticket Request (TGS-REQ) + TGT
# 4. KDC  -> Client: Service Ticket (TGS-REP)
# 5. Client -> Server: Access Request + Service Ticket
# 6. Server validates ticket -> Access granted

Group Policy Objects(GPOs)

Group Policy Objects(GPOs)是 AD 用于同时在数千台 Computer 上强制执行 Security Settings 的机制。GPOs 可以配置 Password 复杂度要求、屏幕锁定超时、软件安装、防火墙规则和注册表 Settings。GPOs 会链接到 AD Container(站点、Domain、OU),并应用于该 Container 中的所有 User 和 Computer。默认情况下,GPO Settings 每 90 分钟刷新一次,从而确保即使 Computer 偏离了 Policy,也能持续保持合规。

# Common GPO security settings
# Computer Configuration -> Windows Settings -> Security Settings:
#   Password Policy:
#     - Minimum password length: 14
#     - Password complexity: Enabled
#     - Maximum password age: 90 days
#   Account Lockout Policy:
#     - Lockout threshold: 5 attempts
#     - Lockout duration: 30 minutes

AD Security Groups 与最小权限

Active Directory 使用 Security Groups 集中管理访问权限。管理员不会为单个 User 分配权限,而是将权限授予 Group,再将 User 添加到适当的 Group 中。Security+ 需要了解的关键内置 Group 包括:Domain Admins(完整 Domain 控制权)、Enterprise Admins(整个 Forest 的控制权)、Schema Admins(修改 AD 架构)和 Administrators(本地 Computer 管理员)。必须严格控制这些高权限 Group 的成员资格。

LDAP 注入攻击

LDAP 注入是目录服务领域对应于 SQL 注入的攻击。Attacker 会将特殊字符(*、(、)、\、NUL)插入 User 输入,而这些输入会被直接拼接到 LDAP filter 中,从而操纵 LDAP query。成功的攻击可以绕过 Authentication、提取所有目录条目或修改目录 Object。防护措施包括验证输入,并使用参数化 LDAP API,而不是进行字符串拼接。

# Vulnerable LDAP filter (DO NOT use)
filter = '(uid=' + user_input + ')'
# Attacker input: *)(&
# Result: (uid=*)(&) -- returns ALL users

# Defense: escape special chars before including in filter
# LDAP special chars: ( ) * \ NUL
# Use LDAP library escaping functions

AD Replication 与 Domain Controllers

企业会部署多个 Domain controller,以实现冗余和地理分布。AD Replication 使用 Directory Replication Service(DRS)使所有 DC 保持同步。Attacker 会利用 Replication 发起 DCSync attack——利用 Replication 权限从 DC 请求所有 Password 哈希,而无需实际登录该 DC。保护 Replication 权限是强化 AD Security 的关键步骤。

# DCSync attack detection query (PowerShell)
# Detect accounts with dangerous replication permissions:
Get-ObjectAcl -DistinguishedName 'DC=corp,DC=example,DC=com' |
  Where-Object { $_.ActiveDirectoryRights -match 'DS-Replication' } |
  Select-Object IdentityReference, ActiveDirectoryRights

保护 LDAP:LDAPS 与签名

端口 389 上的普通 LDAP 以明文传输数据(包括绑定凭据),因此容易遭到拦截。组织应在端口 636 上强制使用 LDAPS(基于 TLS 的 LDAP),以加密所有目录流量。此外,还应要求使用 LDAP 签名和通道绑定,以防止中继攻击:攻击者会拦截并重放 LDAP 身份验证消息,从而获得未经授权的访问权限。

# Verify LDAP signing requirement (Windows)
# Registry key:
# HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
# LDAPServerIntegrity = 2 (Require signing)

# Or via GPO:
# Security Settings -> Local Policies -> Security Options
# 'Domain controller: LDAP server signing requirements' = Require signing

AD 攻击面:常见错误配置

Active Directory 环境在多年运行过程中会不断积累错误配置。常见的 AD 安全弱点包括:非约束委派(允许冒充任意 User)、密码强度较弱的可进行 Kerberoasting 的服务账户、AS-REP Roasting 目标(已禁用预身份验证的账户)、Domain Admin 成员过多,以及会授予隐藏高权限的 AdminSDHolder 错误配置。定期使用 BloodHound 等工具开展 AD 安全评估,有助于识别这些攻击路径。

LDAP 与 Active Directory 总结

为了明确两者的关系:LDAP 是用于与目录通信的协议(就像 HTTP 用于与 Web 服务器通信一样)。Active Directory 是 Microsoft 提供的、使用 LDAP 作为访问协议的目录服务产品。其他兼容 LDAP 的目录还包括 OpenLDAP(开源)、Oracle Directory Server 和 Red Hat Directory Server。它们都使用 LDAP 查询,但管理接口和额外的专有功能各不相同。

快速检查

请测试您对本课 CompTIA Security+(SY0-701)概念的理解。

课程回顾

在本课中,您学到了:LDAP 是使用层次结构树中的 Distinguished Names 查询目录服务的协议;Active Directory 使用 Kerberos 进行身份验证,并使用 GPO 在域范围内强制实施安全设置;以及应要求在端口 636 上使用 LDAPS 和 LDAP 签名,以防止拦截攻击和中继攻击。接下来,我们将学习特权访问管理(PAM)。

常见问题解答

「目录服务:LDAP 与 Active Directory」课时是免费的吗?

是的 — 「目录服务:LDAP 与 Active Directory」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。

「目录服务:LDAP 与 Active Directory」这节课中我会学到什么?

了解 LDAP 目录和 Active Directory 如何组织用户、组与计算机,以及组策略如何大规模实施安全设置。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「目录服务:LDAP 与 Active Directory」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 目录服务:LDAP 与 Active Directory
  2. 特权访问管理(PAM)
  3. 身份治理与配置
  4. 即时访问与条件访问策略
← 返回 Cloud & IT Cert Prep