尝试将集中式防火墙融入网络拓扑

网络工程 路由 防火墙 设计
2021-07-17 18:00:22

我正在对我们的网络进行大修,我一直回到的问题是:尝试将第 3 层带到核心,同时仍然有一个集中式防火墙。

我在这里遇到的主要问题是我一直在寻找的“迷你核心”交换机的硬件内 ACL 限制总是很低,即使在我们当前的规模下,我们也可以很快达到。我目前正准备(希望)为核心购买一对 EX4300-32F,但我已经看过其他型号,以及瞻博网络和博科的 ICX 系列的其他选项。它们似乎都具有相同的低 ACL 限制。

这是非常有意义的,因为核心交换机需要能够保持线速路由,所以不想通过 ACL 处理牺牲太多。所以我不能在核心交换机上做我所有的防火墙。

但是,我们主要做完全托管的服务器,拥有集中式(有状态)防火墙对这种管理有很大帮助——因为我们不能让客户直接相互交谈。如果可以的话,我想保持这种方式,但我觉得大多数 ISP 网络都不会做这种事情,因此为什么在大多数情况下,在核心中进行路由是直接的。

作为参考,这是我理想中想要做的拓扑(但显然不确定在哪里适合 FW)。

网络

当前解决方案

现在,我们有一个单臂路由器配置。这使我们能够在一处完成 NAT、状态防火墙和 VLAN 路由。很简单的。

通过将 L2 一直扩展到我们网络的“顶部”——边界路由器,我可以继续(大致)相同的解决方案。但随后我就失去了核心可以为我提供的线速路由的所有好处。

IIRC 核心交换机可以执行 464 Gbps 的路由,而如果我幸运的话,我的边界路由器将能够提供 10 或 20 Gbps。从技术上讲,这现在不是问题,而是增长问题。我觉得如果我们现在不设计架构以利用核心路由容量,那么当我们变得更大并且需要利用该容量时,重做一切将是痛苦的。我宁愿第一次就做对。

可能的解决方案

三层接入

我想也许我可以将 L3 扩展到接入交换机,从而将防火墙规则分解成更小的部分,然后适合接入交换机 ACL 的硬件限制。但:

  • 据我所知,这些不会是有状态的 ACL
  • 对我来说,L3 到 Access 似乎更加不灵活。服务器移动或 VM 迁移到其他机柜会更加痛苦。
  • 如果我要管理每个机架顶部的防火墙(只有六个),我可能无论如何都想要自动化。所以在这一点上,在主机级别自动管理防火墙并不是一个很大的飞跃。从而避免了整个问题。

接入/核心之间每个上行链路上的桥接/透明防火墙

这将不得不涉及多个防火墙盒,并显着增加所需的硬件。并且最终可能比购买更大的核心路由器更昂贵,甚至使用普通的旧 Linux 机器作为防火墙。

巨核心路由器

可以购买一个更大的设备,它可以完成我需要的防火墙并具有更大的路由容量。但真的没有预算,如果我想让一个设备做一些它不适合做的事情,我可能不得不去更高的规格。比我否则。

没有集中式防火墙

由于我正在跳过篮球,也许这不值得付出努力。拥有它总是一件好事,有时对于想要“硬件”防火墙的客户来说也是一个卖点。

但是,为“整个”网络设置集中式防火墙似乎是不可行的。那么,我想知道,当他们拥有数百甚至数千台主机时,较大的 ISP 如何为拥有专用服务器的客户提供硬件防火墙解决方案?

谁能想到解决这个问题的方法?是我完全遗漏了什么,还是上述想法之一的变体?

更新 2014-06-16:

根据@Ron 的建议,我偶然发现了这篇文章,它很好地解释了我面临的问题,也是解决问题的好方法。

除非有其他建议,否则我现在会说这是一个产品推荐类型的问题,所以我想这就是它的结束。

http://it20.info/2011/03/the-93-000-firewall-rules-problem-and-why-cloud-is-not-just-orchestration/

2个回答

我会选择以下两种选择之一:

单个租户虚拟防火墙

优点:

  • 水平可扩展
  • 上旋和下旋
  • 相对不受未来拓扑/设计更改的影响
  • 完成客户分离/隔离

缺点:

  • 除非您强制执行标准模板,否则您现在需要管理 n 个单独的防火墙
  • 您现在有 n 个单独的防火墙要监控
  • 您现在有 n 个单独的防火墙要修补

具有每个租户的路由实例/上下文的大型防火墙机箱/集群

部署一个挂在核心一侧的大型中央防火墙(集群),并使用内部外部路由实例来路由流量和返回到它(例如:内部实例上的默认网关是防火墙,默认网关在防火墙是您在核心上的外部实例,外部实例的默认设置是您的边界。)

优点:

  • 单盒管理和配置
  • 单箱监控
  • 单盒打补丁
  • 客户分离

缺点:

  • 第一天的费用会更高
  • 没有缩小
  • 根据配置,客户间流量可能会开始跨边界路由器进行路由

您正在运行哪些核心交换机?策略通常在分布层完成,如果您采用折叠式核心设计,那么核心应该能够处理您的要求。另外,您喜欢有状态检查还是只是 acls。如果您有任何需要遵循的合规性,acls 可能还不够。

就个人而言,我会使用防火墙,也许会寻找可以集群的防火墙,以便您可以将每个集群聚集在一起并维护集中管理的规则库,例如 sourcefire 防火墙。