如何确定需要打开哪些防火墙端口才能通过 Web 访问远程系统?

如何确定需要打开哪些防火墙端口才能通过 Web 访问远程系统?

我是一名 Web 开发人员,正在与一位客户合作,该客户拥有一个位于特定 IP/URL 的 Web 服务。防火墙会过滤对该服务的访问,因此我们需要几台本地计算机和 Web 服务器才能访问远程服务器。我们为所有计算机提供了 IP,客户询问我们需要打开哪些端口。此时我不知道该说什么,因为我对服务器/网络/安全的了解基本到此为止。

我们的环境很简单:

3 台运行 ASP.NET 4.0 的本地开发机器。远程服务为网站提供数据,因此我们只需使用 SOAP 消息进行 HTTP POST 并接收响应即可。

我们的网络服务器是 VPS,它也需要能够访问这个安全 IP。

我的问题是:

我如何找到需要打开的问题端口?我建议使用 80(因为我认为这是网络流量所必需的),网络管理员表示担心打开此端口进行流量。

任何帮助都将不胜感激!

答案1

端口 80 是 HTTP 流量的标准端口

端口 443 是 HTTPS 流量的标准端口

如果您的应用程序在这些标准端口上运行,那么您需要打开这些端口。如果另一端的管理员出于某种原因无法打开这些端口,您应该要求他解释原因,因为这种情况非常常见。

答案2

如果 URL 以 https 开头且没有附加“:”数字,则为 443。

如果 URL 以 http 开头且没有附加“:”数字,则为 80。

如果 URL 附加有“:NUMBER”,则该数字就是需要打开的 TCP 端口号。

防火墙管理员可能与 Web 服务器管理员不是同一个人。否则他/她会知道他的 Web 服务监听哪个端口。

答案3

TCP 端口 80(用于 http)和 TCP 端口 443(用于 https)是标准的。您可以在服务器上运行“netstat -an”以查看服务器是否正在监听这些端口。您将看到类似以下内容:

Proto  Local Address          Foreign Address        State
TCP    0.0.0.0:**80**            0.0.0.0:0              LISTENING

端口 80 非常常见,我看到您的管理员唯一关心的是服务器是否不在 DMZ 中,而是在内部 VLAN 中。

答案4

人们会认为远程服务器的网络管理员知道要打开哪些端口,以便有人可以访问他的网络服务器。

如果他将您的 IP 地址列入白名单,那么这将非常严格且安全。我不确定他打开端口 80(或他的 Web 服务器使用的任何端口)会遇到什么其他问题。

他指的是从您的 IP 进行连接的传出端口吗?这听起来不必要,而且限制性非常强,除非您对网络有更精细的控制(即,您想在端口和 IP 上配置源 NAT),否则您将无法控制传出端口。

相关内容