HTTP"足够好"非公共服务?

时间:2014-08-26 17:59:35

标签: security http networking https

我在Heroku上创建了一些微服务,所有这些都需要彼此交谈。布局是这样的:

             User making requests
                       |
Service #1 ------ Web server ------ Authentication server
                       |
                  Service #2

因为他们都在Heroku上,所以没有内部网络 - 他们都在广泛开放的互联网上。我怀疑这些内部服务的HTTPS会有点过分 - 可以想象,我不得不担心拦截通信的唯一第三方是:

  1. Heroku(无论如何都拥有我的所有代码和数据)
  2. Heroku的网络提供商(嗯,技术上是AWS)
  3. NSA(他们可能还有我的所有数据)
  4. 假设我愿意承担上述风险,我只使用HTTP作为我的微服务吗?

2 个答案:

答案 0 :(得分:3)

只需使用HTTPS即可完成。

这不是矫枉过正。使用现代处理器,开销很小。是的,您需要证书,但在这种情况下,即使是自签名证书也可以,只要您手动将证书加载到客户端即可。这样就可以验证服务器的身份。

TLS可防止多个载体:

  • 数据泄漏

    恶意的人可以读取您的数据

  • 数据篡改

    恶意的人可以篡改您的数据

  • 服务欺骗

    恶意的人可以伪装成有问题的服务器。

如果你信任基础设施(如果你觉得这很大),那么你不需要担心1或2.但你仍然需要担心3,因为除非你做一切离开vlan上的IP地址,攻击向量可能仍然存在。

但是,当您拥有不必信任它们的工具时,为什么要信任基础架构?

这不像HTTPS贵......

答案 1 :(得分:1)

HTTPS确实是最佳选择。

HTTP

的问题
  • 信息未加密
  • 没有证书,如果有人在您的申请中重新发布他们的dns,那么就没有证据表明您已经与合适的人联系

值得考虑您的观众,他们是否欣赏。

  • 如果它是一个大型应用程序,它必须具备。
  • 如果它非常小 观众,你必须权衡现在做的努力,而不是做 它后来扩展时

请注意,如果它是一个嵌入式系统,使用ssl可能会让人感到痛苦,但这对于心灵来说非常值得。 2美分