自从 Windows 2000 Server 引入该技术以来,IT 管理员一直在使用并围绕 Active Directory 开展工作。Windows 2000 Server 于 2000 年 2 月 17 日发布,但许多管理员在 1999 年末就开始使用 Active Directory——该产品于 1999 年 12 月 15 日发布到制造(RTM)阶段。
Active Directory DNS 是什么?
AD DS 提供一种内置方法,用于通过使用与 Active Directory 集成的 DNS records 来存储和复制DNS zones。
区域(zone)中存储的所有记录和区域数据都会通过使用原生的 AD DS replication service 复制到其他 DNS 服务器。每个域控制器(DC)都会为其具有权威的命名空间存储一份可写的 DNS 区域数据副本。与 Active Directory 集成的区域还提供使用安全动态更新的能力,可支持控制哪些计算机可以发起更新,并防止未经授权的更改。
DNS 区域数据存储在应用程序目录分区中。用于存储区域数据的森林范围分区名为 ForestDnsZones。对于每个 AD DS 域,会创建一个名为 DomainDnsZones 的域分区。
通常,DNS 实现会与 contiguous namespace 一起使用。
例如,AD DS 域的 Fully Qualified Domain Name (FQDN) 可能是 corp.contoso.com,而该域中客户端的 FQDN 则可能是 client.corp.contoso.com。但是,AD DS 和与 Active Directory 集成的 DNS 区域支持 disjoint namespaces。在这种情况下,AD DS 域的 FQDN 可能是 na.corp.contoso.com,而客户端的 FQDN 可能是 client.corp.contoso.com。请注意,FQDN 的“na”部分在客户端 FQDN 中不存在。使用 disjoint namespace 时有若干要求和注意事项。
有关详细信息,请参阅 https://technet.microsoft.com/en-us/library/cc731125%28v=ws.10%29.aspx.
三个特定的 DNS 组件
AD DS 需要 DNS 才能正常运行,并使用 三个特定的组件 来支撑 AD DS 基础架构:
- 域控制器定位器.
定位器在 Net Logon 服务中实现,并提供 AD DS 环境中域控制器 (DC) 的名称。定位器使用地址 (A) 和服务 (SRV) DNS 资源记录来识别 AD DS 环境中的 DC。
- DNS 中的 Active Directory 域名.
DNS 中的 AD DS 域名是我们前面讨论过的完全限定域名(FQDN)。
- Active Directory DNS 对象.
尽管 DNS 域和 AD DS 域通常具有相同的名称,但它们是两个具有不同作用的独立对象。DNS 会存储 AD DS 所需的区域(zone)以及区域数据,并响应客户端发出的 DNS 查询。AD DS 会存储对象名称和对象记录,并使用 LDAP 查询来检索或修改数据。存储在 AD DS 中的 DNS 区域具有一个容器对象,该对象位于 dnsZone 类中。dnsZone 对象包含一个 DNS 节点,该节点使用 dnsNode 类。DNS 区域中的每个唯一名称都对应一个唯一的 dnsNode 对象。对于 AD DS 而言,这也包括各个独立功能。因此,一个 DC 可能具有多个角色,例如作为 global catalog 服务器,其信息在 dnsNode 对象中标明。
Active Directory 中的 DNS 记录
如前所述,DC 由 SRV records 在 DNS zone 中标识。AD DS 的组件会在 _msdcs 子域中使用以下格式存储到 DNS:_Service.Protocol.DcType._msdsc.DnsDomainName。
例如,Lightweight Directory Access Protocol (LDAP) 服务在 Primary Domain Controller (PDC) 位于 contoso.com 的 AD DS 域中将会是 ldap._tcp.pdc.contoso.com。服务和协议字符串使用下划线(_)作为前缀,以避免与命名空间中现有资源或记录发生潜在冲突。
Net Logon 服务需要 17 different SRV records 才能执行查询。SRV 记录的完整列表可在以下位置找到:https://technet.microsoft.com/en-us/library/cc759550%28v=ws.10%29.aspx.
除了 SRV 记录之外,Net Logon 服务还需要 two A records,以供可能不支持 SRV 的客户端使用。这包括 DnsDomainName 的记录,以及 gc._msdsc.DnsForestName 的记录。这样可以让不支持 SRV 的客户端通过使用 A 记录来查找域控制器或全局编录服务器。
最佳实践
DNS 容易受到 安全威胁 的影响,例如足迹收集(foot printing)、拒绝服务攻击、数据篡改以及重定向。
为缓解这些威胁,可以通过使用 安全的动态更新(secure dynamic updates)、限制区域传送(zone transfers),并实施区域委派(zone delegation)以及 DNS Security Extensions (DNSSEC) 来保护 DNS 区域(zones)。通过使用安全的动态更新,计算机将通过 Active Directory 进行身份验证,并在执行区域传送时应用安全设置。
此外,区域传送(zone transfers)也可以 限制为仅允许特定的 IP 地址 在网络内部进行。区域委派可以通过两种方法来实现。
首先,将 DNS 的变更限制在单个团队或实体内,并对所有变更进行跟踪与审批。该方法可减少进行变更的人数,但也可能形成单点故障(single point of failure)。
其次,可以将区域委派 给负责管理网络或域中各个组件的个人。尽管变更可能仍需要审批和跟踪,该做法仍能在多个人员之间分散风险;如果只有某一个组件被攻陷,可能也会将损失限制在较小范围。
DNSSEC
DNSSEC 通过提供源授权、数据完整性以及经过认证的不存在证明(authenticated denial of existence)来验证 DNS 响应。Windows Server 2012 的 DNSSEC 实现符合以下标准:RFC 4033, 4034, 和 4035。
有 六种资源记录类型 专门用于 DNSSEC:
- 资源记录签名(Resource record signature,RRSIG)
- 下一个安全(Next Secure,NSEC)
- Next Secure 3 (NSEC3)
- Next Secure 3 Parameter (NSEC3PARAM)
- DNS Key (DNSKEY)
- Delegation Signer (DS)
有关每种记录类型及其用途的更多信息,请参阅 https://technet.microsoft.com/en-us/library/jj200221.aspx.
有关 Active Directory 基础的更多信息,请参阅我们的 面向初学者的 AD 教程。
分享到
了解更多
关于作者
Brian Svidergol
IT
精通以 Windows、Active Directory、Azure、Microsoft Exchange、System Center、虚拟化和 MDOP 为核心的 Microsoft 基础架构与基于云的解决方案。除了撰写书籍之外,Brian 还编写培训内容和白皮书,并担任大量图书与出版物的技术审阅者。