我想知道在 Windows WebServer 2008 上可以/应该关闭哪些端口。端口 80 当然不能关闭,3389 也不能关闭,因为我需要远程桌面连接。
netstat
告诉我服务器正在监听以下端口:
TCP 0.0.0.0:80 0.0.0.0:0
TCP 0.0.0.0:135 0.0.0.0:0
TCP 0.0.0.0:445 0.0.0.0:0
TCP 0.0.0.0:1311 0.0.0.0:0
TCP 0.0.0.0:3389 0.0.0.0:0
TCP 0.0.0.0:49152 0.0.0.0:0
TCP 0.0.0.0:49153 0.0.0.0:0
TCP 0.0.0.0:49154 0.0.0.0:0
TCP 0.0.0.0:49155 0.0.0.0:0
TCP 0.0.0.0:49156 0.0.0.0:0
TCP 0.0.0.0:49160 0.0.0.0:0
TCP xxx.xxx.xxx.xxx:139 0.0.0.0:0
TCP xxx.xxx.xxx.xxx:139 0.0.0.0:0
TCP [::]:80 [::]:0
TCP [::]:135 [::]:0
TCP [::]:445 [::]:0
TCP [::]:1311 [::]:0
TCP [::]:3389 [::]:0
TCP [::]:49152 [::]:0
TCP [::]:49153 [::]:0
TCP [::]:49154 [::]:0
TCP [::]:49155 [::]:0
TCP [::]:49156 [::]:0
TCP [::]:49160 [::]:0
有什么是一定不能活跃的吗?
编辑:一些澄清:
我想要的是公共网络服务器,提供 http(非 https)请求,并具有远程桌面访问权限。它不是邮件/交换或内联网服务器。
答案1
最安全的 Web 服务器是完全不开放任何端口的服务器。但这样一来,该服务器就无法与外界进行交互。我猜你的问题的答案是,只有需要开放的端口才应该开放。
如果 netstat 显示这些端口是打开的,那么您需要了解每个端口的用途并确定是否需要打开它们,以允许服务器执行其需要的操作。
最终,这一切都取决于您的服务器需要做什么。如果它是 Web 服务器,那么端口 80 和 443 肯定需要打开,但如果它只是一个电子邮件网关,则不需要。
明确您的服务器需要做什么,然后确定需要打开哪些端口才能执行这些操作。关闭所有端口(如果您只有远程访问权限,则 3389 除外)然后只打开那些需要的端口,这样也许会很值得。
如果您仅提供 HTTP 页面,则唯一需要打开的端口是 80(对于 RDP,则为 3389)。如果您还为这些页面提供 DNS,则需要为此打开端口、FTP 等
答案2
确实还有其他问题需要首先回答。
- 该服务器在域上吗?
- 它在 DMZ 中吗?
- 您是否提供 HTTPS 页面?
- 它是否为内部网站提供服务?
- 它是否为公共网站提供服务?
- 它是同时做这两件事吗?
445 用于 Microsoft-DS (SMB over TCP)。您需要从域访问此计算机上的共享吗?此计算机是否需要访问域中的共享?
我想你也应该打开 443(通过 TLS/SSL 的 HTTP)
再次强调,更多的背景信息将带来更好的答案