客户端登录时需要访问域控制器上的哪些端口?

客户端登录时需要访问域控制器上的哪些端口?

我们目前正在对网络进行分段。我们将把服务器移到与客户端不同的子网中。当然,客户端仍然需要访问域控制器才能对其进行身份验证。

我找到了多篇关于域控制器之间需要访问哪些端口才能进行复制的文章,但没有一篇关于对客户端重要的端口的文章。例如,我很确定客户端不会直接访问 LDAP 数据库,我想尽可能减少攻击面。

那么客户端需要哪些端口才能与域控制器一起工作?

答案1

tcp/53 DNS  
tcp/88 Kerberos  
tcp/135 RPC  
tcp/445 sysvol share  
tcp/389 LDAP  
tcp/464 Kerberos password (Max/Unix clients)  
tcp/636 LDAP SSL  (if the domain controllers have/need/use certificates)   
tcp/1688 KMS (if KMS is used.  Not necessarily AD, but the SRV record is in AD and clients need to communicate with the KMS).  
tcp/3268 LDAP GC
tcp/3269 LDAP GC SSL (if the domain controllers have/need/use certificates)   
tcp/49152 through 65535 (Windows Vista/2008 and higher) aka “high ports”  

udp/53 DNS
udp/88 Kerberos
udp/123 time  
udp/135 RPC  
udp/389 LDAP  
udp/445 sysvol share  

您可以通过为 Active Directory 配置静态 RPC 端口来最小化高端口范围。

将 Active Directory RPC 流量限制到特定端口
https://support.microsoft.com/en-us/kb/224196

强制 Kerberos 仅使用 tcp/ip 通常是一个好主意,特别是当您拥有大型、复杂的网络,或者帐户是大量组/大型令牌的成员时。

如何在 Windows 中强制 Kerberos 使用 TCP 而不是 UDP
https://support.microsoft.com/en-us/kb/244474

答案2

客户端将需要访问 Kerberos,因此是 TCP 88。然后是全局目录服务,因此是 TCP 3268。有 KPassword 服务 TCP 464(这允许更改密码)。然后是 LDAP 端口 TCP 389,客户端仍然需要访问它来帮助定位域控制器。

还有用于 Kerberos (88) 和 KPassword (464) 的 UDP 端口,我不确定是否需要这些端口。请先尝试不使用它们。

相关内容