文章目录
零信任安全理念主要分为两类,
一类是站在发起方,用户对资源的访问模式,指的是用户访问内部资源时,如何验证用户是可信的,如何确保访问来源终端可信,如何确认拥有访问资源权限。
另外一类是站在服务方,即服务资源之间如何安全的互相访问。
实现方案中,主要解决的是站在用户视角的零信任方案
第一类零信任方案
要素和目标
要素
在用户对资源访问模式下的零信任实现方案中,涉及的核心元素有以下:
1)用户:访问的主体,即真实自然人在网络中的身份映射;
2)终端:发起访问用的设备,系统环境软硬件、发起访问的可执行程序代码;
3)资源:最终要访问的和获取的客体,通常为内部应用系统。
4)链路:终端访问服务器的网络通道、网络链路。
目标
按照零信任发展过程中的理念,以及上述要素风险,在实现零信任方案的过程中,要实现的核心目标主要有:
1)用户可信:即如何确保用户的登陆、操作是本人操作,而非被盗取的攻击者行为。
2)终端可信:确保终端设备自身的安全可信,包括以下目标:
a)可信设备:终端应为可信设备,并授权可信用户使用;
b)安全基线:终端应具备基础安全防护能力,满足安全基线要求;
c)可信程序:终端发起资源请求的程序,应是可信程序,防止恶意程序的伪装。
3)资源权限可信:如何保障资源被拥有权限的用户正确获取,而非被越权或是被攻击的方式获取到。通过访问控制策略做限制,只有指定的人、应用才能够访问指定的服务资源,减小业务系统安全风险暴露面。
4)链路传输可信:保障终端访问服务器的流量必须是加密,避免被中间人劫持。
5)动态检测:安全不是持续不变的,现在是安全的不代表之后的都是正常的,因此需要对上述可信状态实施动态检测;不管是通过自身的检测能力,还是联动第三方获取更加全面的安全状态信息。
6)动态防护:一旦所关注对象的安全状态发生变化,由可信变为不可信状态,应能动态进行隔离、阻断、降级等操作,防止进一步的攻击和渗透。
核心理念示意图如下:
抽象技术框架
抽象技术架构示意图如下
架构中的主要功能组件和功能如下:
1)零信任终端代理(Agent):用户侧的核心组件,主要功能如下:
a)生成终端唯一表示码:用来区分不同终端和设备,防止终端伪造;
b)建议用户建立授权关系:即允许该终端被什么用户使用,建立绑定关系;
c)收集终端信息:用于决策中心判断终端安全状态,是否符合对资源访问的邀请;
2)零信任网关:暴露在外部可被用户直接访问的系统,主要功能如下:
a)转发:对来访未经授权的请求进行认证授权转发,对已正确授权的请求进行资源访问转发;
b)拦截:对禁止访问的请求进行拦截阻断,阻止向后访问。
3)零信任安全控制中心,主要功能如下:
a)认证:对用户、终端身份进行认证和授权;
b)持续访问控制:
- 访问控制策略:访问控制策略包含访问过程的关键对象、访问权限、环境安全状态因素,可以进行灵活的配置,方便在访问建立、访问中可以根据访问策略做风险判断,进行授权访问或者实时阻断;
- 动态安全检测:决策中心对鉴权和安全状态的检验应该是持续动态的过程,即每次对资源对访问应该都重新进行鉴权和检验;同时需要获取访问过程中关键对象、关键环境的安全状态,判定访问过程是否有风险;
- 动态防护响应:如果判定有风险的相关访问,应该可以及时采取降权、阻断等防护策略。
4)零信任管理后台:提供集中化管理能力,主要功能如下:
a)用户管理:对用户进行集中化授权管理,包括用户账号的安全管控和策略;
b)终端管理:对终端设备进行集中化管理,包括终端安全管控和策略;
c)资源管理:对接入对资源进行集中化管理,包括资源接入和授权;
d)策略管理:安全控制中心的策略控制,策略判断条件配置和管理
技术实现方式
技术实现分类上,根据零信任网关的类型进行区分,该划分模式可以覆盖绝大部分零信任实现
反向代理网关方式(有终端Agent)
反向代理网关指的是在零信任网关实现上,通过七层Web协议反向代理方式,通过将后端业务域名解析到网关上,实现对资源访问的拦截和转发,如下图:
该方式简化访问过程如下:
a)用户通过零信任终端Agent进行设备注册和授权,获取客户端证书;
b)终端Agent进行安全基线加固,以及上传终端设备安全状态;
c)应用系统域名通过DNS解析到反向代理网关中;
d)用户通过浏览器(或集成上述Agent功能的安全浏览器),发起资源访问请求到反向代理网关;
e)反向代理网关通过决策中心,验证用户身份、设备是否授权、设备安全状态以及资源权限关系;
f)反向代理网关鉴权通过后,带上凭证将请求转发给应用系统,获取资源;
g)反向代理网关将资源转发给终端,完成一次请求。
优势
该模式下零信任实现上,除了零信任自身的一些优点还,具有以下优势:
a)由于是七层Web代理,因此可以基于应用进行细颗粒的授权控制,可以深入到对特定应用,特定资源的控制;
b)由于所有的请求对网关是透明的,因此可以对内容进行分析、审计,提高安全检测能力;
c)由于都是Web协议,请求效率较高,可靠性强。
劣势
除了以上优势外,该模式也有一些劣势,如下:
a)对于非Web的业务,如C/S应用难以支持,对于全场景的办公需求支持难度较大
反向代理网关方式(无终端Agent)
整体上和上一种实现方式相同,只不过没有了终端Agent,示意图如下:
该方式下的简化访问过程如下:
a)用户通过浏览器,发起资源访问请求到反向代理网关;
b)反向代理网关通过安全控制中心,验证用户身份、设备是否授权、设备安全状态以及资源权限关系;
c)应用系统域名通过DNS解析到反向代理网关中;
d)反向代理网关鉴权通过后,带上凭证将请求转发给应用系统,获取资源;
e)反向代理网关将资源转发给终端,完成一次请求
和前一种方案相比,缺少了Agent所以无法通过终端Agent进行设备注册和授权也无法进行终端安全加固,无法上传终端安全状态等。安全控制等只能放在网关实现,且鉴权方式也只能对用户身份进行认证和授权,无法验证设备安全性。
优势
a)由于无用户端Agent,实现相对简单;
b)由于是七层HTTP代理,因此可以基于应用进行细颗粒的授权控制,可以深入到对特定应用,特定资源的控制;
c)由于所有的请求对网关是透明的,因此可以对内容进行分析、审计,提高安全检测能力;
d)由于都是HTTP协议,请求效率较高,可靠性强
劣势
a)由于没用零信任Agent,因此无法得知终端设备安全情况,也无法建立用户到设备的可信授权,不能完整的实现零信任核心目标;
b)此外对于非HTTP的业务,如C/S应用难以支持,对于全场景的办公需求支持难度较大;
应用层代理网关方式
应用层代理模式指的是在零信任网关实现上,通过七层应用代理方式,将对后端应用的访问通过本地应用层代理配置,将应用层请求发至应用层代理网关中,由应用层代理网关进行拦截、转发,如下图:
和前两种的区别是:将反向代理替换成了客户端应用代理网关,可以通过终端控制配置网关。该模式下的简化访问过程如下:
a)用户通过零信任终端Agent进行设备注册和授权;
b)终端Agent进行安全基线加固,以及上传终端设备安全状态;
c)用户通过零信任终端Agent(或可信集成的浏览器),来设置本地应用层代理配置,指定特定资源的访问由应用层代理发至应用层代理网关中;
d)应用层代理网关通过安全控制中心,进行认证和鉴权;
e)应用层代理网关鉴权通过后,将请求转发给应用系统,获取请求资源;
f)应用层代理网关将资源转发给零信任终端,完成资源请求。
和第一种架构的区别:通过Agent设置本地应用代理参数,实现资源访问
优势
该模式下零信任实现上,除了零信任自身的一些优点还具有以下优势:
a)由于是应用层代理,因此可以基于应用进行细颗粒的授权控制,可以深入到对特定应用,特定资源的控制;
b)由于所有的请求对网关是透明的,因此可以对内容进行分析、审计,提高安全检测能力
劣势
除了以上优势外,该模式也有一些劣势,如下:
a)对于非HTTP的业务,部分开放设置能力的CS应用客户端可以支持配置,大部分CS架构的客户端都是不支持的,对于全场景的办公需求支持难度较大;
流量代理网关方式
流量代理方式在实现上,主要是通过零信任Agent通过hook、虚拟网卡、网络过滤驱动等方式,将本地流量转发给零信任网关,零信任网关负责流量的拦截和转发,如下图:
和上述架构的区别是将代理网关替换为流量网关,该模式下的简化访问过程如下:
a)用户通过零信任终端Agent进行设备注册和授权;
b)终端Agent进行安全基线加固,以及上传终端设备安全状态;
c)用户通过零信任终端Agent的hook方式、虚拟网卡、网络过滤驱动方式,将对资源发起访问请求转发到流量代理网关上;
d)流量代理网关通过安全控制中心,进行认证和鉴权;
e)流量代理网关鉴权通过后,将请求转发给应用系统,获取请求资源;
f)流量代理网关将资源转发给零信任终端,完成资源请求。
优势
该模式下零信任实现上,除了零信任自身的一些优点还,具有以下优势:
a)由于是四层流量代理,因此可以实现全局代理,无论是B/S应用,还是C/S应用都可以通过流量代理网关进行控制和授权;
b)此外该模式下,C/S应用不需要改造,可以直接接入进零信任体系中,对业务干扰较小;
c)由于是全局流量代理,因此可以实现更多数据分析,提高安全检测能力
劣势
除了以上优势外,该模式也有一些劣势,如下:
a)由于是四层流量代理,因此对于加密的请求,解密成本较大,因此不易实现精细化的权限控制,例如针对垂直的WEB流量,需要额外用垂直的WEB流量网关,基于HTTP协议层做对应更加细化的访问控制。
b)另外对于加密数据,如果安全上需要做数据分析,对应消耗更多分析性能。
c)另外全流量代理模式下,容易出现和其他安全类流量劫持软件冲突,需要对应修复支持工具。
混合网关方式
通过1-4的实现方式可以看出,单一的实现方式都有其弊端和优势,例如用了全流量代理可能导致无法识别内容,无法对特定应用进行解析和精细的权限控制,因此也可以将技术实现方式进行融合,融合点主要是在网关对上述多个能力进行整合,用全流量代理网关作为统一入口,对特定应用的控制由应用代理模块进行控制,在实现上同时拥有全流量代理、Web应用反向代理、应用层代理(其他RDP、SSH、IOT等)能力,如下图:
该模式下的简化访问过程如下:
a)用户在访问资源时,根据所访问的资源类型,将请求转发到流量代理网关上;
b)流量代理网关通过安全控制中心对用户进行认证和鉴权;
c)流量网关根据请求的资源类型,鉴权通过后将请求转发,向后转发中分为以下情景:
- 直接转发:如果没有特定应用代理模块,请求将直接转发到应用中,例如C/S应用;
- 转发到应用代理模块:有特定应用控制的模块时,将请求转发到应用代理模块中,由应用代理模块进一步进行更细粒度的鉴权,例如对SSH服务进行零信任控制和授权,对Web应用进行零信任控制和授权,或是更特定业务协议的场景,IOT的零信任控制授权。
d)流量代理网关将资源转发给终端,完成资源请求响应。
优势
该方式下零信任实现上,除了零信任自身的一些优点还,具有以下优势:
a)由于混合代理方式,如果业务要求全部场景,可以使用全流量代理模式,处理C/S和B/S系统的终端应用;
b)如业务方需要对特定业务实现更精细对权限控制,例如对SSH、RDP登录或是WEB应用进行零信任控制和授权,需要应用代理的应用解析能力,因此可以基于应用进行细颗粒的授权控制,可以深入到特定应用中,对特定资源进行零信任的授权控制;
c)由于兼顾了全流量代理和特定应用的应用层代理,因此可以获取到全流量和特定应用的数据提取,提高安全检测能力。
部署方式
零信任实现,具体到落地部署中,可以根据企业特点有多种部署方式,下面列举常见的几类部署模式
企业内部部署
在企业内部部署模式中,零信任网关主要用于企业内部服务保护,因此部署位置将零信任网关放置到服务器网络前,如下图:
通过零信任系统提供统一的业务安全访问通道,关闭职场内部终端直连内部业务系统的网络策略,尽可能避免企业内部服务全部暴露在办公网络(内网中过多的默认信任)。
所有的终端访问都要进过终端身份校验(人的安全可信),终端/系统/应用的可信确认(终端设备的安全可信),还有细粒度的权限访问校验,然后才可以通过加密安全网关访问具体的业务(链路的安全可信),这样能极大的降低和减少内部业务资产被恶意扫描和攻击的行为
集团多分支部署
集团公司,其全国/全球的多个分支子公司、办事处、并购公司、外部合作(协作)公司等员工需要安全访问集团内部系统,该需求模式下可以采用以下部署模式,实现多分支的访问:
该模式和模式一比较,1)不是部署在公司内网2)主要通过访问策略配置,实现不同子公司/机构成员的访问。
保障访问过来的人员身份、设备、链路的安全,同时子公司的终端或者账户如果有异常可以及时阻断访问。
云业务服务部署
中小企业用户多数使用多个公有云服务商的云服务,在不同的公有云上部署不同的业务类型,难以构建一个包含多个云服务的企业网络来保障访问策略的统一和对资源的安全访问控制,对这类场景可以采用如下部署模式:
不同云环境部署不同网关,多个网关共用一个安全控制中心,提供统一访问控制策略,通过低流量的策略同步或者其他不影响带宽的机制,做到统一的授权管理。用户在具体要访问哪个云上业务的时候,就可以通过控制中心,对接到相应云的零信任网关入口进行访问。
服务之间调用模式实现
需求分析
数据中心的集中化建设,导致数据泄露风险增加
数据中心的集中化建设,解决了集中运维、管理的问题,同时也节约了资源成本,但数据的集中也增加了数据泄露的风险。通过Killchain模型我们可以看到,现代的攻击都有一些显著特点,一旦边界的防线被攻破或绕过,攻击者就可以在数据中心内部横向移动,而中心内部基本没有安全控制的手段可以阻止攻击。
内部恶意软件传播
考虑服务器的稳定运行及性能,数据中心很少会部署杀毒软件,目前最常见的方式是通过划分VLAN的方式将数据中心内部的服务器划分为多个区域。这种架构,虽然边界关闭了无用端口、过滤了流量,但一旦内部某一台工作负载感染病毒,病毒即可在区域内部进行传播。
核心理念
核心元素
a)工作负载:workload,承载业务的主机,可以是物理服务器、虚拟机或容器。
b)访问者:发起访问一方的工作负载。
c)提供者:提供服务一方的工作负载。在数据中心中,任意一个工作负载都可能本身即是提供者,也是其他工作负载的访问者。
d)服务:即根据业务需要所开放的供其他工作负载或用户访问的服务
风险
a)工作负载风险:对于不同的主机形态,数据中心内部的零信任建设是否可以覆盖,防止“木桶”出现短板。
b)访问者风险:访问者是否是可信的,如攻击者通过钓鱼邮件、口令破解、0day漏洞等拿下一台工作负载后,以此为跳板在内部发起攻击。而这种攻击边界防护是无法发现的。
c)提供者风险:往往被作为攻击的目标,通过跳板机去探测提供者所提供的服务是否存在漏洞等。
d)服务风险:服务的风险有两个方面,一是工作负载是否提供了业务不需要的服务(端口),例如445,139等,很多攻击及病毒的传播都是由于过大的暴露面。二是服务的调用是否符合业务逻辑,在实际环境中,数据中心往往采用大二层网络,无法对服务的调用进行有效控制
目标
在实现零信任方案的过程中,要实现的核心目标主要有以下几类:
a)零信任防护尽可能的覆盖现有工作负载。
b)访问者、服务者可信。可参考以下方式:设备特征,如已安装的软件版本、网络位置、以前观察到的行为、已安装的凭证等。
c)服务最小化原则:1.限制无用端口的开放,形成进程/端口台账。2.限制服务的可视性及可访问性。可考虑采用访问控制或加密的方式。
d)通过动态的策略调整,减少人工参与,才能使工作负载之间的零信任建设适应业务的动态变化
技术框架
对于数据中心内部零信任的建设,一般采用软件定义的方式进行,分为控制平面与数据平面。该架构的核心组成如下
- 零信任安全控制中心:负责鉴权和授权判断,并提供业务流的可视化能力。主要功能如下:
a)认证:对工作负载身份进行认证和授权;
b)安全策略配置:统一的安全策略配置管理,访问控制策略可以灵活组合。
c)动态策略调整:根据环境的变化,动态计算修改安全策略。
2)零信任安全代理(策略执行点):
用于执行访问控制决策,允许/拒绝通信或进行协商加密;
有时也会将工作负载的相关信息同步给安全控制中心,从而辅助其进行决策。可以单个逻辑组件(充当连接门卫的单个门户组件),或分为两个不同的组件:客户端(例如安装在工作负载之上)和网关端(例如在资源之前控制访问的组件)
实现方式
对于服务之间调用的零信任实现方式,主要参考Gartner相关报告,但在介绍Gartner的实现方式之前,也简单说明一下NIST报告早年对于内部隔离方式的划分。与Gartner定义的四种实现方式不同,NIST将传统方式结合其中。
NIST服务之间调用的零信任实现方式
共分为5种,分别为:
a)基于虚拟化宿主机的隔离(Segmentation based on Virtualized Hosts):将不同安全级别的应用部署在不同宿主机的虚拟机中,再将宿主机连接至不同物理交换机上,在通过防火墙进行控制。
b)基于虚拟交换机的隔离(Segmentation using Virtual Switches)
c)基于虚拟化防火墙的隔离(Network Segmentation using Virtual Firewalls)
d)在虚拟化网络中使用VLAN进行隔离(Network Segmentation using VLANS in Virtual Network)
e)基于跨平台的网络隔离(Network Segmentation using Overlay-based Virtual Networking)
从以上的划分可以看出,NIST将多种传统的隔离方式进行了列举,具有一定的局限性,毕竟是2015年发布的报告。数据中心的不断变化以及用户的需求增加都促使隔离技术的发展,2017年Gartner总结了更符合现代数据中心内部隔离方式,而随着零信任研究的不断深入,这四种方式被广泛接受及引用。
Gartner服务之间调用的零信任实现方式
以下为四种工作负载之间隔离的实现方式,不同实现方式也对应了不同的部署方式,没有哪一种方式是最佳的隔离方案,应根据自身的数据中心环境选择最适合自己的方式。
云原生控制
这种路线在虚拟化平台提供者中比较常见。往往在虚拟化平台、IaaS、Hypervisor或基础设施中提供。最基本的功能非常类似于配置单个主机,更高级的功能往往提供了复杂分组和名称的简单抽象
与VLAN一样,云原生控制方式通常适合于隔离,而不是访问控制。服务器之间的隔离往往是东西向访问控制的要求,安全功能的相对强度通常低于南北向,涉及的是控制而不是隔离流量。
该模型的主要优点是不需要额外的部署,隔离能力和基础设施是紧密耦合的,在控制台和管理方面使用了类似的外观,并且比添加其他供应商的安全工具更便捷。
基于第三方防火墙
此技术路线主要基于第三方防火墙供应商提供的虚拟防火墙(与虚拟基础设施供应商提供的防火墙不同)。此种方式有两种部署模式,一种为在虚拟化环境的每一台宿主机上运行一台虚拟化防火墙,通过跟底层架构的对接,使此台宿主机上虚拟机的流量先由此虚拟化防火墙处理,从而实现对工作负载的控制(如下图)。
第二种模式为利用与NFV的结合来进行控制,NFV的启用使得虚拟防火墙有了更强的控制,因为它们主要与网络活动交互,而不是嵌入到主机中(如下图)
总体来说,第三方防火墙方式的最大优势在于其可以提供丰富的安全能力及报告,相当于将防火墙/下一代防火墙功能移植到虚拟化环境内部。而这种方式的不足在于需要跟虚拟化架构的底层做对接,目前结合最完善的平台主要为VMware,而且只能支持本地虚拟化环境,无法覆盖公有云、物理环境及容器环境。
基于代理模式
大多数Overlay模式,使用某种形式的代理或软件,这些代理或软件必须部署在每个主机(虚拟机)中,而不是像防火墙那样在外部控制通信。在分区以进行分割的过程中,大多数其他模型关注于在主机周围形成虚拟墙的类似网络的抽象,而Overly模型通常以一种更动态的方式控制启用代理的主机之间的通信。中央控制器用于维护策略配置并与代理通信
此种方式除了使用主机墙作为控制手段外,也有部分供应商利用工作负载之间的协商加密方式进行通信控制。加密也是一种隔离,而这种方式相当于在现有的网络上又构建出不同的独立网络,只有按照策略完成协商的才可以进行通信。
基于主机代理模式的最大优点在于可以覆盖几乎所有环境(对于部分小型机支持程度一般),包括物理环境、任何底层架构的私有云、公有云以及容器环境。而不足则是需要安装代理,这在部分客户处较难推进。
混合模式
混合模式一般是通过不同其它模式进行组合使用,例如使用本地控件和第三方控件进行组合。使用第三方控件进行南北通信(例如,在Web服务器和应用程序服务器之间),使用本地控件进行东西连接(例如,数据服务器到数据服务器)