《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 www.freebuf.com/articles/es/276772.html 「RonnieNiu」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

此报告主要参考了《零信任实战白皮书》,结合自己对零信任的理解,做了一个精简的总结,做参考。

零信任认识

零信任解决的是由于传统边界模型过度信任造成的安全问题,重点是Trust Area内过度信任的问题,零信任打破了信任和网络位置默认的绑定关系,不像传统信任关系是静态不变的,而是动态持续监测各参与对象的安全状态、并对其重建信任评估,然后进行动态调整权限、降权、阻断等强管控手段。我自己认为,动态持续监控、根据对象安全状态进行调整权限。

这个是零信任非常重要的功能,也是传统边界模型做不到的。

零信任实现架构

目前有零信任实践的公司,大多都是采用SDP架构(software define perimeter),SDP架构主要包括三大组件:SDP控制器(SDP Controler)、SDP发起客户端、 SDP服务提供者。

控制层与数据层保持分离,以便实现完全可扩展。

零信任实现方案

有两种实现方案,一是用户对资源访问的方案,如办公网访问公司应用,大多数采用此种对零信任架构进行实践摸索;二是生产服务之间相互调用的方案,由于涉及生产、及各种复杂访问关系,很少有公司对此种进行实践。

用户对资源访问模式方案

此种方案涉及到的对象有:用户、终端、资源、链路。

此方案,对架构进行抽象后的架构示意图如下:

认证不再只是人的认证,授权、信任不再是静态不变,而是:人(双因素、OTP)+终端(是否符合安全基线,安全状态是否符合)+软件(是否有漏洞)=认证(持续动态认证)---->认证通过----->授权(基于对各对象动态安全监测和信任评估,动态授权、降权、阻断等)---->资源

零信任在技术实现分类上,根据零信任网关的类型总结为两种:

反向代理/应用层Web协议网关

应用层代理模式指的是在零信任网关实现上,通过七层应用代理方式,将对后端应用的访问通过本地应用 ,层代理配置,将应用层请求发至应用层代理网关中,由应用层代理网关进行拦截、转发,架构如下图:

实现原理如下图:

该模式下的简化访问过程如下(有Agent):

  • 用户通过零信任终端Agent进行设备注册和授权;
  • 终端Agent进行安全基线加固,以及上传终端设备安全状态;
  • 用户通过零信任终端Agent(或可信集成的浏览器),来设置本地应用层代理配置,指定特定资源的访问由应用层代理发至应用层代理网关中;
  • 应用层代理网关通过安全控制中心,进行认证和鉴权;
  • 应用层代理网关鉴权通过后,将请求转发给应用系统,获取请求资源;
  • 应用层代理网关将资源转发给零信任终端,完成资源请求。

优点:由于是应用层代理,因此可以基于应用进行细颗粒的授权控制,可以深入到对特定应用,特定资源的控制。

缺点:对于非HTTP的业务,部分开放设置能力的CS应用客户端可以支持配置,大部分CS架构的客户端都是 不支持的,满足不了全场景的办公需求。

流量代理网关方式,即四层代理方式

流量代理方式在实现上,终端有Agengt情况下,可通过hook、虚拟网卡、网络过滤驱动等方式,将本地流 量转发给零信任网关,零信任网关负责流量的拦截和转发,如下图:

如果终端没有Agent,只要零信任流量代理网关部署在网络链路中,能够劫持流量即可充当代理网关。

优点:

  • 由于是四层流量代理,因此可以实现全局代理,无论是B/S应用,还是C/S应用都可以通过流量代理网 关进行控制和授权。支持全办公场景;
  • 此外该模式下,C/S应用不需要改造,可以直接接入进零信任体系中,对业务干扰较小。

缺点:

  • 由于是四层流量代理,因此对于加密的请求,解密成本较高;
  • 不易实现精细化的权限控制,例如 针对垂直的WEB流量,不能基于HTTP协议层做对应更加细化的访问控制,需要额外用垂直的WEB流量网关;
  • 另外全流量代理模式下,容易出现和其他安全类流量劫持软件冲突,需要对应修复支持工具。

混合网关方式

单一的实现方式都有其弊端和优势,例如用了全流量代理可能导致无法识 别内容,无法对特定应用进行解析和精细的权限控制,因此也可以将技术实现方式进行融合,融合点主要是在网关对上述多个能力进行整合,用全流量代理网关作为统一入口,对特定应用的控制由应用代理模块进行控 制,在实现上同时拥有全流量代理、Web应用反向代理、应用层代理(其他RDP、SSH、IOT等)能力。

如下图:

该模式下的简化访问过程如下:

  • 用户在访问资源时,根据所访问的资源类型,将请求转发到流量代理网关上;

  • 流量代理网关通过安全控制中心对用户进行认证和鉴权;

  • 流量网关根据请求的资源类型,鉴权通过后将请求转发,向后转发中分为以下情景:

    • 直接转发:如果没有特定应用代理模块,请求将直接转发到应用中,例如C/S应用(转发到应用代理模块)
    • 有特定应用控制的模块时,将请求转发到应用代理模块中,由应用代理模块进一步进行更细粒度的鉴权,例如对SSH服务进行零信任控制和授权,对Web应用进行零信任控制和授权,或是更特定业务协议的场景,IOT的零信任控制授权;
  • 流量代理网关将资源转发给终端,完成资源请求响应。混合实践举例:有Agent和无Agent的场景,满足不同的权限控制需要:

    • 提供一套流量网关服务器和Agent,提供给企业内部职员终端安全访问,实现强终端安全防护和管控目 标;
    • 同时部署一套对外提供反向代理网关,通过DNS解析将部分业务代理出去,提供给合作商,针对一些 敏感数据泄漏风险较低的系统,用户可以不用安装客户端直接由Web Portal方式,经身份认证鉴权后访问。

优点:

  • 由于混合代理方式,如果业务要求全部场景,可以使用全流量代理模式,处理C/S和B/S系统的终端应用;
  • 如业务方需要对特定业务实现更精细对权限控制,可以使用应用代理的应用解析能力,因此可以基于应用进行细颗粒的授权控制。

缺点:混合模式架构较为复杂,实现起来较为麻烦。

部署方式

在用户对资源访问的零信任实现上,具体到落地部署中,可以根据企业特点有多种部署方式,下面列举常见的几类部署模式:

1、企业内部部署(办公场景)

在企业内部部署模式中,零信任网关主要用于企业内部服务保护,因此部署位置将零信任网关放置到服务器网络前。

如下图:

像这种通过零信任系统提供统一的业务安全访问通道,关闭职场内部终端直连内部业务系统的网络策略,尽可能避免企业内部服务全部暴露在办公网络(内网中过多的默认信任)。所有的终端访问都要进过终端身份校验(人的安全可信),终端/系统/应用的可信确认(终端设备的安全可信),还有细粒度的权限访问校验,然后才可以通过加密安全网关访问具体的业务(链路的安全可信),这 样能极大的降低和减少内部业务资产被恶意扫描和攻击的行为。

2、集团多分支部署

集团公司,其全国/全球的多个分支子公司、办事处、并购公司、外部合作(协作)公司等员工需要安全 访问集团内部系统,该需求模式下可以采用以下部署模式,实现多分支的访问:

该部署模式中可以针对集团、子公司的组织架构(用户群组)或者具体人员(用户)设置访问策略,员工访问可达的集体内部系统仅限于指定的业务(细粒度授权),不可越界。应保障访问过来的人员身份、设备、链路的安全,同时子公司的终端或者账户如果有异常可以及时阻断访问。

生产服务之间相互调用的零信任方案

此种方案有几个核心元素:

  • 工作负载:workload,承载业务的主机,可以是物理服务器、虚拟机或容器;
  • 访问者:发起访问一方的工作负载;
  • 提供者:提供服务一方的工作负载;(在数据中心中,任意一个工作负载都可能本身即是提供者,也是其他工作负载的访问者)
  • 服务:即根据业务需要所开放的供其他工作负载或用户访问的服务。

基于工作负载的零信任架构:

由于很少有公司在生产服务之间尝试零信任架构,此种方式不过多介绍。

零信任应用场景

办公安全(目前实践较多的)

包含远程办公需求、集团性多分支机构办公安全、传统网络架构,无非就是通过VPN,专线直接访问公司或者集团资源。总结来说零信任架构从安全层面不在区分内外网、是否为远程、是否为分支,统一通过零信任网关接入、零信任网关代理、隐藏后端服务。

只不过办公区可以通过内网访问零信任网关、远程用户、分支机构,可通过公网、专线等访问零信任网关,无论哪种方式,都要经过,认证、鉴权(授权)、这一套流程。

办公安全零信任架构:

远程办公需求零信任实现:

远程办公场景下正确的实施零信任方案后可以带来如下好处:

  • 可快速扩容:零信任网关可以通过负载均衡实现快速的横向扩展,来满足突发的远程办公需求;
  • 安全控制能力强:零信任把安全架构延伸到用户终端上,有更强的控制和感知能力;
  • 安全攻击面小:零信任远程办公方案中,唯一可被访问的只有零信任网关,所有内部资源全部被隐藏 在网关后,即便资源存在0day也难以被攻击到;
  • 易使用:用户一旦完成认证后,整个使用过程对用户不会有打扰,用户和在公司内部的权限维持一 致,有较好用户体验。

数据中心内部访问

基本都是采用微隔离架构进行网络层、主机层、应用层的细粒度隔离,此种方式不过多介绍。

零信任落地经验

零信任安全理念在企业的落地不会是一蹴而就,也绝非仅靠采购一些零信任安全产品或者部署一些零信任安全组件就能够简单实现。需要企业根据自身业务系统建设阶段、人员和设备管理情况、现有网络环境、企业网络安全威胁、现有安全机制、预算情况、安全团队人员能力等因素综合考虑,制定零信任安全目标和实施计划,分阶段的逐步落地,持续提升企业零信任安全能力,是一个不断完善、持续优化的过程。落地建设可分为:全新建设零信任架构网络、在已有网络架构上改造升级这两种情况。

无论是全新搭建还是已有网络架构升级,实施过程应考虑以下因素:

  • 有专门的安全团队和人员牵头和推进实施;
  • 领导的重视(往往决定了落地的难易程度);
  • 有明确的安全目标(以及阶段性目标);
  • 有适配达到安全目标的足够预算;
  • 业务团队的充分理解和配合;
  • 第三方厂商的配合。

无论是全新搭建还是已有网络架构升级,实施过程可以参考以下方法和步骤:

  • 明确范围,全面梳理和确认过程中涉及的人员、设备、业务系统、数据资产等保护对象,并考虑到实施过程中可能涉及的网络位置(集团总部、分支机构、云环境等)等因素。从应用场景进行梳理可能是比较好的一种方式;
  • 确定安全目标,根据零信任网络保护对象的重要程度,以及企业可能面临的安全风险、企业安全现状、团队能力、可投入的资源等因素,确定零信任网络需要建设的安全能力,以及能力实现的强弱程度(并非一定要把所有最高级别的安全能力手段都加于企业身上,而是应根据企业实际需求适配,但需要保障零信任基本能力的建设);
  • 制定实施计划,根据已确定的安全目标、企业现状,制定实施计划,明确各实施阶段的实施目标和里程碑标志(能够验证目标已达成的事项);
  • 分阶段实施,根据制定的实施计划,推动相关人员实施。并按照项目管理的模式,按时推进,跟踪进展,适时调整,逐个阶段的实现;
  • 持续完善和优化,在完成零信任网络的基本建设后,应该不断和提升丰富企业的零信任安全能力(包括持续加强零信任组件的自身安全防护、持续提升企业的零信任网络安全运营能力等),最终从安全技术、安全意识、安全运营、组织建设等方面持续完善和优化。

零信任和现有安全产品的关系

自认为零信任只是一种新的安全理念,也不过只是一种新的安全架构,并不能取代现有安全产品,不过在零信任架构中,可以把现有安全产品更紧密结合在一起,形成更立体联动的效应,比如现有的一些检测告警类、防护类安全产品可以辅助实现零信任架构中“动态持续检测各对象安全状态,动态调整权限、降级、甚至阻断”这一特点解决传统一些架构中,弱管控、动态处置效率不高等缺点,真正实现全过程持续“零信任”。

文章目录
  1. 1. 零信任认识
  2. 2. 零信任实现架构
  3. 3. 零信任实现方案
  4. 4. 零信任应用场景
    1. 4.0.0.1.
  • 5. 零信任落地经验
  • 6. 零信任和现有安全产品的关系