未来已来,只是不均衡地分布在当下
大家好,我是菜农,欢迎来到我的频道。
本文共 6471字,预计阅读 20 分钟
信任是一个很奢侈的东西,无论人与人,亦或是网络之间。在网络监控无处不在的时代,谁值得信任反而成为了最大的难题。那么既然无迹可寻,何不放弃信任,走向零信任?
在本篇中我们将掌握零信任的基本概念 与 技术构成。零信任是一种全新的安全架构,但其核心组件是基于身份与访问管理技术、终端设备环境风险评估技术、基于属性的访问控制模型、基于机器学习的身份分析技术等构建。字面上看来没什么值得激动人心的技术,但却步步引人深入,因此这篇权当入门,重在解决 "是什么" 的问题。
一、基本认识
1)由来
零信任也可称为 零信任网络、 零信任模型等,这个概念最早是由 Join Kinddervag 于 2010 年提出的,他当时是 Forrester 的分析师。Join Kinddervag 发现传统的基于边界的网络完全架构存在缺陷,通常被认为 可信 的内部网络充满了威胁,信任
被过度滥用。因此他创造出了零信任的概念,从不信任,始终在校验 便是零信任的核心思想。
2)VPN
在讲零信任之前,我们先从 VPN 进行过渡。在你的认知范围内什么是 VPN ?
通常来说,VPN 是作为企业远程办公的常用工具,我们常常深夜在家办公的时候,首先要做的便是连接上 VPN,只有当连接上 VPN 那一刻起,你才化身最朴实无华的打工人!
VPN 好用吗?好用。它为无数个打工人提供了在家办公的便捷,实现了无数人在家加班的 “追求”。当然,受益的不只是我们,VPN 对于黑客来说也十分好用,它为黑客突破层层边界防御提供了捷径。怎么理解?请看下图!
正常来说,我们要访问内部应用只有在内网的情况下才能正常进行,因为有个防火墙防护着外部流量
那 VPN 在其中就相当于是个后门通道
因此说有了这个通道,方便了员工,也方便了黑客。VPN更加注重加密传输和远程接入等方面,更适合于远程办公和跨地区访问等应用场景。虽然VPN可以对用户进行身份认证,但是其内部网络仍然是一个信任网络,可能会受到内部攻击。
无可厚非,VPN也并非如此不堪,它的特点也同样瞩目:
- 加密传输: VPN可以将数据进行加密,确保传输的隐私安全,避免被恶意攻击者窃取或篡改。
- 隧道化传输: VPN通过在公共网络上建立虚拟通道来传输数据,提高了数据传输的效率和稳定性,并防止数据被嗅探。
- 远程接入: VPN可以使用户在不同的地方远程接入公司的内部网络,从而实现远程办公。
- 身份认证: VPN可以对用户进行身份认证,保证只有授权的用户可以接入网络。
3)相比传统
在传统的网络安全架构中是基于网络边界防护的。企业构建网络安全体系时,首先把网络划分为 外网、内网 和 DMZ区 等不同的安全区域,然后在网络边界上通过部署防火墙、WAF和IPS等网络安全技术手段进行重重防护。
那么这种架构的最大特点便是:认为内网比外网更安全,默认了对内网中的人、设备、系统和应用的所有信任,从而忽视对内网安全措施的加强,因此当黑客攻破内外网间的防护后,就如入无人之地,通过 回连 的方式,一步步试探最高权限的机器进行内部系统的攻破。
在美国 Verizon 公司的《2017年数据泄露调查报告》中便明确提出,造成企业数据泄露的原因主要有两个:一是外部攻击,二是内部威胁 。
在此之前,我们简单了解下传统安全网络架构(如防火墙、入侵检测系统等)存在的几个弊端:
- 单一防御模式:传统安全网络架构采用单一的防御模式,只能检测已知的攻击模式,无法有效应对未知的攻击行为。
- 局限性:传统安全网络架构只能保护内部网络,无法保护移动设备和外部网络。
- 难以管理:传统安全网络架构需要对每个网络设备进行管理和维护,增加了管理难度和成本。
- 无法应对高级威胁:传统安全网络架构无法应对复杂的高级威胁,如APT攻击、零日漏洞等。
- 难以扩展:传统安全网络架构难以适应企业快速扩张和变化的需求,无法实现快速部署和升级。
零信任网络便是对网络安全架构进行了范式上的颠覆,引导安全体系架构 从网络中心化走向身份中心化
这是一个很重大的改变,零信任所依赖的身份认证与访问控制能力通常由身份与访问管理系统(IAM)提供,现代身份管理技术是零信任的技术根基,因此从技术上看,零信任本质上就是利用现代身份管理技术实现对人、设备、系统和应用的全面、动态、智能的访问控制。
零信任架构引导人们更加关注"保护面"而不是"攻击面
4)架构模型
何为零信任?它是建立在以下5个基本假定之上:
- 网络无时无刻不处于危险的环境中
- 网络中自始至终存在外部或内部威胁
- 网络的位置不足以决定网络的可信程度
- 所有的设备、用户和网络流量都应当经过认证和授权
安全策略必须是动态的,并基于尽可能多的数据源计算而来
传统网络安全结构的结构图如下
我们可以清楚地看到在结构图中将不同的网络划分成了不同的区域,不同区域之间使用防火墙进行隔离。每个区域都被授予某种程度的信任,它决定了哪些网络资源允许被访问。这种结构的特点是它具备了强大的纵深的防御能力。而如果突破了某个边界的防火墙,那么在某个特定区域便如鱼得水。
我们一开始就介绍了,零信任模式是完全打破传统的安全架构,那么也就是说 基于网络位置划分区域消失了 。 既然划分区域不存在了,那么VPN的作用自然而然也不存在。VPN 的作用就是对用户进行身份认证并分配IP地址,然后建立加密的传输隧道。用户的访问流量通过隧道传输到远程网络,然后进行数据包的解封装和路由。
零信任结构模型
在图中可以看出零信任架构是由两部分组成,控制平面 和 数据平面。控制平面
其中零信任架构的支撑系统称为控制平面。访问受保护资源的请求首先会经过控制平面处理,包括设备和用户的身份认证和授权。细粒度的控制策略也在这一层进行,控制平面可以基于组织中的角色、时间或设备类型进行授权。如果用户需要访问安全登记更高的资源,那么就需要执行更高强度的认证。
只有当控制平面完成检查,确认请求具备合法的授权,它就会动态配置数据平面,接收 来自该客户端(且仅限该客户端) 的访问流量。数据平面
数据平面的作用是转发网络流量,它需要高速处理数据包,因此其处理逻辑相对简单,通常使用专用硬件。控制平面可以看作是网络设备的大脑,系统管理员用它来配置管理网络设备,因此控制平面会随着策略的变化而变化。
控制平面能够影响数据平面的变化,这种机制非常重要。因为数据平面的系统通常是攻击者进入网络的入口,所以数据平面与控制平面之间的接口必须非常清晰,确保数据平面中的系统不会因为被攻陷而导致在网络内横向移动。数据平面和控制平面系统之间的交互请求必须使用私有PKI系统进行身份认证和加密,以确保接收方的可信度。控制平面和数据平面之间的接口应当类似于操作系统内核空间和用户空间之间的接口,为了防止提权攻击,两个系统之间的交互需要进行高度隔离。
二、核心概念
1)信任管理
既然零信任模型认为一切都是不可信的。那么该如何建立信任?因此信任管理就是零信任网络的一个重要功能。从不信任中建立信任,听起来是那么的矛盾
在某些情况下,人们甚至可能连自己都无法完全信任,但是至少可以确信所采取的行动的确是自己所为。因此,零信任网络中的信任往往源自于系统管理员。
如果一个公司是数十人的规模,那么每次访问搜权都经由系统管理员审批,这看起来并不是很繁琐。但如果用户剧增,成千上百人,乃至上万的体量,这个时候信任管理的工作量就会非常大,而系统管理员的角色岗位总会是那么几个,不会与之配比,那么再让系统管理员进行日常的权限信任多少有点胡来。
那么就由此出现了 信任委托
。
(管理员信任某个特定的系统,这个系统又可以信任另一个系统,从而形成信任链)
信任委托 非常重要,借助信任委托,人们可以构建自动化系统,在无须人为干预的情况下,以安全可信的方式管理大规模增长的零信任网络。
返回给系统管理员的这一串信任通常被称为 信任链(Trust Chain)
系统管理员被称为 信任锚(Trust Anchor)
- 威胁模型
在设计安全架构中的第一步便是 定义威胁模型, 威胁模型是用来描述潜在的攻击者及其能力、资源以及意图攻击的目标。威胁模型通常会明确攻击者的范围,并按照攻击者的能力高低进行排序,以便于人们按照从易到难的顺序,合理部署相应的攻击缓解措施。 威胁模型 作为一种机制,可以帮助我们聚焦于某个具体的威胁,并仔细思考缓解该威胁的具体措施。
网络安全领域中有多种威胁建模的方法,以下这几种都是流行的建模工具
- STRIDE
- DREAD
- PASTA
- Trike
- VAST
一般情况下,零信任网络遵循互联网威胁模型来描述安全态势,规划缓解威胁的措施。因为零信任网路需要控制网络中的断点设备,所以它对互联网威胁模型进行了扩展,充分考虑了端点设备被攻陷的情形。
零信任网络中的威胁模型主要包括以下几种: - 内部威胁:指企业内部员工、合作伙伴或供应商等人员对企业的机密信息或系统资源进行攻击或泄密的威胁。这种威胁模型在零信任网络中尤为重要,因为零信任网络假设所有用户都是不可信的,包括内部用户。
- 外部威胁:指来自外部网络的攻击或入侵,如黑客攻击、恶意软件、网络钓鱼等。这种威胁模型在零信任网络中同样需要考虑,因为任何人都可以通过互联网访问企业的系统和数据。
- 局部网络威胁:指在局部网络内的攻击或入侵,如ARP欺骗、DNS污染等。这种威胁模型在零信任网络中同样需要考虑,因为局部网络内的攻击可以导致整个网络的瘫痪。
- 物理威胁:指物理设备被盗、损坏或篡改等威胁。在零信任网络中,物理设备的安全同样重要,因为物理设备的安全问题可能导致整个网络的瘫痪。
社会工程学攻击:指攻击者通过欺骗、诈骗、伪装等手段获取用户的密码、账号等信息的威胁。在零信任网络中,社会工程学攻击同样需要被防范,因为攻击者可能通过伪造身份或欺骗用户获取访问企业系统的权限。
面对这么多威胁,零信任模型仅需要保证用于认证和授权操作的信息的机密性,如存储在磁盘上的凭据的机密性。至于对端点系统安全性的进一步要求,如全盘加密等,是其他安全策略需要考虑的问题。- 可变信任
信任管理是网络安全管理中非常困难的工作。确定网络中的人员和设备应该如何搜权是相当耗费时间,并且人员和设备又在不断变化,这会直接影响网络的安全态势。
定义信任策略这项工作通常由安全工程师手工完成,系统管理员可以根据用户在组织中的职责为其分配相应的权限。但是这种基于角色的策略系统导致管理员不得不制造出许多信任池,从而削弱了网络的整体安全态势
因此信任池问题凸显了传统网络信任管理的根本性缺陷:安全策略动态性不足,无法应对日益变化的网络安全威胁。 因此这种信任管理需要是动态可变的,也就是 可变信任。
在零信任网络中,可变的信任是指在任何时刻,网络中的任何设备、用户或应用程序都不应被默认信任。相反,每个实体都必须经过身份验证和授权,以确定其是否有权访问特定资源或执行特定操作。这种信任是根据实时评估和监控不同实体的行为和活动而建立的,因此可以随时改变。
例如,如果一个用户的行为开始表现出异常或可疑的活动,他的信任级别可能会下降,从而限制他对资源的访问。因此,在零信任网络中,信任是基于行为和上下文评估的,而不是基于预设的信任级别或身份。
当然了,凡事没有绝对性,这种模式也不是没有缺点的。其中一个问题是,单一的评分值是否足以保护所有的敏感资源。用户的信任评分能够基于历史行为而降低,同样也可以基于历史的可信行为而增加。那么,攻击者是否有可能通过在系统中慢慢建立信任,从而获得更高的访问权限呢?
2)网络代理
网络代理是指在网络请求中用于描述请求发起者的信息集合,一般包括用户、应用程序和设备这三类实体信息。在传统网络架构中,一般是对这些实体进行单独授权。但是在零信任网络中,策略是基于这3类实体信息的组合整体进行制定。用户、应用程序和设备信息是访问请求密不可分的上下文,将其作为整体进行授权,可以有效地应对凭证窃取等安全威胁。
网络代理属于授权范畴,它参与授权决策,不属于认证范畴,但认证的结果和状态会在网络代理的数据中有所体现。控制平面基于网络代理对访问请求进行授权,这些系统是零信任网络中授权的首要执行者。在某些场景中,要实现细粒度的授权,需要把网络代理的部分信息从控制平面传递给数据平面,本章也探讨了在暴露网络代理信息的时候如何保证数据的隐私安全。
代理可以作为一种安全网关,位于网络边界上,过滤和检查所有进出企业网络的流量。以下是零信任网络中使用网络代理的一些示例:
- 访问控制:网络代理可以根据用户身份、设备健康状况、访问的应用程序等因素,限制用户对特定资源的访问。
- 数据保护:代理可以加密和解密数据,以便在数据在网络上传输时保护数据的隐私和完整性。
- 应用程序保护:代理可以检查应用程序的行为和活动,以确保它们符合企业的安全策略和规则。
- 威胁检测:代理可以监测所有进出企业网络的流量,检测并阻止潜在的安全威胁。
安全审计:代理可以记录所有进出企业网络的流量,并生成详细的安全审计报告,帮助企业了解网络活动和事件。
3)授权
全篇都围绕着 授权 两个关键词,由此可知 搜权 是零信任网络中当仁不让的核心机制和流程。
零信任授权体系架构包括 4 个核心组件- 策略执行组件
- 策略引擎
- 信任引擎
数据存储系统
- 策略执行组件
在逻辑上处于授权信息流的第一道关口,负责拦截访问请求并通过调用策略引擎完成授权决策。
策略执行组件有两大职责:- 和策略引擎交互完成授权决策,比如:负载均衡器收到一个请求时需要通过授权并获悉此请求是否被允许
授权决策结果的强制执行。
策略执行组件的位置非常重要,作为零信任网络在数据平面的实际控制点,它也可以被称为策略执行点,需要确保其部署位置尽量靠近终端,否则信任“收缩”到策略执行组件之后,零信任的安全性可能会受到影响。实际实现中,策略执行点可以作为客户端组件在系统中大量部署,这一点和其他组件不同,其他组件大多数是作为服务组件进行部署。- 策略引擎
策略引擎是零信任授权模型中进行授权决策的组件,它接收来自策略执行组件的授权请求,并和预先制定好的策略进行比较,决定请求是否被允许,并将决策结果返回策略执行组件进行强制执行。
在策略引擎和策略执行组件之间继续进行进程级隔离还是必须的。
这边我们需要了解的是零信任模型和传统网络安全在策略上的差异点主要体现在用于定义策略的控制机制不同。 零信任策略不基于网络具体信息(如IP地址或网段),而是基于网络中的逻辑组件来执行策略,这些逻辑组件可能包括以下几种:- 网络服务
- 设备终端分类
用户角色
- 信任引擎
在零信任网络里,信任引擎是对特定的网络请求或活动进行风险分析的系统组件,其职责是对网络请求及活动的风险进行数值评估,策略引擎基于这个风险评估进行进一步的授权决策,以确定是否允许此次访问请求。
信任引擎通过分析请求者的身份,行为和上下文来评估安全风险。它使用多种技术,如身份验证,行为分析,威胁情报和上下文分析来进行评估。如果请求者的安全风险被评估为高,则信任引擎可以拒绝该请求或者对其进行限制。
信任引擎的目的是提高网络安全性,防止未经授权的访问和攻击,同时也不影响合法用户的网络使用。它是零信任网络安全策略的核心部分,并且是实现零信任网络的关键。- 数据存储系统
数据存储系统负责存储关键信息,如请求者的身份信息,行为信息,上下文信息等。主要功能包括:
- 数据存储:存储网络中的数据,以便随时可以使用。
- 数据管理:管理网络中的数据,以保证数据的完整性和一致性。
- 数据安全:通过加密,访问控制等技术来保护存储的数据不被未经授权的访问。
- 数据分析:分析存储的数据,以识别潜在的安全威胁和风险。
数据存储系统是零信任网络中的重要组成部分,它提供了一个安全的存储环境,以确保网络数据的安全性。它的安全性非常重要,因为它存储的数据可用于评估请求者的安全风险,并决定是否允许该请求。
零信任网络一般具备多类按照功能划分的数据库,其中主要分为两大类:清单库 和 历史库 。 清单库是记录资源当前状态的权威数据源,用户清单库存放所有的用户信息,设备清单库则记录公司所有在册的设备的最新信息。
三、来个小结
零信任网络(Zero Trust Network)的核心概念包括:
- 零信任原则:在零信任网络中,不信任任何网络上的任何人或设备,无论它们是否位于内部网络。
- 身份验证:识别请求者的身份是零信任网络的关键组成部分。通过对请求者的身份进行验证,可以确保请求者是合法用户。
- 行为分析:通过分析请求者的行为,可以识别潜在的攻击行为。
- 威胁情报:通过分析威胁情报,可以识别潜在的威胁。
- 上下文分析:通过分析请求者的上下文,可以识别潜在的安全风险。
- 多重认证:使用多重认证,可以确保请求者的身份是真实的。
- 动态访问控制:通过动态访问控制,可以根据请求者的安全风险评估结果来决定是否允许该请求。
实时监控:通过实时监控,可以及时发现潜在的安全威胁,并对其进行响应。
当然了,本篇仅仅是为读者起个开头,继续往下深究的话我们可以了解如何建立用户信任、如何建立应用信任以及如何建立流量信任等,这些都是值得探索的。零信任网络名词很新,不过核心技术却是日常经常接触的。
以上便是本篇的所有内容,如果觉得对你有帮助的小伙伴不妨点个关注做个伴,便是对小菜最大的支持。不要空谈,不要贪懒,和小菜一起做个吹着牛X做架构
的程序猿吧~ 咱们下文再见!今天的你多努力一点,明天的你就能少说一句求人的话!
我是小菜,一个和你一起变强的男人。💋
微信公众号已开启,菜农曰,没关注的同学们记得关注哦!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。