Service Mesh对企业安全而言意味着什么?

你据说过Service Mesh(服务网格)吗?安全

我相信你据说过。Service Mesh正成为容器生态圈愈发重要的一部分。网络

本文将简要概述Service Mesh的做用,并深刻探讨它们对于企业安全性的意义。架构

输入图片说明

Service Meshes是什么?它为什么如此重要?

链接问题负载均衡

要想理解Service Mesh的存在缘由,首先考虑一下容器环境中的网络链接。框架

想象一下当你运行一个云原生应用时会发生什么。但凡它具备必定的规模和复杂性,它一般都须要由大量单独的服务组成,这些服务间为了可以像一个单体桌面应用程序组件同样高效地运行,须要相互进行协调。微服务

再加上在任何指定时间运行的每一个服务的实例数量,以及这些实例的状态及可用性的变化,不难看出,简单的将一个服务链接到另外一个服务的行为,在这样的情形下会变成多么恐怖的组合问题。工具

编排是基础性能

多亏了有Kubernetes等编排工具,云原生应用程序不会出现混乱或者从内部logjams出现冻结,它们将服务和实例组织成方便管理和寻址的单元,这样就能够经过系统化的方式找到并访问这些单元。优化

这些编排工具就好像一个房屋开发商,他们铺设街道,在新的社区建造房屋——它们创建了框架和交通线路,然而大多数状况下,处理社区的交通细节并非它们的工做。加密

管理流量

这就是须要Service Mesh的地方。当一个服务须要向另外一个服务发送请求时,Service Mesh提供了一个标准化的接口,容许请求发送,而且管理这一个过程。

Service Mesh(如lstio和Linknerd)一般充当微服务之间的请求和其余流量的代理,负责服务发现和执行各类相关任务,包括入口、出口、负载均衡和故障处理。当它接收到服务请求时,它会找到一个服务的可用实例,这个实例需知足一组可配置的规则以及在请求服务和目标服务之间的路由流量。

接手复杂的工做

这意味着你能够将服务发现和与其关联的大多数任务从应用程序设计和代码(以及架构脚本)中移出来,并交给Service Mesh处理它们。请求服务只须要使用目标服务的抽象标识符来提出请求;而Service Mesh将负责剩下的部分。

固然,Service Mesh可以处理的不止这些,还包括了跟踪、度量、加密、认证以及其余与性能和安全相关的任务。lstio和linkerd能够一同使用,把二者包中最强大的特性集成在一块儿,进行微服务相关的流量管理优化。

Service Mesh与企业安全

上文所说的这一切,对于企业安全意味着什么呢?

Istio和Linkerd等平台的安全性和总体流量管理功能是否可以提供足够的保护?或者偏偏相反,他们是否会暴露出新的攻击面,给入侵者提供了后门攻击的机会?

事实是,任何控制基础设施的新元素都有可能包含这二者。在Service Mesh的情景下,如入口/出口管理、代理和加密等特性将与安全相关的元素添加到系统中。与此同时,这些平台会管理流量和访问,而且受到应用程序和其余基础设施元素的信任,这使得它们成为了攻击目标。

Service Mesh的总体做用是在应用程序的边界(即入口规则)处提供一些强化,并为该周边内的流量建立有效的通道。就企业安全而言,这意味着你须要关注至少两条(或许更多)的潜在攻击路线。

当入侵者突破边界

若是入侵者突破Service Mesh的基本边界防护,而且甚至侵占了一个服务的某一个实例,将会发生什么?若是该服务向Service Mesh发送请求,或它响应Service Mesh的请求,那么恶意负载可能会被注入系统中,从而利用Service Mesh的高效流量管理将负载传递到尽量多的潜在目标。若是Service Mesh将服务表现出来的样子认定为“信任”,而应用程序又错误地断定Service Mesh在服务之间传递的是非恶意数据,那么任何的恶意参与者均可以利用这种信任,将本身假装成有效服务。

固然,实际上像Istio和Linkerd这样的平台确实包含了维护安全流量的功能,好比TLC认证;Istio的Role-Based Access Control(基于角色的访问控制,RBAC)提供了灵活、可定制的多级访问控制。可是,若是入侵者突破了这些防护,仍然能够在系统内移动而且形成破坏。

攻击Service Mesh基础设施

Service Mesh平台,就像当下其余任何基于云基础架构的元素同样,是由代码构成的,而且和其余类型的代码同样容易受到攻击。对入侵者来讲,最具诱惑力的攻击面多是控制发现和路由的规则——若是请求能够从新路由到外部位置,那么整个系统均可能会受到危害。

固然也会有其余的攻击点。入口、出口、代理以及负载均衡等功能均可能会出现先前未监测到的切入点。简而言之就是,基础设施的元素越多地控制应用程序和整个系统,那么它就越容易成为攻击的目标,也就越应该关注它。

抵御攻击

那么有没有最佳策略来处理与Service Mesh有关的安全性问题?有的。

Service Mesh自己提供的防护功能能够和像白名单这样强大的边界防护工做结合起来使用,进一步增强应用程序的入侵防护能力。其中,内部异常检测提供了更强大的防护。程序中任何不寻常的行为都会触发自动响应。网络安全监控能够检测并抵消掉服务网格基础设施自己受到的攻击。

在基于云的领域中,容器化应用程序、Service Mesh都是企业计算中不可或缺的工具。与功能齐全的企业级安全服务结合使用,入侵者就没有必要,也不会损害到组织的数据安全。

相关文章
相关标签/搜索