今天只允许端口 80 和 443 有什么意义吗?

信息安全 网络 防火墙 港口
2021-08-11 20:24:03

对于有安全意识的组织来说,阻止除 80 和 443 之外的所有内容已成为标准费用。因此,越来越多的应用程序(除了 Web 浏览器)也在学习使用这些端口来满足他们的需求。

恶意程序自然也会这样做,这意味着要获得任何真正的安全性,防火墙必须实际检查数据流并根据应用程序数据进行阻止,而不仅仅是端口......

这似乎表明基于端口的阻塞是一种短视的方法,有点像仅在客户端上进行的输入验证......

在这种情况下,我们是否应该停止全面封锁非标准端口,并首先进行更细粒度的过滤......?还是有其他理由保留端口白名单方法?

4个回答

阻止除 80 和 443 之外的所有端口是良好纵深防御策略的一部分。如果这是您唯一的策略,那么您是正确的,那将是一个有缺陷的策略。

一个潜在的示例分层方法可能是

  1. 阻止外部防火墙上的所有端口减去 80/443
  2. 使用内联 IPS(或作为防火墙的一部分)进行数据包分析
  3. 使用 Web 应用程序防火墙清理 Web 应用程序输入
  4. 使用数据库防火墙清理数据库输入
  5. 记录所有内容并将其输入日志管理系统(带有警报)
  6. 备份所有内容(无论您的可用性策略是什么)
  7. 根据您选择的任何基线/基准强化每个操作系统(例如,组织 SOP、CIS/DISA STIGS 等)

这只是一个非常简单的例子。一个好的纵深防御策略有许多层共同构建一个安全系统。

你完全正确。端口 80 或端口 443 并没有什么神奇之处。一个端口或另一个端口,甚至一个或另一个协议都没有内在的安全性。如果您阻止除 HTTP 之外的所有内容,那么每个人都会开始使用 HTTP。攻击者可以而且确实总是比其他任何东西都移动得更快。它们不受维护旧基础设施的限制。

从本质上讲,协议和端口既不安全也不不安全。阻止他们只是另一种形式的安全剧院。

白名单通常比黑名单更可取。如果您只打开您实际需要的端口,并且尽可能限制这些端口,那么您就减少了攻击面并限制了您需要监视的流量。

是的,80 和 443 仍然可以被滥用于恶意流量。但是,您还通过迫使他们通过一个小得多的窗口来提高攻击的标准(至少一点点),并且您可以更容易地关注它。

端口号无关紧要。在任何端口上侦听或连接的应用程序确实很重要。使用网络来限制应用程序攻击向量。

一些建议:

  • 应用程序节点应该可以在具有不同目的和流量配置文件的多个网络上访问:应用程序网络和管理网络。
  • 避免使用端口 < 1024 的应用程序,例如使用 8080 或其他一些随机端口。NAT 到应用程序网络边界(在 LB)的应用程序端口。
  • 使用 iptables 仅允许来自特定负载平衡器 IP(如果您不使用直接路由 LB)或内部服务(您的数据库)的应用程序流量(80、443)。
  • 将 SSH (22) 和其他流量(日志记录)限制到管理网络。
  • 如果可能,对网络进行物理隔离。
  • 不要依赖 DNS 进行应用程序节点配置。
  • 将公司和开发网络与生产网络隔离开来。
  • 监控隔离网络中未经批准的流量。例如:您的应用程序网络上的 SSH 流量表明存在问题。