所以我join了一个新的团队,开发和运行互联网上提供的服务。 它的目的是B2B的使用,而不是消费者,虽然任何人都可以注册一个低层次的帐户来检查出来(如果你的潜在客户的开发人员不能在西装签订协议之前发挥作用,你不会得到任何地方! )。
我最近了解到,我感到惊讶的是,我期望通过HTTPS服务的一些事情被严格控制的一套客户端证书,而不是通过任何forms的身份validation打开HTTP。 事情就像一个Consul键/值存储,其中一些值是密码,或者一个Docker私有registry,其中一些图像包含私钥(有一个项目正在从图像中删除密钥并在运行时注入它们,但旧的图像仍然在registry中,我不想赌注已被更改的键)。 可能还有类似的其他服务,我还没有find。
我问到这个问题的同事认为这并不理想,但是却相当不关心,因为这些服务只暴露在(第三方托pipe的)数据中心内的私有networking上。 他们不是(如果一切正常)从互联网上路由,感谢上帝。 尽pipe如此,这似乎是一个很大的信任放在networking路由configuration,更不用说如果其中一台服务器确实受到威胁,其访问内部networking意味着其余的坐鸭子。
这是我第一次运行公共服务的演出,直到现在我已经在我们销售软件但是我们的客户安装并运行它的“shrinkwrap”世界工作。 所以我不觉得这是多么糟糕。 我会提高它,并试图让它修复,但我想由一个有更多经验的社区运行生产服务,以校准我应该大声呐喊。 这真的太可怕了,我们应该放下一切,直到它是固定的,或不好,但实际上并不罕见的现实?
作为一个客人发帖,因为我不想给任何线索这是谁的服务:)
我不认为这是一个问题,有一个警告 : 提供连接私有服务器 (无论是虚拟的还是物理的)的networking是交换的 ,这不是什么问题。
我通常的口头禅是, 抽象中没有安全的东西,只有威胁和对此的回应,适当的和其他的。 那么你的威胁模型是什么? 攻击者妥协面向互联网的服务器; 他现在可以做什么?
networking上的SSL(包括HTTPS)提供两种服务,即encryption和身份validation。 encryption不提供对这种威胁模型的保护:只要后端networking切换,攻击者只能看到来自受感染服务器的stream量。 由于这是一个SSL端点,所以无论如何他都能够读取所有的stream量。 身份validation提供了一些好处,但是这只是一个痕迹:即使他们没有使用通常的自签名证书(通常会直接进行身份validation),您也可以相当确信自己确实在与后端服务器交谈,因为您可以控制内部networking,而威胁模型不会指定networking基础架构的渗透。
简而言之,你写道:“ 如果其中一台服务器受到威胁,那么访问内部networking就意味着剩下的就是坐鸭子了 。 这是事实, 但是正因为内部串扰是encryption的,所以也是如此 。
当你向Ryan发表上述评论时,“ 从办公室到私有局域网的访问是通过VPN进行的,生产服务的操作是从专用的Linux笔记本电脑而不是开发者的主要机器上完成的 ,我看到一家公司正在考虑威胁模型和响应,而不是像某种闪闪发光的安全毯一样在密码周围挥动,并假设它们现在是安全的,因为密码。 这听起来像他们努力工作,以确保从安全中受益的位,而不是汗streamdo背。
我和我的一个朋友有过长时间的谈话。 这归结于你在做什么,你的networking是什么样的。
一般:这是不好的。
密码学多年来变得简单易行,所以没有太多的借口没有实施。
这真的取决于你的线路上发生了什么。 这些信息是否需要保密/authentication? 请记住,虽然目的地可能无法路由到互联网 – 您的机器可以。 从技术上讲,如果有人在您和您的目的地之间点击了您的机器或任何路由/交换设备,您的数据就会受到影响。 你应该总是假设,如果你的机器可以连接到互联网,那么外面的人可以拥有你所拥有的全部能力。 只是因为互联网不能直接到达你的私人局域网并不意味着它不能通过妥协你的机器达到它。
这是一个容易争议的话题,但通常不encryption会降低您的安全状态。 如果你能做到,那就做吧。 我会同意,你的情况是相当小的风险,但仍然 – 只是做!