将服务网格视为安全工具

常杰仁
导读 如果你喜欢最安全的工作,你的机会很大,因为你开始抑郁,因为微服务有点小,也可能很多。从软件架构师的角度来看,微服务架构——,即利用

如果你喜欢最安全的工作,你的机会很大,因为你开始抑郁,因为微服务有点小,也可能很多。从软件架构师的角度来看,微服务架构——,即利用REST构建大量小型、分布式、模块化组件的架构——,是非常强大的。

你是想在不关闭整个应用程序的情况下快速更改组件,还是想添加新功能来飞行?微服务促进这些目标。您可以独立地修改(或添加)您感兴趣的特定服务,而不必重新构建一个大型的整体应用程序。

当然,这一点的缺点是,从安全管理的角度来看,可能是一场噩梦。这有几个原因。对于安全架构师来说,这是一个挑战,因为我们最有效的工具之一——应用威胁建模3354依赖于从攻击者的角度分析组件之间的交互。

这样做的前提是随着时间的推移保持一个或多或少恒定的通信渠道。如果开发人员每五分钟推送一次更新,并且服务之间的路径发生变化,那么威胁模型仅在该时间点有效。如果你曾经尝试过威胁模型(并保持更新),这是一个快速增长的应用程序,大量使用微服务,那么你就可以确切地知道它有多令人沮丧。

从运营的角度来看,这也是一个挑战。在幕后,最常见的实现微服务的方式是Kubernette业务流程的Docker。这意味着实际运行服务的容器是短期的:添加一个新容器来容纳增加的负载,并重新部署容器来容纳应用程序的更改或更新的配置。

为了说明这一挑战,假设几天前您收到了入侵检测系统警报、日志条目或可疑活动。哪些主机/节点真正参与了哪些主机/节点,它们的状态如何?

想搞清楚可能是为了抓住机会:等你到了那里,那些集装箱可能已经被盖好,重新部署了好几次。除非从警报中明确什么是透明的(什么时候是透明的?)您的事件解决方案现在依赖于从过去的某个时间到高度复杂的系统状态的逆向工程。

幸运的是,服务网格架构是对此有很大帮助的最新技术之一。服务网格作为一种设计模式,实际上可以在几个方面给安全从业者提供很多帮助。对开发者来说很强大,但对我们安全领域来说不更强大也是3354。

什么是服务网格?有一种方法可以把它想象成你的服务的“流量调度员”。当一个服务想要与另一个服务通信时,有两种选择。选项1:它知道存在的所有其他服务,并实现与之对话的逻辑。方案2:需要其他人来做这项工作。

想想,就像寄信一样。如果我想给肯塔基州的表哥寄信,可以给我写信,上车,开到他家,交给他。这取决于很多事情:我知道他的地址,有车,准备离开,想办法去他家,知道他是不是要搬家,等等。这只是效率低下。

最好的办法是给我写这封信和地址,让邮局来做这件事。让他们保管好必要的物资和投递设备,让我专注于我真正关心的事情:我的信在哪里?

明智地执行——:有许多方法可以做到这一点,但最常见的方法是通过“Sidecar”容器。什么是边车集装箱?它只是另一个容器3354,一个运行代理的容器,被配置为在服务之间传递流量。这意味着它被配置和部署为将消息的“交付”与应用程序逻辑分开。

从应用程序开发的角度来看,好处应该是非常明显的:开发人员可以专注于业务逻辑,而不是基于“东西”通信(即服务之间的通信)的机制。不过在安全性方面还是有优势的。

值得注意的是,它提供了监控和其他安全服务之间的链接。这可以在不调整单个服务的应用程序逻辑的情况下添加(或者,事实上,甚至不需要知道)。因此,例如,如果我想允许服务A仅使用TLS和可靠的身份验证与服务B对话,我可以这样做。类似地,如果我想记录在给定的时间点哪个版本的容器与另一个容器对话,我可以配置它告诉我。

如果它听起来吸引你,它应该是。事实上,它代表了在安全世界中很少发生的事情:它使开发人员能够以更安全的方式而不是更安全的方式做事。

开发人员发现它很有吸引力,因为他们不必为与其他服务的通信提供详细的通信和交付物流信息。此外,它增加了安全选项,否则我们将不得不在应用层实现它们。

因此,如果您的组织正在考虑微服务,服务网格架构实际上可以帮助您保护环境。如果你已经在用了,知道它是什么可以帮助你融入对话,给你一些缓解微服务一些“痛点”的工具。\r\r\r\r\r\n

唯一的一点是,学习新的工具集并使架构工具适应新的模型确实需要一些准备。无论您使用的是Istio envoy、Linkerd还是其他内容,首先都会要求您阅读文档,以了解可用的功能、工具集的工作方式以及可用的策略/配置选项。这是一个好主意,因为您需要验证配置只是时间问题。

另外,如果你还

如果您打算对您的应用程序建模,您可能需要考虑新的范例,这总是一个好主意。

具体来说,在你的数据流分析中更符合逻辑的观点——也许是通过分别分析每个服务的输入和输出,而不是假设‘服务A’只会与‘服务B’连接(或者更糟,假设服务之间的静态流量是基于应用在给定时间点的操作)。

关键是,安全专业人员不仅应该害怕服务网格,还应该考虑积极地拥抱它。

EdMoyle是Prelude College的总经理兼首席内容官。自2007年以来,他一直是ect新闻网的专栏作家。他在计算机安全方面的广泛背景包括在取证、应用渗透测试、信息安全审计和安全解决方案开发方面的经验。ED是《面向开发人员的加密库》的合著者,作为一名作者、公共演讲者和分析师,他经常为信息安全行业做出贡献。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!