如果我有多个 AWS EC2 和 Azure 实例在不同的区域运行。我正在使用 rabbitmq 在它们之间交换消息。我应该担心添加 TLS 并加密这些连接吗?
换句话说,如果服务器 A 在 AWS us-east 上,而服务器 B 在天蓝色,如果他们在没有加密的情况下交换信息会有多糟糕?只有互联网服务提供商和亚马逊/微软才能看到未加密的数据是否正确?
我显然会加密任何与客户打交道的东西。我只是对 2 个后端服务器互相交谈感到好奇。
编辑
谢谢你们的帮助。我知道如何加密连接以及如何设置 VPN。对不起,我错误地表达了这个问题。
我只是想知道谁能看到这些服务器之间的流量。为什么会有风险?我知道这将是有风险的,我相信你哈哈。我只是想知道为什么。另外,生成我自己的 ssl 证书并在每台服务器上信任它会有多糟糕。
是的。
现代安全思想是,您不认为自己的网络/数据中心更受信任(比您的 WAN 或常规互联网)。
传统上,在您自己的网络的“安全”范围内,数据中心允许更宽松的安全标准。内部系统和用户都将受到信任,隐含地期望它们是安全的,绝不会滥用或恶意。一个只添加了例如 TLS 用于跨越“安全”内部网络的边界和边界的连接。
如今越来越流行的安全概念是“零信任”之一,它摒弃了安全可信的内部网络/系统/用户的概念,并在任何地方都应用同样严格的安全级别。
因此,对于两个相互交换信息的后端服务器:
回应您的编辑
除非亚马逊和微软拥有自己的物理数据中心互连,否则 AWS 和 Azure 云之间的流量将通过公共互联网路由和/或传输由第三方运营的一个或多个网段。由于路由协议和互联网的工作方式,您的流量所采用的确切路径以及可能随时更改的第三方。
当您不设置传输加密时,流量将以明文形式显示,任何有权访问任何段的人都可以轻松窃听。
根据利害关系,人们无法将端到端不可见的物理网络标记为“可信”。
对于视力一般的人来说,这相当于一张桌子上两台计算机之间的电缆。
从某种意义上说,如果您对网络进行操作、管理和物理控制,就可以将其标记为“可信”。
互联网不仅由多方拥有、控制和运营。人们甚至无法确定今天数据包在 A 点和 B 点之间所走的路径明天是否相同。
同一城市的两个不同数据中心之间的数据包可以路由通过另一个大陆。即使这些数据中心之间有专门的直接连接,这种情况也可能发生。直接连接可能会以多种方式失败或受到损害,并且连接将通过其他方式保持。
然后,还有诸如https://en.wikipedia.org/wiki/BGP_hijacking之类的东西——一种将感兴趣的流量路由到攻击者控制的设备的攻击。
从安全的角度来看,如果连接离开数据中心/服务提供商,保护连接是合理的。这可以通过向双方添加 SSL/TLS 来完成。您还可以建立相互身份验证(客户端/服务器证书)。另一种方法是在主机之间建立 VPN 连接并通过隧道传输整个通信。