![Windows 服务 - 防火墙中要打开的常用端口](https://linux22.com/image/487735/Windows%20%E6%9C%8D%E5%8A%A1%20-%20%E9%98%B2%E7%81%AB%E5%A2%99%E4%B8%AD%E8%A6%81%E6%89%93%E5%BC%80%E7%9A%84%E5%B8%B8%E7%94%A8%E7%AB%AF%E5%8F%A3.png)
我总是很难找到某些基于 Windows 的软件/服务的防火墙端口信息。例如,http://support.microsoft.com/kb/832017为我提供了端口,但没有区分内部端口(例如 LAN)和外部端口(到互联网)。从桌面到 AD 服务器的防火墙配置无疑会与从 AD 服务器到 AD 服务器的防火墙配置不同,当然,从 AD DNS 服务器到互联网的防火墙配置也会不同。
我想锁定我的台式计算机和服务器之间的接口,然后也锁定服务器之间的接口(AD 到 AD 等)。
我在桌面和服务器之间有一个硬件防火墙,并且服务器交换机也嵌入了防火墙。我希望一开始就不允许任何端口,然后只打开在每个服务器上运行服务所需的端口。我有很多 SQL Server、AD、DNS、Exchange、终端服务等服务器,每个服务器都有略微不同的端口配置,具体取决于它是否与互联网(Exchange、DNS)或本地服务器(Active Directory 复制、CIFS 共享)或桌面(SQL Server、终端服务)通信。
为了使其更加通用(并且对其他人有用),我希望我们可以获得所有常见 Windows 应用程序/服务以及 Internet/dmz(输入/输出)、“受信任”LAN(服务器到服务器)(输入/输出)所需的端口的列表,然后是不受信任的 LAN(服务器到桌面)。
首先,我想介绍几个,请将它们添加到列表中。另外,请说明这是否是 Windows 中的“默认”服务(例如,Exchange 不是,但 SMB 是)。
我从中摘录了一些http://support.microsoft.com/kb/832017 http://technet.microsoft.com/en-us/library/bb124075(EXCHG.65).aspx
Remote Desktop - default if enabled
DMZ - None (usually)
T LAN - 3389 (TCP IN/OUT)
U LAN - None (or selected desktops; IT support etc.)
NT - NetBIOS - default if enabled
DMZ - None
T/U LAN - 137, 138 (UDP I/O), 139 (TCP I/O)
SMB - default
DMZ - None
T/U LAN - 445 (TCP I/O) ?
DNS - only if installed within AD
DMZ - 53 (TCP/UDP O)
T/U LAN - 53 (TCP/UDP I/O)
答案1
您的问题不太清楚,但我会尽力……
需要记住的是,任何程序都可以使用其喜欢的任何端口。这就是间谍软件和恶意软件在某些环境中得以蓬勃发展的原因……通过使用常见的、众所周知的端口并伪装成其他程序。
一个不太恶意的例子是 Skype 程序,它将尝试找到要使用的端口,但如果有必要,最终将使用端口 80(HTTP/web 端口)和 443(SSL 端口)。
考虑到这一点...您应该使用 nmap 或 nessus 等程序对有问题的 PC 进行扫描...(有很多这样的程序)以找出哪些端口是打开的,然后决定如何设置防火墙。
以下是常见端口分配的链接,可为您提供有关该端口上可能运行的内容的起点:
http://technet.microsoft.com/en-us/library/cc959833.aspx
例如,端口 53 通常用于 DNS。如果您不需要 DNS 或者您的计算机上没有运行 DNS 服务器,则可以阻止它。
同样,您应确保您的服务器未运行不需要的服务。如果您发现服务器上的端口 53 已打开,并且您有一个 DNS 服务器(您未使用)正在运行,请将其关闭。;-)
希望这可以帮助。
答案2
我同意 KPWINC 关于端口的观点,任何东西都可以使用任何端口。如果您的目标是保护您的服务器,我会在您的用户和服务器之间放置一个硬件防火墙,并确保它有可以在必须打开的端口上运行的代理。这样,如果流量来自端口 80,防火墙可以查看它是否是 HTTP 流量,如果不是,则将其丢弃。我们使用 Watchguard X1000 来为我们完成这项工作,但我知道还有其他产品。
是的,我已经听到一些人说“但病毒可能会让它们的流量看起来像 HTTP”。没错,但是您的服务器也必须使用 HTTP 服务才能抵御攻击。