Architecture 我应该如何通过数据中心之间的服务间通信来保护SOA?

Architecture 我应该如何通过数据中心之间的服务间通信来保护SOA?,architecture,encryption,ipc,soa,vpn,Architecture,Encryption,Ipc,Soa,Vpn,对于我最喜欢的项目,我决定采用基于服务的体系结构(是的,流行词SOA),因为我可以独立于其他服务扩展每个服务,将它们分布在比其他服务更易使用的地理位置,等等 诀窍在于,一些服务需要彼此私下通信(并公开与最终用户通信)。这些服务将位于不同的数据中心,它们之间没有任何内置的专用管道(我认为SoftLayer有这样的功能) 我不在乎通信是否因为加密而有点慢。我最关心的是MITM攻击和窃听。也就是说,我希望服务人员确信他们是在与朋友服务人员交谈,而不是某个冒名顶替者 在我看来,服务间通信的选项有: H

对于我最喜欢的项目,我决定采用基于服务的体系结构(是的,流行词SOA),因为我可以独立于其他服务扩展每个服务,将它们分布在比其他服务更易使用的地理位置,等等

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

我不在乎通信是否因为加密而有点慢。我最关心的是MITM攻击和窃听。也就是说,我希望服务人员确信他们是在与朋友服务人员交谈,而不是某个冒名顶替者

在我看来,服务间通信的选项有:

  • HTTP与TLS
  • 带有TLS的TCP/IP(某些自定义协议)
  • Spread Toolkit(此处不确定加密)
  • HTTP或自定义TCP/IP over SSH隧道
  • 在数据中心之间创建VPN
  • 客户端证书?相互验证证书
很明显我脑子里有很多胡言乱语。救命啊

你觉得怎么样?你以前做过这个吗?你的经历是什么?什么“效果好”

如果您选择VPN,您推荐哪种VPN系统?OpenVPN?如何使用此类VPN系统处理临时网络分区?它们是否自动修复/重新连接

我想VPN解决方案将加密所有连接,但我只想加密一些连接。也许SSH隧道已经准备好了


感谢您的建议。

除非您的数据中心之间的通信量比您的服务之间的通信量大得多,否则您真的不需要设置和维护安全的传输基础设施,如VPN或SSH隧道,因为这些基础设施的成本可能更高,而且实际上会引起更多的麻烦


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

自从我问了这个问题后,我得出了相同的结论。SSL是我将采用的方法。谢谢。不是推拉,但为什么平台很重要?