学习黑客Active Directory 入门指南(三)
Active Directory 入门指南(三):关键服务、用户与组管理 🤝💻
大家好!欢迎来到 “Active Directory 入门指南” 系列的第三篇。在前两篇中,我们已经了解了AD的基本概念、逻辑结构(对象、OU、域、树、林、架构、全局编录)以及物理组件(域控制器、站点)。
在本篇中,我们将聚焦于支撑Active Directory运行的关键服务和协议,并深入探讨如何在AD中管理核心对象:用户账户、组账户和计算机账户。这些是日常AD管理中最常接触的部分。
5. 关键服务与功能 ⚙️
Active Directory的正常运行依赖于多种底层服务和协议的协同工作。
-
身份验证协议 (Authentication Protocols):
AD使用这些协议来验证用户和计算机的身份。- Kerberos v5:
- 这是AD中主要的、默认的身份验证协议。
- Kerberos是一种基于**票据 (tickets)**的强大网络身份验证协议,由麻省理工学院 (MIT) 开发。
- 工作原理简介:
- 用户登录时,向密钥分发中心 (KDC,通常是DC的角色之一) 请求一个初始票据——票据授予票据 (TGT)。
- 用户使用TGT向KDC的票据授予服务 (TGS) 请求访问特定资源(如文件服务器)的服务票据。
- 用户向资源服务器出示服务票据,服务器验证票据后授予访问权限。
- 优点:安全性高(使用加密和时间戳防止重放攻击),支持单点登录 (SSO),支持相互身份验证(客户端和服务器都验证对方身份)。
- NTLM (NT LAN Manager):
- 这是一种较旧的**质询/响应 (challenge/response)**式身份验证协议。
- 在AD中,NTLM主要用于向后兼容,例如与不支持Kerberos的旧版客户端或应用程序进行身份验证,或者在无法联系到DC(无法使用Kerberos)的情况下进行本地缓存登录。
- 安全性:NTLM相对于Kerberos来说安全性较低,更容易受到某些类型的攻击(如哈希传递 Pass-the-Hash)。因此,在可能的情况下,应优先使用Kerberos,并考虑禁用或限制NTLM的使用。
- Kerberos v5:
-
LDAP (Lightweight Directory Access Protocol):
- LDAP是一种开放的、跨平台的应用程序协议,用于访问和维护分布式目录信息服务。
- Active Directory是一个符合LDAP标准的目录服务。这意味着应用程序和服务可以使用LDAP协议来查询 (query) AD中的信息(如搜索用户、读取对象属性)和修改 (modify) AD中的数据(如创建用户、更改属性——当然,需要适当的权限)。
- 例如,许多第三方应用程序需要与AD集成以进行用户身份验证或获取用户信息时,通常会使用LDAP。
- AD通过TCP端口389(用于未加密LDAP)和TCP端口636(用于LDAPS,即LDAP over SSL/TLS)提供LDAP服务。
-
DNS (Domain Name System):
- Active Directory严重依赖DNS进行名称解析和服务定位。可以说,没有正常工作的DNS,AD就无法正常运行。
- 主要用途:
- 定位域控制器 (Locating Domain Controllers):客户端和成员服务器使用DNS中的特殊记录——SRV记录 (Service Locator records)——来查找其所在域或林中的DC(特别是提供特定服务的DC,如Kerberos KDC、LDAP服务器、全局编录服务器)。
- 计算机名称解析:解析域中计算机的主机名到IP地址。
- 域名解析:解析AD域名(如
company.com
)到DC的IP地址。
- 通常,在部署AD时,会同时在DC上安装和配置DNS服务器角色,并创建AD集成的DNS区域。AD集成的DNS区域将DNS数据存储在AD目录数据库中,并通过AD复制机制在DC之间复制,提供了更高的容错性和安全性。
-
SYSVOL共享 (System Volume Share):
- SYSVOL是一个存在于每个域控制器上的特殊共享文件夹。
- 它存储了域范围内的公共文件,主要是组策略模板 (Group Policy Templates - GPTs)和脚本 (Scripts)(如登录脚本、启动脚本)。
- 当管理员创建或修改一个组策略对象 (GPO) 时,GPO的配置部分(组策略容器 - GPC)存储在AD数据库中,而GPO的文件部分(GPT)则存储在SYSVOL中。
- SYSVOL的内容会在域内所有DC之间通过文件复制服务(FRS,在较旧的系统中;或DFS复制 - DFSR,在较新的系统中)进行复制,以确保所有DC上的策略文件保持一致。
- 客户端计算机在应用组策略或执行登录脚本时,会从其登录的DC上的SYSVOL共享中读取相应的文件。
6. 用户、组和计算机账户 🧑💻👥💻
这些是AD中最常管理的对象。
-
用户账户 (User Accounts):
- 代表一个可以登录到域并访问网络资源的个人。
- 关键属性:
- 用户登录名 (User logon name / User Principal Name - UPN):格式通常为
username@domain.com
,用于登录。 - 用户登录名 (Windows 2000以前版本 / sAMAccountName):格式为
DOMAIN\username
,用于向后兼容。 - 密码:安全存储,用户可以使用它进行身份验证。
- 组成员身份:用户所属的组,决定了其访问权限。
- 其他个人信息、账户选项(如密码永不过期、账户已禁用、登录时间限制等)。
- 用户登录名 (User logon name / User Principal Name - UPN):格式通常为
- 每个用户账户在AD中都有一个唯一的安全标识符 (Security Identifier - SID),这是一个不可变的值,即使更改了用户名,SID也不会改变。权限是基于SID授予的。
-
组账户 (Group Accounts):
- 组是用户账户、计算机账户或其他组的集合。使用组的主要目的是简化权限管理。与其为每个用户单独分配对资源的权限,不如将用户添加到组中,然后将权限分配给该组。
- 组的类型 (Group Types):
- 安全组 (Security Groups):这是最常用的组类型。安全组可以用于分配对资源的访问权限(通过ACLs)以及应用组策略。安全组有SID。
- 通讯组 (Distribution Groups):这种类型的组不能用于分配权限或应用GPO。它们主要用于电子邮件应用程序(如Microsoft Exchange)创建电子邮件分发列表。通讯组没有SID。
- 组的作用域 (Group Scopes):组的作用域决定了该组可以包含哪些成员以及该组可以在哪里被授予权限。
- 域本地组 (Domain Local Groups):
- 成员:可以包含来自林中任何域的用户、计算机、全局组和通用组,以及其他域本地组(仅限同一域内)。
- 权限分配:只能在其所在的域内被授予对资源的访问权限。
- 用途:通常用于直接向资源(如文件共享、打印机)授予权限。
- 全局组 (Global Groups):
- 成员:通常只能包含其所在域的用户、计算机和其他全局组。
- 权限分配:可以在林中的任何域(以及受信任的林中的域)中被授予权限,也可以作为其他组(域本地组、通用组或其他全局组——仅限同一域内)的成员。
- 用途:通常用于将具有相似业务角色或访问需求的用户组织起来(例如,“销售部员工”全局组)。
- 通用组 (Universal Groups):
- 成员:可以包含来自林中任何域的用户、计算机、全局组和通用组。
- 权限分配:可以在林中的任何域(以及受信任的林中的域)中被授予权限,也可以作为其他组(域本地组或通用组)的成员。
- 注意:通用组的成员列表存储在全局编录 (GC) 中,因此对通用组成员身份的更改会导致GC复制流量。应谨慎使用,通常用于需要跨多个域授予权限的场景。
- 权限管理最佳实践 (AGDLP / AGUDLP):
- Accounts (用户或计算机账户) -> Global groups (按角色或部门组织用户) -> Domain Local groups (代表资源权限) -> Permissions (分配给域本地组)。
- 或者,在多域林中,可以使用 Accounts -> Global groups -> Universal groups (跨域组织角色) -> Domain Local groups -> Permissions。
- 域本地组 (Domain Local Groups):
-
计算机账户 (Computer Accounts):
- 代表已加入到Active Directory域的计算机(工作站或服务器)。
- 作用:
- 允许计算机通过AD进行身份验证。
- 允许通过组策略集中管理计算机的配置和安全设置。
- 计算机账户也有SID,并且可以像用户一样被授予对资源的访问权限(尽管这不太常见)。
- 当计算机加入域时,会在AD中自动创建一个计算机账户。
在本篇中,我们探讨了支撑AD运行的关键服务(Kerberos, LDAP, DNS, SYSVOL)以及AD中最常管理的三种核心对象:用户、组和计算机账户,并特别强调了组的类型和作用域及其在权限管理中的重要性。
在下一篇 Active Directory 入门指南(四) 中,我们将详细介绍Active Directory中最强大的功能之一——组策略对象 (GPOs),以及为了保证AD多主复制模型一致性而存在的操作主机角色 (FSMO Roles)。敬请期待!