防火墙传出连接有什么意义?

Ont*_*nio 12 ftp firewall port

我有一个防火墙 ( csf ),可让您分别允许传入和传出 TCP 端口。我的问题是,为什么有人想要关闭任何传出端口?

我知道默认情况下,您可能希望为传入连接关闭所有端口。从那里开始,如果您正在运行 HTTP 服务器,您可能需要打开端口 80。如果您想运行 FTP 服务器(在主动模式下),您可能需要打开端口 21。但如果它设置为被动 FTP 模式,则从 FTP 客户端接收数据连接需要一堆端口......等等以获得额外的服务。但仅此而已。其余与服务器提供的特定服务无关的端口,特别是如果您主要是客户端计算机,则必须关闭。

但是传出连接呢?为出站连接关闭目标端口是否有任何安全收益?我问这个是因为起初我认为关闭所有端口与传入连接非常相似的策略可能适用。但后来我意识到,当作为被动 FTP 模式的客户端时,例如,随机高端口尝试连接到 FTP 服务器。因此,通过在客户端阻止这些高端口,您可以有效地禁用该客户端中的被动 FTP,这很烦人。我很想只允许一切传出,但我担心这可能是一个安全威胁。

是这种情况吗?这是一个坏主意,还是仅为传出连接打开所有(或许多)端口以促进被动 FTP 等服务的明显缺点?

roa*_*ima 29

有人可能想要关闭传出端口的原因可能有很多。以下是我在不同时间应用于各种服务器的一些

  • 该机器位于只允许出站 Web 流量和通过代理进行的企业环境中。所有其他端口都关闭,因为它们不需要。
  • 这台机器正在运行一个带有可执行代码的网络服务器(想想 PHP、Ruby、Python、Perl 等)作为缓解可能的代码缺陷的一部分,只允许预期的出站服务。
  • 机器上运行的服务或应用程序尝试连接到远程资源,但服务器管理员不希望它这样做。
  • 良好的安全实践:应拒绝未明确允许的内容。


dr_*_*dr_ 20

扩展@roaima的回答:

纵深防御。

想象一下,一台服务器受到恶意软件的攻击。恶意软件会安装一个程序,开始尝试发送垃圾邮件。通过拒绝端口 25 上的传出连接,您可以阻止程序尝试这样做,并限制损坏。(尽管垃圾邮件程序继续在服务器上运行,必须尽快处理。)


WoJ*_*WoJ 8

如果您的服务器受到恶意软件的攻击,它通常希望与其命令和控制进行通信以获取要部署的有效负载(勒索软件、横向移动、垃圾邮件、比特币挖掘等)。

如果它无法访问 Internet,则尝试可能会失败。如果恶意软件足够通用而不关心它在哪里(即这不是有针对性的攻击),则概率更高。

  • 虽然在这里,仅仅通过 _ports_ 过滤,这个问题似乎主要谈论,可能还不够。例如,允许在某处传出 HTTP(S) 连接可能是系统运行所必需的(例如加载更新),但允许它们_任何地方_也将允许恶意软件通过 HTTP(S) 打电话回家。并不是说我知道他们现在用什么打电话回家,但无论如何。 (2认同)