零信任笔记
前言
最近读了下2021网络空间安全技术发展特点,觉得零信任已经要火了。之前听深信服哥们聊了点零信任,总是云里雾里,这两天读读书看看报,记下笔记
这边也有通讯院发的白皮书,也推荐读读,我下面写的很多都参考这个的
一、零信任概念
首先,零信任是一种思想,而不是技术。零信任这种思想在实施时,会需要技术去支撑(这些技术则大部分是先前就有的,如身份验证技术)
1.本质:
零信任,从不信任并始终验证
2.个人理解
以前的网安都很强调边界防护的加强,利用各种IPS、WAF,FW等设备进行攻击拦截,每个区一个防火墙隔离。虽然一堆纵深防御,但至少我接触的客户都会有个东西向局域网内的攻击很难捕捉到的诟病。
零信任给出一个思想是,不再去细致地加强认证手段、细化更小粒度、明确身份管理策略。它要求的是:去分配“恰如其分”的用户权限来限制资源访问(不是一味安全设备往上搞,而是转向访问控制的优化)。
这时候再看下面这句话,大致就有感觉了
零信任要的是访问控制规则。主体要访问客体,就待过了访问控制才行。所以叫“零信任”,不信任任何客体,你要访问,ok,我算下你有没有权限,而不是我看下你的名字就行了。
3.零信任核心原则
-
回过来,读下零信任的几个原则
- 网络无时无刻不处在危险的环境中
- 网络自始至终存在外部或内部威胁
- 网络位置不足以决定网络的可信程度
- 所有的设备、用户和网络流量都应当经过认证和授权
- 安全策略必须是动态的,并基于尽可能多的数据源计算而来的
在这种原则下,就产生了零信任的核心思想:“默认情况下,企业内外部的任何人、事、物均不可信,应在授权前对任何试图接入网络和访问网络资源的人、事、物进行验证。”
这些原则里涉及了几个信息:
主体:可以是设备、用户、应用等所有参与到访问的对象。
认证:对主体进行信任评估
授权:最小特权原则,限制资源可见性
动态:实时监控,主体、客体只要有授权决策的依据发生变化,访问过程中也要及时更新
尽可能多的数据源:账号/密码的验证,是不如人脸识别+Ukey这类好的。参与计算的数据源种类越多、数据越可靠,信任评估就越准确
二、零信任安全架构及组件
1.零信任的总体框架图如下
控制平面是:网通通讯控制区域
数据平面是:应用程序通讯区域
流程还是很清晰的:
1.访问主体与可信代理建立可信连接,发出了访问流量
2.可信代理将流量交给信任评估引擎和动态访问控制引擎,由他们计算访问主体的权限范围
3.访问允许时,系统动态配置数据平面(最小特权,收缩访问面)
4.利用可信代理,建立起访问主体和资源的安全访问连接
5.信任评估引擎持续信任评估,结果反馈访问控制引擎,如有需要,及时通知访问代理中断连接(策略变更时,会中止或撤销会话),实施保护
2.核心组件
(1)信任评估引擎
实现持续信任评估能力的核心组件之一,与访问控制引擎联动
(2)访问控制引擎
持续接收信任评估引擎的评估数据,决定访问请求授予资源的访问权限(给出适当的访问面)
(3)访问代理
对访问主体进行身份认证(不是权限验证),对访问主体权限进行动态判定(存在策略变更时会中止或撤销会话)。
将认证通过,具有访问权限的请求,创建安全访问通道,允许访问资源。
2.身份安全基础设施
身份安全基础设施是关键支撑的组件。在图的最下面,典型的包括:PKI,身份管理系统,数据访问策略,还包括人力资源系统这些。用来提供多种身份鉴别模式(数字证书、生物识别、电子凭证等),实现对身份的管理提供数据源。
3.其他安全分析平台
威胁情报,环境感知,安全审计,安全分析等,这些成为其他安全分析平台。是用来提供资产状态、规范性要求、运行环境安全风险、威胁情报,等这些数据的。
用来支撑零信任持续的动态评估。
三、零信任关键技术
刚才说明了零信任的思想,下面是实施时需要的关键技术。目前看,这些技术也是以管理的角度去思考技术应达到的要求,而不是实实在在的哪种技术
1.现代身份与访问管理技术
现代身份与访问管理技术:主要包括身份鉴别、授权、管理、分析和审计,是支撑企业业务和数据安全的重要基础设施。
这里涉及的技术,都已经在安全里烂大街了,零信任还是偏向新思想利用旧技术
现代一次,窃以为是数字化高速发展的体现:用户从企业内扩展到外包、合作伙伴、顾客;设备从笔记本到智能穿戴、IoT;办公地点地理位置分散导致数据隐私、法律要求不同,等等。
这些因素使得用户的访问关系变得复杂,即:”确保正确的人或物,处于正确的原因,能够在正确的时间,正确的地点,从正确的设备中获取到正确的资源(应用、数据等)。“比如境外突然登录一个qq邮箱,这时可能会说网络环境不安全布拉布拉,要求新的元素接入。
这就要求现代身份与访问管理技术要能敏捷和灵活,根据业务状况完善访问机制。
2.软件定义边界技术
软件定义边界(Software Defined Perimeter SDP)是基于零信任的网络安全模型
传统网安基于防火墙创造出一个有实际感受的边界,有个明显内外网分隔。但是随迁移上云、移动办公、物联网应用等这些技术加入到办公环境,就不能单纯地利用防火墙去分割出边界了。
与传统的TCP/IP网络连接默认允许连接不同,在没有身份验证和授权前,服务器对终端用户是完全不可见的,它把资源从公共视野中消失,从而显著减少可攻击面。
在这边我也在想VPN和SDP的比较,VPN也能实现一些所谓的资源授权(如只允许当前账号访问指定网址),找到最多的就是:传统VPN在移动办公场景下不够灵活的问题。或者是SDP能实现VPN所有功能,现有VPN或将向SDP靠近更新。大体上还是因为VPN分配资源的粒度比较大吧,权限不像SDP能动态更新。
-
SDP也有几个特点
- 网络隐身:必须使用授权的SDP客户端和使用专用协议才能访问资源,不是直接把DNS、IP、Port这些暴露出来的。看不到就大大减少受攻击面
- 预验证:用户/终端在连接服务器前先进行合法性校验
- 预授权:在用户/终端接入服务器前,先把权限给限制了,满足最小化特权
- 应用级的访问准入:用户只能访问应用层,看不到网络层的拓扑、服务器配置之类的
- 扩展性:除了特殊的SDP对接协议外,其他的协议按标准来,方便系统集成
3.微隔离技术
现有的安全设备对南北向的流量控制比较强,但东西向的流量就很吃力。一旦攻击者突破了边界,就可以随意东西横向攻击了。甚至有些企业内网各区防火墙都没有什么阻拦策略,DMZ区、Trust区、UnTrust区都没有分离好,果真内网一团糟,全靠边界死扛。
微隔离技术像是一种更细致的网络隔离技术,它利用策略驱动防火墙技术(通常是软件)或网络加密技术实现更细致的隔离。下面是一个网络访问图
真实环境下可能就是如此的混乱,虽然实施了VLAN分区,但LVAN还是太过于松散。如果要细致到一台服务器的一个应用或进程对另一台服务器的某资源进行访问,那VLAN就没法控制了(目前是不确定能否细致到进程,但是对用户的限制应是可以的)。而且即使是服务器之间的访问控制,使用VLAN这类分区也会存在接入点过多、变化复杂而导致变更很幸苦。(比如经常多台服务器要禁止某些连接又开启新的,运维已哭晕)
传统的防火墙可以看作两个模块,一个作为控制中心平台,一个作为策略执行单位。这两部分都集中在一个位置上。
微隔离技术下,控制中心平台和策略执行单元分割开了。策略执行单位一般是虚拟化或者主机agent。现在的传统微隔离技术有三种,简单记下现在我的理解
第三方主机Agent:这个好理解,需要在主机上安装程序。Agent调用主机自身的防火墙或内核自定义防火墙来做服务器间的访问控制。所有数据流都是可见的并将其中继到中央管理器,这种方法可以减轻发现挑战性协议或加密流量的麻烦。但是,它要求所有主机都安装软件,对遗留操作系统和旧系统可能并不友好。
基于虚拟机监控程序:用于监视虚拟机管理程序流量,同一虚拟平台下的虚拟机,他们的流量应该是会通过虚拟机管理程序,在能够派上用场的场景中,基于虚拟机监控程序的方法非常有效。反过来就是不适用于云环境、容器或裸机。
网络隔离:基于访问控制列表(ACL)和其他经过时间检验的方法进行细分。是对现有安全框架的扩展,更细化了访问控制。但是对复杂网络来说还是很难高效地维持。
总结
先计这么多。总体看零信任的思想觉得很有意思。想法很灵活,粒度也很细致。
后面有一些实际应用场景和示例,找时间也补充到本文,或者新篇。
新技术总会带来新问题,我同学直接来句,一直靠着信任评估的引擎,那引擎要是被打了,或者引擎瘫了,是不你整个网都没了。。。。哎,再看看大佬们发表的东西吧,我也觉得零信任落地很难,而且集中信任评估引擎、访问控制引擎确实使得它的资产价值av会很高,导致风险值提升。