如何禁用 Windows Server 2012 中的所有入站和出站端口并仅启用特定端口(例如 636、389(LDAP 端口)和远程桌面端口 3389)?
我已经尝试创建一个新的自定义出站规则来阻止所有端口和程序,但是当我启用此自定义阻止规则时,其他规则(允许启用特定端口)不起作用。
同样,我创建了自定义规则来阻止所有入站端口和程序并启用它。这阻止了 RDP 连接和 LDAP 连接,尽管我添加了新规则以允许 LDAP (636,389) 和 RDP (3389) 端口上的传入连接。
答案1
Windows 防火墙不起标准网络防火墙的作用。
如果您有多个规则与您的流量匹配,则无论规则顺序如何,阻止规则都将优先。如果您有同时匹配流量的允许和阻止规则,则它将被阻止。
作为结果,以下规则你可能正在尝试设置不管用因为block
所有 udp/tcp 端口的规则将优先于 RDP/LDAP 允许的规则:
那么,现在该做什么呢?
1) 查看“覆盖”列。那里设置为“否”。您可以将其设置为“是”,但随后您将需要指定允许的计算机或计算机组...根据您的上下文(例如是否为 AD),此选项可能不适用于您:
使用此选项可允许与此防火墙规则匹配的连接覆盖任何明确阻止连接的防火墙规则。此选项也称为经过身份验证的绕过。通常,明确阻止连接的规则优先于允许连接的规则。如果使用此选项,即使另一条规则阻止了该连接,也会允许该连接。此选项最常用于漏洞扫描程序。如果不使用此选项,则任何与相同防火墙规则条件匹配的阻止防火墙规则都将优先,并且连接将被阻止。如果选择此选项,则必须在“用户和计算机”选项卡上指定至少一个计算机或计算机组进行授权。
https://technet.microsoft.com/en-us/library/cc730690(v=ws.10).aspx
2)明确拒绝与您明确需要允许的端口重叠的端口,然后仅允许您需要打开的端口: