2

对于我的宠物项目,我决定使用基于服务的架构(是的,流行语 SOA),因为我可以独立于其他服务扩展每个服务,将它们分布在地理上,它们将比其他服务更多地使用,等等。

诀窍在于,某些服务需要彼此私下通信(并与最终用户公开通信)。这些服务将位于不同的数据中心,它们之间没有任何内置的私有管道(我认为 SoftLayer 有这样的)。

我不太关心通信是否由于加密而有点慢。我主要关心 MITM 攻击和窃听。也就是说,我希望服务确信他们正在与朋友服务而不是冒名顶替者交谈。

我看到的这种服务间通信的选项是:

  • 带有 TLS 的 HTTP
  • 带有 TLS 的 TCP/IP(一些自定义协议)
  • 传播工具包(不确定这里的加密)
  • HTTP 或自定义 TCP/IP over SSH 隧道
  • 在数据中心之间创建 VPN
  • 客户证书?证书的相互验证?

显然,我脑子里有很多胡言乱语。帮助!

你怎么看?你以前做过吗?你有什么经验?什么“运作良好”?

如果您选择 VPN,您推荐哪种 VPN 系统?开放式VPN?此类 VPN 系统如何处理临时网络分区?他们会自动修复/重新连接吗?

我想 VPN 解决方案将加密所有连接,但我只想加密一些连接。那么可能需要一个 SSH 隧道。

谢谢你的建议。

4

1 回答 1

2

除非您的数据中心之间有更多的流量,而不仅仅是您的服务相互通信,否则真的不需要设置和维护安全的传输基础设施,如 VPN 或 SSH 隧道,这可能会花费更多,实际上会引起更多的麻烦。

我建议使用SSL 套接字,这样您就不必担心较低层的安全隧道处于活动状态,如果您通过您的服务与其他数据中心通信,它将通过安全连接。在每个数据中心的互联网网关(路由器)之间使用类似 IPsec 隧道模式的方式在数据中心之间添加 VPN 可能是值得的,以增加额外的安全性以及对流量和寻址的更多控制。

于 2010-02-17T03:55:44.770 回答