多年来,我们一直采用新技术来寻找改进的方法来构建系统。因此,今天的基础设施经历了重大的演变。为了跟上新技术的到来,遗留常常与新技术结合在一起,但它们并不总是能很好地结合在一起。超现代和传统之间的这种融合已经造成了整体解决方案的拖延,从而在过去和未来之间产生了紧张关系。
多租户共享云,容器技术,如泊坞窗和Kubernetes,以及新的架构像微服务和无服务器的基础设施,同时在技术上显着,增加复杂性。复杂性是安全的头号敌人。因此,与这些技术的采用可以有效地排列,一种新的方法,以安全性要求不依赖于基础设施转变为控制点。
公司如思科(滴定)和VMware(NSX-T)正在扩展其覆盖容器的网络和安全解决方案。同时也出现了像Tigera新公司在该领域推出新产品的跳板。
挑战性的IT景观
管理员可以在云中有限的控制。启用云服务投降以前由本地管理员与周边的明确定义和传统的安全结构控制现有的静态环境的控制。云的原生技术是不可见的,传统的安全边界,并如对防火墙的IP地址和ACL过滤传统的安全控制不再有效。
经典的3层建筑,现在是定期分解成许多不同的应用程序编程接口(API),在共享环境中的所有操作。一个微服务架构消除了明确的入口和出口点。现在,服务之间的通信是通过许多不同的内部和3覆盖网络电话服务进行RD第三方API。API是新的资源和所有服务我们的API调用响应。
IP地址的挑战
在这个快速发展的环境中,IT组织在维护传统IP地址和ACL条目方面面临挑战。现代动态基础设施以相对静态的配置使现有的网络安全方法失效。ACL表会变得很大,最终会变得非常复杂,以至于几乎不可能有效地管理它们,而且它们的处理会影响主机的性能。第4层与网络拓扑结构耦合,它缺乏支持敏捷应用程序的灵活性。此外,在数据路径中引入网络地址转换(NAT)消除了端到端可见性,从而增加了连接的第二个问题。有效地识别和保护IP地址的应用程序端点是一个挑战。因此,IP标识会让管理员蒙上眼睛。你有两个选择;您可以信任网络来完成它的工作,而不需要对它进行任何控制,或者引入一种新的方法来进行资源标识和控制,从而减少对IP地址的依赖。
应用程序标识和策略
IP地址是像家庭住址,这为房子创建一个物理身份和无论是在它。我们使用IP地址作为网络化计算资源的身份代理,但我们还没有一个可靠的方法来有意义的身份实际端点,直到这一点。你知道一个人的越多,更丰富的那个人的身份。这是更比知道只是这个人的姓名,身高,体重,年龄,和你当然不能以自己的家庭住址不多告诉他们。身份的概念是势在必行各种授权和认证通信在现实世界和网络上发生的事情。每当有互动,你需要自信地建立身份和安全地授权和验证的连接。的相互作用可以是用户,应用程序或API之间的通信的任何组合。
在零信任的云环境中,您必须假设任何时候任何人都可以访问所有内容,在网络上的交互期间,应用程序组件需要额外的安全性。仅仅防范外部威胁是不够的,还需要加强防范内部漏洞和配置错误。如果某个工作负载具有特定的标识,则应该对其进行安全签名,这样就不会有篡改其标识的机会。作为流程的一部分,当端点将自己呈现给另一个端点时,它应该使用用于建立信任的证书来呈现经过签名的标识。云本地应用程序是弹性的,并且可以根据需要动态增长。应用程序的动态特性需要一种新型的持久标识。传统上,应用程序使用IP地址进行配置,但是在动态环境中,您无法控制基础设施,因此IP地址不再是识别应用程序的可靠或持久的方法。但是,如果给应用程序、服务或API一个持久标识,就可以识别出这是谁。
为什么这很重要?策略的创建需要授权和谁是试图传达认证。写作策略的传统模式是基于IP地址,但是因为IP地址不再执着,就成了繁重的,如果不是不可能在秤架的策略。凭借稳定的身份范式和能力,可靠的身份应用程序组件,如集装箱,微服务或API,安全策略可以在大规模应用的实时执行分配和独立的网络。持久性和证明身份简化整个动态工作负载策略执行,使跨多个环境可能统一的安全性。
可见座谈
当您检查网络时,您有一个带有源和目标的流。源是基于子网的,它被分配给一个工作负载,例如,一个前端或后端层。在检查云中的信息流时,您将无法找出发起者和端点尝试通信的原因。采用云本地应用程序放弃了对应用程序实例化的基础设施的控制。从可见性的角度来看,您没有持久的标识,也没有跟踪服务到服务通信的有意义的方法。但是,如果您为应用程序提供了持久性标识,那么您可以很快地确定谁是前端或后端,以及他们为什么要尝试通信。持久标识提高了网络中的可见性和遵从性。
应用程序标识
工作负载可以以多种方式封装,如虚拟机(VM)、裸金属或容器。容器安全解决方案必须以独特的方式评估工作负载。如何保护工作负载是次要的概念。但是,封装的方法很简单。
集装箱的安全解决方案应用程序标识应脱钩的网络安全和基础设施,以便它可以扩展。这种方法使政策被束缚的实际工作负载的身份。细粒度,统一的安全策略保护的工作负载,简化了安全模型,而不需要对业务逻辑或任何网络配置改变。现在,应用程序和组件之间的所有通信进行身份验证,授权和加密透明。其结果是,这些解决方案充分保护的应用程序,并消除了网络中的任何未经授权的横向运动。
与网络和周边为中心的安全讨论的挑战不再是一个责任,因为安全策略执行不依赖于IP了。例如,如果一个数据库工作负载下线并返回一个不同的IP地址,这并不重要,因为工作量现在已经从元数据或其他环境变量中提取的持久化标识。
又是如何构建?
当一个受保护的工作负载或者通过码头工人或Kubernetes或作为主机或虚拟机上的进程实例化,安全解决方案必须审查工作量的所有相关属性建立一个独特的应用程序标识的资源。
有各种元数据和安全信息来源用于建立应用程序标识的上下文。这可以来自操作系统本身,例如systemd和与操作系统的环境变量相关的元数据。如果是主机上的进程,则可以检查通过CLI命令或systemd进程发出的环境变量。除此之外,还可以从任何其他可用的源提取数据,如来自云服务提供商的身份文档(ID)文档、关于应用程序的CI/CD管道元数据、来自内部或3的漏洞信息RD运行期间观察到的多方漏洞扫描器和威胁行为信息。
它可以嵌入在应用通信的多属性标识,这可以通过截获用来组件之间建立网络连接的三次握手来完成。一个模块可以坐在应用TCP / IP堆栈的前面。然后,身份组件注入到SYN和SYN-ACK信息包的TCP选项,使他们能够将基础设施建设独立。作为三次握手的一部分,一个JSON网络令牌嵌入交换用于建立和强制实施策略的多属性标识。当传入的连接请求时,前端模块检查传入请求的标识,以查看检查政策如果通信被允许并且简单地丢弃连接,并接收器不会看到期望的连接。收件人是对所有类型的恶意发现的隐形如无端连接,攻击探测或攻击者制作扫描。
到目前为止,我们已经讨论了控制网络层,即TCP层对超文本传输协议的访问,但什么(HTTP)层?在微服务环境中,典型的资源是一个API。在这种情况下,操作设于栈上层HTTP代理可被部署。例如,服务公开具有特定范围的一组统一资源标识符(URI)的。在保护API的这种情况下,用例扩展到谁是试图消耗的API或服务的用户。现在,它是一个服务到服务,用户对服务和服务到用户连接身份验证和授权用户和服务身份的组合的基础上,通过政策允许的。
HTTP代理延伸能力远远超出了网络访问控制,一直到API的访问控制,其中,所述标识可以是用户或服务。
拥抱应用分解和云本地应用程序的好处,我们必须做出改变,以建立独特的应用程序标识的资源,如何识别一个并确保应用程序的端点。这既需要技术和心态的变化。
使用网络作为安全控制点的老办法不仅操作上具有挑战性,但也有安全隐患。分布式政策执行模式应用程序标识的结合,创造一个安全模式在规模能够有效地实现了在任何基础设施的统一的安全性。