通过防火墙使用 Active Directory

通过防火墙使用 Active Directory

我今天遇到了一种奇怪的设置,我想在充当 Active Directory 域控制器的 Windows 2003 R2 SP2 计算机上启用 Windows 防火墙。

我在互联网上没有看到任何资源列出执行此操作所需的内容,所以我想在这里列出它们,看看是否有人需要添加任何内容/看到一些不必要的东西。

使用“子网”范围开放的端口:

  • 42 | TCP | WINS(如果使用)
  • 53 | TCP | DNS
  • 53 | UDP | DNS
  • 88 | TCP | Kerberos
  • 88 | UDP | Kerberos
  • 123 | UDP | NTP
  • 135 | TCP | RPC
  • 135 | UDP | RPC
  • 137 | UDP | NetBIOS
  • 138 | UDP | NetBIOS
  • 139 | TCP | NetBIOS
  • 389 | TCP | LDAP
  • 389 | UDP | LDAP
  • 445 | TCP | SMB
  • 445 | UDP | SMB
  • 636 | TCP | LDAPS
  • 3268 | TCP | GC LDAP
  • 3269 | TCP | GC LDAP

在“任意”范围内打开的端口(针对 DHCP)

  • 67 | UDP | DHCP
  • 2535 | UDP | DHCP

另外,您需要限制 RPC 使用固定端口,而不是所有 > 1024 的端口。为此,您需要添加两个注册表项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
Registry value: TCP/IP Port
Value type: REG_DWORD
Value data:  <-- pick a port like 1600 and put it here

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters 
Registry value: DCTcpipPort
Value type: REG_DWORD
Value data: <-- pick another port like 1650 and put it here

...不要忘记在防火墙中添加条目以允许(TCP、子网范围)内的条目。

完成所有这些后,我能够将客户端计算机添加到 AD 域(Windows 防火墙后面)并成功登录。

答案1

如果需要,您可以通过以下几种方式限制 RPC 端口范围:

  1. IPSec。在我看来这是更明智的方法,但许多地方在公司网络内部并不使用 IPSec,而且许多网络监控/安全人员不喜欢它。
  2. 限制端口范围。这种方法有效,但配置起来非常麻烦,并且会对性能产生一些影响。

答案2

我已经用这些端口完成了此操作。已经有一段时间了,我不确定我是否加入了域,或者这是否允许机器在加入后在同一个子网中与 DC 进行通信。

TCP 端口:

1351393894451026

UDP 端口:

53 88 123 389

答案3

来自微软知识库:

对于 Active Directory:http://support.microsoft.com/kb/179442

限制 RPC 使用的端口:http://technet.microsoft.com/en-us/library/bb727063.aspx

答案4

我觉得不错,我的 0.02 美元还取决于您所说的“使用 AD”是什么意思。如果您只需要信任(只需要 445 来创建信任)或 LDAP,而实际上在防火墙的另一侧没有域成员机器,那么您可能能够删除 137/138/139/445(文件共享)。

相关内容