我来自 Unix 背景,但承担了在面向公众的服务器上配置 Windows 防火墙的任务。
令我感到尴尬的是,我对公共 IP 执行的任何 nmap 扫描都会将从 1 到 65389 的所有 TCP 端口报告为打开,而不管 Windows 默认规则是否允许与规则不匹配的入站连接。
在其中一个配置文件的入站规则上选择“阻止所有连接”后,我甚至被锁定在远程桌面之外,但 nmap 仍然显示:
3389/tcp 打开 ms-term-serv
这如何解释
答案1
您正在扫描分配给路由器/防火墙的公共 IP 地址,一些端口被 NAT/转发到服务器,其余端口则没有。服务器没有响应您的 nmap 扫描,路由器/防火墙有响应,除了那些被 NAT/转发到服务器的端口,这些端口将被报告为开放,正如它们应该的那样。
这就是为什么服务器上所有端口似乎都打开的原因。您需要查看路由器/防火墙配置,以确定 IT 为何将这些端口报告为打开(除了那些通过 NAT/转发到服务器的端口)。
答案2
公共 VPS 不使用服务器前面的“路由器/防火墙”。答案是误导性的。@manthis:如果您不是从本地主机扫描服务器,而是从远程位置扫描服务器 - 终端服务器端口根本无法访问。请检查防火墙是否存在配置错误或故障。
您可以在服务器上打开一个监听器:nc -vlp <portnumber>
尝试从外部访问它,以检查您的防火墙:telnet <serverip> <portnumber>