自2014年在云安全联盟(CSA)引入软件定义边界(SDP)的初始规范以来,零信任网络(ZTNA)概念一直在不断发展。
尤其在Google基于ZTNA推出的BeyondCorp框架后更是点燃了从事IT安全领域无数人心中的梦想。
最近几年异常红火,特别在今年年初由于疫情的缘故大部分企业都采用了远程办公的方式后更是炙手可热,究其原因其实我们都在寻求更安全、更可靠、更可信的解决方案,而不满足于可能给企业带来潜在风险和损失的现状。
目前许多企业并不具备远程办公条件,对可用性、稳定性方面咱先不说,在安全性方面是存在着大量隐患的。
具体有两方面:
零信任网络(ZTNA)概念简单地说一切皆不可信,想要信任拿出证据来证明自己。具体到业务场景就是后端的服务应用在互联网上不可见,对外提供的只有访问代理,能给予终端(用户、设备、应用)什么样的访问权限取决于对终端信任度为多少,不可见容易理解,怎么理解对终端的信任度呢?这就像我们在寻求帮助,熟悉的人给予多,而陌生的人给予少。给予多的是因为了解,有着更多的信任,而陌生的则不然。同样,在ZTNA的架构里,终端要访问后端的服务应用,需要有身份让访问代理识别,这还不够,身份只是标识,但仍然无法解决想干什么的问题,这还需要终端提供更多的可信信息,譬如设备、用户、环境、应用的信息等,后端的策略引擎会动态评估给出是否给予相应访问权限的结果。
在ZTNA中,终端被认为是主体,是访问的发起方,一般指设备、用户、应用、环境或它们之间的叠加,这里的应用也作为主体出现,应用之间通过API的调用就是如此;被访问的资源称为客体,一般指应用、数据库、操作系统、网络设备等;主体对客体想干什么就是动作了;环境就是终端所处的状态,比如地理环境、设备软件、系统补丁、设备型号等;所有这些的属性都组成了主体访问客体在策略引擎中动态评估权限的依据,一般被定义在安全的上下文中。
对终端而言,信息提供越完整,可信度也就越高,可访问的权限也就越大,当然权限和访问的服务应用给予的最高权限相关。这里的权限是基于策略引擎下评估的细粒度访问权限(ABAC),可根据信息度的差异获得不同权限的最终组合。
ZTNA是先认证后访问的,对外提供的只有访问代理,与现有的应用认证后再访问不同,后者是完全暴露给终端,意味着也同样暴露给了攻击者,这存在安全隐患;另一个方面现有应用无法做到动态细粒度访问控制(ABAC),基于静态的RBAC模式已无法满足企业对业务安全性的要求。
以下是ZTNA增加ABAC访问控制后的概念模型:
这里我们可以看到ZTNA包括设备、应用注册,统一身份管理,数字证书,单点登录(SSO),访问代理时需要策略引擎进行策略评估;而访问控制(ABAC)则有策略实施(PEP)、策略决策(PDP)、策略定义(PAP)、策略信息(PIP)共同组成对外提供服务。当然在PDP里也可以引入人工智能进行补充,完善动态访问机制;访问代理可作为网关监控数据,保障数据的可信度。
从安全性上说,可以做到内外网安全访问的一致性,外网访问完全可以替代传统的VPN对内网访问,由于后端的服务应用在互联网上不可见,访问代理认证通过后才会与应用建立链接,因此应用不会受到互联网攻击,完成SSO后终端会获得临时令牌,访问代理会验证临时令牌和终端可信信息,并对异常数据进行监控,极大减少了攻击面,增加了攻击的难度,即便攻击者拿到用户凭据已失去了意义。
据2019年Gartner市场预测,到2022年通过ZTNA可以访问80%向生态系统合作伙伴开放的新数字业务应用程序;到2023年有60%的企业将淘汰大部分的VPN而采用ZTNA。