在公共IP上build议的最小开放端口configuration

让我们假设一个Linux服务器,它具有一个由ISP(或其他服务器)分配给它的公共IP,以及一般规则/心态来closures所有不必要的端口/协议。

显然,与提供的服务有关的端口应该保持打开状态,也就是说,一个web服务器应该可以在TCP 80,443,8080等上访问。让我们添加ssh来pipe理“明显的组”。 这不是这个问题的重点。

是否有一个端口/协议列表应保持打开,以便服务器在其networking内正常运行?

例如:如果ISP或networkingDHCP服务器想要重新分配一个新的IP,可能是UDP 68? 可能是networking故障排除的ICMP?

我意识到这是一定的意见,但也许有一个共识。 谢谢。

正如以前的答案所述,除非需要,否则应保持所有端口都closures。

我想补充两点:

  • 连接性:我会确保保持ICMP允许(这不是一个完全的端口打开,但确保你没有防火墙),因为有networking调整,需要它(正如这篇不错的文章 ,也是这个 ) 。 ICMP不仅用于ping和诊断。
  • 安全性:我build议在一个通用操作系统的服务器前总是有某种前端设备或主机。 任何一种防火墙设备,甚至是一个正确configuration的路由器,都会大大减less附加的表面,并放松(但不会消除)保持你的服务器真正与内核和networking堆栈软件的修补程序的最新的需要。

希望能帮助到你!

closures所有端口默认情况下。 理想情况下,你将在Linux服务器和ISP之间有一个防火墙设备来提供NAT / PAT,stream量检查,访问规则等。你将需要这个粒度级别的控制,并且有很多防火墙选项。 然后,您可以build立到防火墙的VPN连接,然后“私下”pipe理服务器,而不是通过公共Internet。 我的2美分。