大型复杂网络的零信任改造是一个非常大的话题。本节提出的零信任逻辑架构无法“面面俱到”,仅希望提供一个简单的、直观的参考。
经过零信任改造后,企业的网络安全架构变成了一个端到端的纵深安全体系,如图3-2所示。零信任管控平台与网络中的各个节点对接,管理用户的网络连接、身份认证、业务访问等流程。安全网关作为企业网络的统一入口,负责执行持续的身份和权限校验,对于不同的用户和场景有不同的准入要求,只有满足要求的用户和场景才能接入企业网络。企业网络中的所有访问都受零信任的策略管控,不存在默认的信任。
下面分别介绍零信任架构中的各个组件。
零信任管控平台相当于零信任架构的大脑,负责对用户身份、权限、终端设备进行管理;收集各类数据进行风险分析和综合信任评估;对外提供身份认证和动态权限校验服务。如果企业只有一个数据中心,那么管控平台可以部署在企业内网。如果企业有多个云或数据中心,那么管控平台可以单独部署,统一管理所有数据中心的安全网关和其他策略执行点。
管控平台负责收集用户终端设备的信息,检查是否存在入侵迹象,以便为后续的访问控制策略提供依据。管控平台需要向各类零信任客户端(终端沙箱、Web门户等)下发管控策略。管控平台还可以与传统的终端管控产品对接,实现终端与零信任策略的联动。
零信任架构是以身份为中心的。为了设定细粒度的访问控制策略,零信任系统要汇聚各个来源的身份属性,组成完整的身份安全大数据。例如,从IAM及其他身份系统同步用户的岗位、部门信息,从MDM同步用户的设备信息,从SIEM同步用户的网络安全信息,并把这些信息打通,形成完整的用户画像,从而设定基于身份、设备、安全属性的细粒度访问控制策略。而且,要定期检测、处理平台中存在的异常账号和不合理的权限,提升身份大数据的质量。
无论用户身处内网还是外网,在访问企业资源之前,都要进行统一的身份认证。零信任系统可以与原有的PKI和IAM的认证模块对接,延续原有的认证方式。用户的身份认证会被转发到管控平台统一执行。对于风险级别较高的人,要进行额外的多因子认证。
第三方系统、API服务也建立了零信任身份。企业的API服务是通过零信任安全网关来发布的。第三方系统在调用企业的API时也需要进行身份认证。
C 端业务的用户身份也可以纳入零信任系统做统一管理。当用户通过互联网访问业务系统时,零信任系统起到身份认证和风控分析的作用。这个场景将在6.4.2节详细介绍。
管控平台依据“身份大数据”和“安全风险分析”的结果对用户访问行为进行校验。一方面要确保用户的访问行为得到了授权,另一方面要确保用户的访问行为不存在风险,否则将通知策略执行点进行拦截。
管控平台可以与安全网关、业务系统、数据中台、数据代理进行对接,实现应用级、功能级、数据级的权限管控。管理员分层配置各类访问控制策略,由访问控制引擎统一计算后下发决策指令。
管控平台的风险分析模块会持续接收客户端及其他设备发来的安全信息,基于用户身份、设备状态、访问行为、网络日志等信息,综合分析是否存在风险,计算用户和设备的可信等级,为访问控制引擎的判断提供依据。访问控制引擎会对用户的访问请求进行判断,如果合法则向网关下发放行指令。如果用户的请求与授权策略不匹配,或者发现用户行为存在风险,则向网关下发阻断指令。
总结一下,零信任管控平台的数据来源包括身份大数据模块汇聚的用户和设备信息、风险分析模块发现的异常事件、终端安全模块检测的终端安全状态、零信任安全网关上传的用户访问日志等。
零信任客户端的形式多种多样,可能是类似VPN的独立小程序,可能是浏览器,可能是浏览器插件,可能与终端沙箱融合,可能与杀毒和终端管控软件融合。
零信任客户端部署在用户的设备上,提供从用户到授权资源的加密连接。在建立连接之前,客户端会对用户进行身份认证。在访问过程中,客户端持续对终端设备进行安全检测,并向管控平台上报。在发生异常时,管控平台会向客户端和网关同时下发阻断指令。客户端要与用户交互,提示被阻断的原因,或提示进行二次认证。
在敏感数据访问场景下,客户端还要具有终端沙箱、添加水印等数据泄密防护功能。零信任安全网关只放行从终端沙箱发出的流量,用户只能在终端沙箱中查看数据,不能向外复制,从而形成完整的安全闭环,让数据只在安全闭环内流转。企业也可以保留云桌面,实现数据的分级访问控制。安全网关只允许使用云桌面的用户访问高敏数据,本书4.5节将对零信任的终端安全能力进行更详细的描述。
在有些场景下,可以允许用户不安装客户端,直接通过零信任Web门户接入零信任网络。如果不安装客户端,那么虽然提升了用户体验,但会降低安全能力。本书6.3节将对轻量的零信任Web门户进行更详细的描述。
零信任安全网关相当于企业网络的大门,对所有流量强制执行访问控制策略。安全网关通过对用户访问和API调用的统一代理,对企业的网络暴露面进行收口。当遇到访问请求时,安全网关立即向管控平台上报,并根据平台下发的指令进行放行或阻断。在访问过程中,安全网关还要负责流量的负载均衡、加密传输及日志记录。
安全网关应该支持各种常见协议的传输。其实现形式可能有多种,例如,与VPN类似的隧道网关,或者应用层的反向代理等。如果企业的业务系统原本就有Nginx等代理服务器,那么可以直接在Nginx上进行零信任改造,充当安全网关。
在多分支机构或多数据中心的场景下,安全网关还需支持分布式集群部署,或云网关+连接器模式的架构。让安全网关镇守在每个环境的网络入口。
具体来说,零信任安全网关需要支持在以下场景下的访问控制。
企业逐步用零信任系统替代了VPN。零信任安全网关具备网络隐身能力,可以减少企业的暴露面。当员工进行远程访问时,要先登录零信任客户端,客户端会转发用户的访问请求。零信任管控平台会对用户的行为进行风险分析,零信任网关根据管控平台上配置的访问控制策略对用户、设备属性进行细粒度检测,随时拦截可能发生的风险。
在零信任系统逐步成熟后,会消除内外网之间的差异。内网员工也需要登录零信任客户端,在经过严格的验证之后,才能访问内网业务系统。如果不登录零信任客户端,就访问不了任何内网资源。
当第三方系统调用企业的API,以及业务系统之间调用API时,需要进行身份验证。管控平台会检查调用者的身份、权限是否合法。对于重要的API资源,管控平台还会要求调用者安装终端环境检测组件,由终端检测组件实时向管控平台上报调用者的环境是否安全。例如,服务器是否有杀毒能力、是否存在高危漏洞、是否存在入侵迹象等。在验证成功后,安全网关才会转发调用请求。
零信任安全网关还可以集成一部分安全防护能力,实现API流量的威胁检测。更多详细内容可以在6.7节中找到。
安全网关负责用户到服务器之间的访问控制,而微隔离组件负责每个服务器之间的访问控制,微隔离策略由零信任管控平台统一管理,管控平台的决策指令由微隔离组件执行。微隔离组件最常见的形式是在服务器上部署一个Agent软件,相当于在服务器上部署了一个基于身份的“防火墙”。
微隔离组件会校验服务器之间的访问请求,阻断未授权的非法访问。例如,一个业务系统的前端服务器只能访问它的后端数据库,不能访问其他业务系统的服务器。在实施了微隔离策略之后,攻击者即使攻陷了某个服务器,也无法以此为跳板,攻击网络中的其他服务器。
微隔离组件常常会与主机安全组件融合。当在服务器上发现了入侵迹象时,立即触发告警,提醒管理员尽快修复。如果超过一定期限没有修复,则自动隔离或限制服务器的访问权限。
大部分原有的安全设备仍将存在于零信任架构中,这些设备可以通过对接和集成,与零信任架构融合,变成零信任的策略执行点,基于身份属性进行访问控制或威胁过滤。业务系统和数据中台本身也可以成为零信任的策略执行点,执行更细粒度的权限管控。
对于传统安全设备的改造主要是在设备上实现一个策略对接层。对接层与零信任管控平台对接,接收安全策略,转化为安全设备可以执行的规则,然后执行。
以防火墙为例,传统防火墙以IP地址为基础进行管控。例如,“允许来自10.5.0.0/16的流量访问10.3.0.0/16的443端口”。经过零信任改造后,防火墙可以基于身份进行管控。例如,在给用户小张授予访问OA系统的权限后,每次小张登录零信任管控平台时,防火墙都会从管控平台获取小张的IP地址,然后自动添加一条规则“允许小张的IP地址10.5.0.2访问OA的IP地址10.3.0.2∶443”。在小张退出登录后,立即取消这条规则。当管控平台发现小张的设备存在高危风险时,防火墙也会暂时取消这条规则,当小张修复了设备后,再恢复他的访问权限。如果小张有两个设备,那么防火墙可以只封锁有风险的设备IP地址,安全设备的访问权限不受影响。
此外,零信任系统可以与IDS对接,帮IDS进行流量解密、身份溯源,减少误报;与堡垒机对接,基于更多身份和数据属性,进行细粒度授权。8.4节将介绍更多零信任与现有架构融合的方式。
零信任的理念不只适用于应用级的访问控制,还可以与业务系统对接,结合设备、环境因素,进行更细粒度的权限管控。例如,用户只有在可信设备上才能使用“编辑、删除”功能,在有风险的环境中只能使用“查看”功能;工作人员在有风险的环境中查看客户信息时,中台只返回手机号的后四位;只有在公司使用管控设备查看客户信息时,才能查看完整的手机号等。
对于业务系统的改造主要是在业务系统内部实现一个策略执行模块,拦截访问请求,发给管控平台校验,再根据接收到的指令,执行放行或阻断动作。数据中台的执行动作除了放行和阻断,还有可能包括数据过滤、数据脱敏等。