如何为 Active Directory 域和信任配置防火墙

本文介绍如何为 Active Directory 域和信任配置防火墙。

适用于:Windows Server 2019、Windows Server 2016、Windows Server 2012 R2 Standard、Windows Server 2012 Standard
原始 KB 编号: 179442

注意

并非所有场景都需要此表中列出的所有端口。 例如,如果防火墙将成员和 DC 分开,则无需打开 FRS 或 DFSR 端口。 此外,如果知道没有客户端将 LDAP 与 SSL/TLS 配合使用,则无需打开端口 636 和 3269。

更多信息

注意

这两个域控制器都位于同一林中,或者两个域控制器都位于单独的林中。 此外,林中的信任是 Windows Server 2003 信任或更高版本信任。

客户端端口 服务器端口 服务
1024-65535/TCP 135/TCP RPC 终结点映射程序
1024-65535/TCP 1024-65535/TCP RPC for LSA、SAM、NetLogon (*)
1024-65535/TCP/UDP 389/TCP/UDP LDAP
1024-65535/TCP 636/TCP LDAP SSL
1024-65535/TCP 3268/TCP LDAP GC
1024-65535/TCP 3269/TCP LDAP GC SSL
53,1024-65535/TCP/UDP 53/TCP/UDP DNS
1024-65535/TCP/UDP 88/TCP/UDP Kerberos
1024-65535/TCP 445/TCP SMB
1024-65535/TCP 1024-65535/TCP FRS RPC (*)

如果对域的信任配置为仅支持基于 NetBIOS 的通信,则 Windows 2000 和 Windows Server 2003 也需要为 Windows NT 列出的 NetBIOS 端口。 例如,基于 Windows NT 的操作系统或基于 Samba 的第三方域控制器。

有关如何定义 LSA RPC 服务使用的 RPC 服务器端口的详细信息,请参阅:

Windows Server 2008 及更高版本

Windows Server 2008 较新版本的 Windows Server 增加了用于传出连接的动态客户端端口范围。 新的默认起始端口为 49152,默认结束端口为 65535。 因此,必须增加防火墙中的 RPC 端口范围。 进行此更改是为了遵守 Internet 编号分配机构 (IANA) 的建议。 这不同于由 Windows Server 2003 域控制器、基于 Windows 2000 Server 的域控制器或旧版客户端(默认动态端口范围是 1025 到 5000)组成的混合模式域。

有关 Windows Server 2012 和 Windows Server 2012 R2 中动态端口范围更改的详细信息,请参阅:

客户端端口 服务器端口 服务
49152-65535/UDP 123/UDP W32Time
49152-65535/TCP 135/TCP RPC 终结点映射程序
49152-65535/TCP 464/TCP/UDP Kerberos 密码更改
49152-65535/TCP 49152-65535/TCP RPC for LSA、SAM、NetLogon (*)
49152-65535/TCP/UDP 389/TCP/UDP LDAP
49152-65535/TCP 636/TCP LDAP SSL
49152-65535/TCP 3268/TCP LDAP GC
49152-65535/TCP 3269/TCP LDAP GC SSL
53, 49152-65535/TCP/UDP 53/TCP/UDP DNS
49152-65535/TCP 49152-65535/TCP FRS RPC (*)
49152-65535/TCP/UDP 88/TCP/UDP Kerberos
49152-65535/TCP/UDP 445/TCP SMB (**)
49152-65535/TCP 49152-65535/TCP DFSR RPC (*)

如果对域的信任配置为仅支持基于 NetBIOS 的通信,则 Windows 2000 和 Server 2003 也需要为 Windows NT 列出的 NetBIOS 端口。 例如,基于 Windows NT 的操作系统或基于 Samba 的第三方域控制器。

(*) 有关如何定义 LSA RPC 服务使用的 RPC 服务器端口的信息,请参阅:

(**) 对于不需要此端口的信任操作,它仅用于创建信任。

注意

仅当手动将 Windows 时间服务配置为与外部信任的服务器同步时,才需要外部信任 123/UDP。

Active Directory

当 LDAP 请求长时间未决且等待响应时,Microsoft LDAP 客户端将使用 ICMP ping。 它发送 ping 请求以验证服务器是否仍在网络上。 如果未收到 ping 响应,则 LDAP 请求失败并显示 LDAP_TIMEOUT。

Windows 转发程序还使用 ICMP Ping 消息来验证在建立连接之前以及使用 DFS 定位服务器时,DNS 服务是否已解析服务器 IP。 要最大程度地减少 ICMP 流量,可以使用以下示例防火墙规则:

<any> ICMP -> DC IP addr = allow

与 TCP 协议层和 UDP 协议层不同,ICMP 没有端口编号。 这是因为 ICMP 直接由 IP 层托管。

默认情况下,Windows Server 2003 和 Windows 2000 Server DNS 服务器在查询其他 DNS 服务器时使用临客户端端口。 但是,特定注册表设置可能会更改此行为。 或者,可以通过点对点隧道协议 (PPTP) 强制隧道建立信任。 这会限制防火墙必须打开的端口数。 对于 PPTP,必须启用以下端口。

客户端端口 服务器端口 协议
1024-65535/TCP 1723/TCP PPTP

此外,必须启用 IP 协议 47(通用路由封装)。

注意

为受信任域中的用户添加对信任域上资源的权限时,Windows 2000 和 Windows NT 4.0 行为之间存在一些差异。 如果计算机无法显示远程域用户的列表,请考虑以下行为:

  • Windows NT 4.0 尝试通过联系远程用户域的 PDC (UDP 138) 来解析手动键入的名称。 如果此通信失败,基于 Windows NT 4.0 的计算机会联系其自己的 PDC,然后要求解析名称。
  • Windows 2000 和 Windows Server 2003 还尝试通过 UDP 138 联系远程用户的 PDC 进行解析。 但是,它们不依赖于使用自己的 PDC。 确保所有基于 Windows 2000 的成员服务器和基于 Windows Server 2003 的成员服务器(将授予对资源的访问权限)都具有与远程 PDC 的 UDP 138 连接。

参考

Windows 的服务概述和网络端口要求是宝贵的资源,概述了 Microsoft 客户端和服务器操作系统、基于服务器的程序及其在 Microsoft Windows server 系统中的子组件使用所需的网络端口、协议和服务。 管理员和支持专业人员可以使用本文作为路线图,以确定 Microsoft 操作系统和程序在分段网络中建立网络连接时需要哪些端口和协议。

不应使用 Windows 的服务概述和网络端口要求中的端口信息来配置 Windows 防火墙。 有关如何配置 Windows 防火墙的信息,请参阅具有高级安全性的 Windows 防火墙