![在不增加太多延迟的情况下保护数据中心的网络流量的可能性](https://linux22.com/image/760868/%E5%9C%A8%E4%B8%8D%E5%A2%9E%E5%8A%A0%E5%A4%AA%E5%A4%9A%E5%BB%B6%E8%BF%9F%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E4%BF%9D%E6%8A%A4%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83%E7%9A%84%E7%BD%91%E7%BB%9C%E6%B5%81%E9%87%8F%E7%9A%84%E5%8F%AF%E8%83%BD%E6%80%A7.png)
我正在寻找保护数据中心中时间关键型应用程序组件网络流量的可能性(及其优缺点)。目的是将攻击者设法破坏虚拟机时可能造成的损害降至最低。应无法读取其他(未受破坏的)虚拟机之间的流量。这可以通过加密或限制网络访问来实现。
我们有一个 VMware 环境、多个 ESXi 主机和一个 Fortigate 防火墙。部分内部流量尚未加密,因为应用程序会依次打开多个连接。而且整个过程存在延迟限制。
由于延迟限制,每个连接(简单)使用 TLS 不是一个选择。也许可以在所有系统上使用代理来实现,这些代理可以保持 TLS 连接打开,而不管应用程序正在做什么。
我猜想在所有相关系统(大约 50 个)之间使用 VPN 将是一场管理噩梦。我们使用 keepalived,这可能使 VPN 解决方案变得更糟。
我还考虑使用永久 ARP 条目来防止 ARP 欺骗。VMware 可以防止 MAC 欺骗。这不会增加任何延迟,并且应该可以避免加密的需要。但它与 Fortigate 配合使用效果不佳,与虚拟 IP 配合使用效果也不好。
我对所提到的方法以及其他我尚不清楚的方法的观点很感兴趣。
其他拥有微服务和时间限制的组织会怎么做?我不需要陈述最佳解决方案是什么。我想知道哪些方案已被证明是可行的(不可行的)。
答案1
听起来你正在寻找现在所谓的“微分段”,作为零信任架构的一部分。
基本上,使用传统分段(防火墙和 vLANing)可以限制子网之间的通信 - 除非满足给定条件,否则可以阻止某人进行通信。在微分段中,可以对位于同一子网内的应用程序/服务进行流量限制和/或检查。这最容易在虚拟机管理程序级别实现,因为虚拟机管理程序可以本地查看往返于其客户机的所有流量。
零信任指的是古老的安全格言“不信任任何人”,甚至你自己的系统也不信任。你扩展了最低限度的信任,基本上相当于“需要知道”信息的操作。应用服务器只能作为对 TLS 请求的响应与外界通信,其他任何事情都不允许——等等。你将信任限制在明确的操作要求上,不允许更多。
举个例子,您可以使用微分段来表示前端应用服务器 A 可以与中间层逻辑服务器 A 通信,而中间层逻辑服务器 A 又可以与数据库服务器 A 通信。但前端服务器无法直接与数据库服务器通信。而且前端 A 无法与前端 B 通信,即使它们位于同一子网中。
VMware 最近大力推广在其平台上使用微分段。听起来你应该看看:https://www.vmware.com/solutions/micro-segmentation.html
这绕过了加密的会话创建时间限制。此外,它还能做到加密无法做到的事情。(VPN 或 SSL/TLS 保护传输中的数据,但实际上并没有限制攻击者在“安全”网络内可能造成的危害。具有有限信任的分段限制了攻击者可能采取的后续步骤——基本上,他们每次尝试转向新向量时都必须击败新的防火墙。)而且,这一切都是在虚拟机管理程序/网络级别完成的;这意味着您不必重写应用程序即可使用它。在基础设施级别进行设置,让您的应用程序继续执行它们正在执行的操作。
答案2
基本上,VPN 对性能的影响与 TLS 类似。因此,您需要延迟更低的解决方案。
您可以使用 ESXi 防火墙。(基本上,vmware 技术与 Linux 有点相似,并且可以在网桥和其他虚拟网络组件上进行 L2 和 L3 过滤)。
您可以使用一种网络分段 - 使用分配给不同客人组或客人的多个网络适配器可能会产生一些额外的障碍。
您可以使用一些 VLAN 设置,但恕我直言,这是一种有点高估的策略。