防火墙还是不防火墙?

信息安全 网络 防火墙
2021-08-18 09:37:02

最近有一些关于在服务器前部署防火墙的利弊的讨论(大方一点)。缺点主要是在 DDoS 的情况下它是一个故障点。微软一直在谈论取消独立防火墙,而是基于 PKI 和 IPsec 的安全性,这意味着如果你没有适当的证书,你就不能与服务器通信(没有来源,这是我参加的一次谈话)。

那么,假设您有一个简单的场景,例如,一个 Web 服务器、一个邮件服务器和一个支持 Web 服务器的数据库服务器,那么您认为当前的最佳实践防火墙/网络设计是什么?我很清楚大多数部署并不是这么直接的,但我认为这个例子运行良好,可以作为讨论的基础。

知道,传统的理论上的最佳实践是添加尽可能多的防御层——但这是导致最大可用性的设计,所有事情都考虑到了吗?

(假设服务器经过适当加固并且不暴露任何它们不应该运行的服务,交换机不会在安全方程式中添加任何内容,并且管理是带外的或来自云部分图纸的。你喜欢哪个,因为它增加了它自己的复杂性......)

场景#1,简单路由

清晰、路由、无防火墙的设计。边缘路由器可能会应用 ACL,一些速率限制。数据库服务器可能位于无法从 Internet 路由的私有地址上。每个主机都将运行防火墙,例如 Windows 内置iptables等。运行主机的管理员考虑主机周围的环境是敌对的。

布线设计

场景#2,传统防火墙

路由器可能提供也可能不提供任何简单转发数据包以上的功能。防火墙实施完整的策略和分段。主机可以选择具有某种防火墙,但可能不会。运行主机的管理员可能会认为环境安全。

在此处输入图像描述

场景#3,我们真的很喜欢防火墙

与 #2 一样,但更加细分。

在此处输入图像描述

传统上,我一直在建造 #2 或 #1,而且我越来越倾向于 #1。我可能被设计的“简单性”和希望宿主能够在敌对环境中生存的“纯粹性”所吸引。我知道这与纵深防御相反。:)

4个回答

我相信您知道,对于许多安全威胁和/或合规性要求,都存在基于网络和基于主机的缓解控制。

微软本质上是一家面向主机的公司,自然会站在基于主机的安全解决方案一边。在处理人员和应用程序时,传统上会选择基于主机的解决方案。但是防火墙已经改变。Gartner 定义的“下一代防火墙”专为支持用户和应用程序以及传统的 IP、端口和协议策略控制而设计。(我并不总是 Gartner 的粉丝,但他们在 NGFW 上是正确的。)因此,可以控制从第 3 层到第 7 层的访问的 NGFW 将是比基于主机的方法更好的解决方案,这当然是盲目的到较低级别的通信。

我的家乡马萨诸塞州通过了一项非常严格的隐私法。组织正在用户和服务器之间放置 NGFW 以满足其要求。以下是一些法律要求以及 NGFW 如何满足这些要求:

  • 隔离私有数据 - 定义允许您隔离保存私有数据的服务器的逻辑安全区域。

  • 基于应用程序控制对私有数据的访问 - 定义策略以控制允许哪些应用程序访问包含私有数据的服务器。

  • 控制哪些用户可以访问私有数据 - 将防火墙与您的 LDAP 服务器集成,以便您可以定义策略来控制哪些组可以访问私有数据。

  • 检测和阻止威胁 - 此防火墙还应具有威胁保护功能,以监控允许的流量并阻止检测到的威胁。

顺便说一句,根据您使用的防火墙,您可以使用一个物理防火墙创建方案#3。

话虽如此,如果目标是保护个人身份信息 (PII),NGFW 本身并不是完整的答案。首先,您需要找到 PII 所在的位置。

其次,一旦找到所有 PII,您可能希望采取措施将其整合到尽可能少的服务器上。

第三,您可能希望实施控制以防止 PII “停留”在最终用户工作站上并从用户传输给其他人。

第四,您可能想要添加一个特定的数据库访问控制来监控 100% 的数据库访问。这必须是基于主机的控件。没有其他方法可以确保您监控所有内容,包括视图、存储过程和触发器。

我的经验主要是在大型全球银行,所以这可能并不适合所有人,但他们的典型场景非常像#3,除了更加隔离,所以有多个 DMZ,通常按功能、风险状况、部门所有者隔离或其他标准。

此外,连接到 Internet 的所有内容都会被复制,因此您至少有两个连接,通常是来自不同提供商的 MPLS 服务,阻塞路由器加入负载均衡器,VPN 加速可以直接在负载均衡器内部或外部,具体取决于结构.

然后,外部防火墙集为 Web 服务器等提供隔离的 DMZ,内部防火墙为数据库提供保护。在某些情况下,还有一个额外的层,即应用服务器,但随着应用程序越来越多地构建到 Web 服务器中,这些应用程序正在慢慢消失。

一组单独的连接,利用单独的防火墙或反向代理,将用于内部用户向外连接,另一组防火墙用于远程访问连接。

如果我不得不审查一家至少没有这些组件的全球性银行,我会非常担心他们为什么没有采取适当的措施,而 IT 审计会对为什么企业不能提供有趣的评论依靠安全的环境。

我对该理论的最大问题(我听说过类似的论点)是,如果您移除防火墙,您仍然可以对应用程序服务器进行 DoS。

一个后续问题是:您能否在面向 Internet 的 Web 服务器上成功使用 IPsec 和 PKI?

我还认为,通过添加纵深防御措施,从定义上讲,您可以提高可用性,但仅限于那些如果您做得正确就应该拥有它的人。

话虽如此,我偏爱方案#2,但没有通过开关分隔邮件/Web 和数据库服务器。如果网络上有其他服务器和客户端,我还会在它们之间添加防火墙以创建 DMZ。之后,我还建议添加冗余防火墙和交换机。

近年来我配置的每个服务器操作系统都有一些防火墙功能,几乎每个路由器也是如此。毫无疑问,在盒子上配置限制访问是个好主意。当然,最好的做法是不要运行不必要的服务。

然而,有些东西可能被认为是防火墙的功能,在这个级别上不容易实现(例如 AV 过滤)。但是同样有一些工具会以额外的 CPU 为代价在服务器上运行,而不是以另一个网络跃点为代价。但是,如果您正在运行可能会受到损害/需要维护可用性的服务,那么您应该已经在运行集群而不是单个节点。

恕我直言,MS winsock.dll 在防火墙外部仍然暴露出非常多的复杂性——但这可能是一个特例。

有一个强有力的论据支持将瓶颈作为对 DOS 的保护,尤其是对 DDOS 的保护——它使实时识别和阻止变得更加简单。它不一定是 SPOF。

在较大的组织中,拥有和管理独立于服务器的安全盒通常被视为一种好处 - 恕我直言,这是一个错误的前提 - 安全应该无处不在 - 有很多人想向您推销一个神奇的盒子,这使得您的系统是安全的——但它们无助于解决应用程序级别的大多数问题。

如果是我设置您描述的服务器(撇开每台服务器似乎都是单点故障这一事实不谈),我不会将数据库连接到与路由器相同的网络 - 我会运行 2 层与内部的数据库建立网络。