读零信任网络:在不可信网络中构建安全系统04最小特权

1. 公钥基础设施

1.1. PKI

1.2. 数字证书本身并不能解决身份认证问题

1.2.1. 需要一种方法来验证获得的公钥的确属于某人

1.2.2. 公钥基础设施(PKI)解决了这个问题

1.3. PKI定义了一组角色及其职责,能够在不可信的网络中安全地分发和验证公钥

1.4. PKI的目标是允许无特权的通信双方通过共同信任的第三方来验证对方身份的真实性

1.5. PKI利用注册中心(RA)把通信实体的身份与其公钥进行绑定,然后把这种绑定关系内嵌入数字证书,并由可信的第三方进行数字签名

1.5.1. 只要发送方和接收方信任同一个第三方,发送方就可以使用经过第三方签名的证书来证明自己的身份

1.6. 证书授权中心(CA)和信任网络(WoT)是较受欢迎的两类供应商

1.6.1. CA的信任依赖于数字签名链,用户能够根据数字签名链回溯到初始的可信根节点

1.6.1.1. CA的流行程度远远超过信任网络

1.6.2. WoT没有使用信任链的形式,而是允许参与通信的系统断言对等方身份的有效性,最终形成相互背书的网状结构

1.6.2.1. WoT在PGP系统中得到了广泛使用

1.7. PKI通常被部署为公共的信任系统,签发和管理互联网上使用的X.509证书

2. CA

2.1. CA是数字证书链的信任锚,它们签署并公开发布公钥及其绑定的身份信息,允许无特权实体通过数字签名来验证这种绑定关系的有效性

2.2. CA证书用于表明CA自己的身份,CA证书对应的私钥用于签署由其颁发的客户证书

2.3. CA证书是众所周知的,所以通信实体可以使用CA证书来校验该CA颁发的客户证书的数字签名

2.4. CA作为可信的第三方,能够为客户签发并维护数字证书的有效性

2.5. CA作为可信的第三方拥有非常高的特权,因此必须不惜一切代价保护CA的安全性

2.5.1. CA的安全性一旦遭到破坏,就会导致灾难性的后果

2.6. X.509数字证书标准支持证书链,所以根CA可以保持离线状态

2.6.1. 离线状态的根CA可以得到更好的安全保护,这也是绝大多数PKI体系的根CA的标准做法

3. 零信任模型中PKI

3.1. PKI是零信任模型身份认证的基石,大多数零信任网络都采用PKI来证明身份的真实性

3.1.1. PKI可以绑定实体的身份和公钥

3.1.2. 需要安全地保存实体的私钥,并且应当使其尽可能靠近实体的物理位置,这在身份认证机制中是非常重要的一点

3.2. 零信任网络颁发的证书数量可能会很多,因此非常有必要对证书进行自动化管理

3.2.1. 数字证书的签发毕竟是敏感度很高的工作,因此很多系统在设计时都会保留人工可以介入的审批流程

3.3. 虽然公共PKI非常适合作为互联网的信任基础设施,但是却不适合零信任网络

3.4. 为什么公共PKI不适合零信任网络?

3.4.1. 突出缺点是成本

3.4.1.1. 机构都是商业化运作的,签发证书需要收取费用
3.4.1.2. 零信任网络可能会使用大量的证书,如果考虑到凭据轮换策略,证书的使用量会更大,这会产生高昂的证书签发费用,很多组织难以承受

3.4.2. 另一个重大缺点,那就是CA机构的可信度问题

3.4.2.1. 很多公共的CA机构是由不同的国家和政府运营的
3.4.2.2. 任何一个CA机构出现问题,都会切断整个零信任网络的信任
3.4.2.3. 只使用特定的某一个公共CA,但是如果它与其他组织使用的CA没有交集,那么如何建立和保持信任就是一个挑战

3.4.3. 使用公共CA会影响零信任网络的灵活性和可扩展性

3.4.3.1. 零信任网络为了完成身份认证,可能需要在证书中存储与组织相关的元数据,比如用户角色或用户ID等
3.4.3.2. 规定并不一定适用于特定组织的零信任网络

3.5. 使用公共PKI总比完全没有PKI要好

3.5.1. 如果在零信任网络建设的初期选择使用公共PKI,那么在意识到风险变大时,需要有明确的路径能够切换成使用私有PKI

4. 最小特权

4.1. 最小特权原则是指一个实体应该只被授予完成任务所需要的特权,而不是被授予该实体想要得到的权限

4.2. 最小特权原则能够极大降低用户或应用程序滥用权限的可能性

4.2.1. 对应用程序来说,最小特权通常意味着其运行在服务账号、容器或“监狱”(Jail)中

4.2.2. 对用户来说,最小特权通常表现为“只有工程师才能访问源代码”这样的安全策略

4.2.3. 终端设备也同样需要考虑最小特权原则,但通常情况下终端设备采用与用户或应用程序相同的策略

4.3. 以保护隐私的名义进行网络数据包加密是一种经常被忽视的最小特权应用

4.4. 如果确实需要更高的访问权限,那么用户可以并且只能在需要的时候获得这些特权

4.4.1. 当需要提升权限时,则需要使用拥有更高权限的独立账户执行操作

4.4.2. 提升用户的权限通常需要验证其身份

4.5. 零信任网络的情形与之类似,用户在大多数情况下以最小特权模式访问网络资源,只在需要执行敏感操作时才提升权限

4.5.1. 对于风险相对较低的操作,特权提升过程可以很简单,只需重新提示用户输入口令、要求出示双因素认证令牌或者给用户的手机推送认证通知

4.5.2. 对于高风险的操作,可以选择通过带外方式要求相关人员进行主动确认

4.6. 强制性关联身份认证的过程和现实世界是一个不错的办法,这能够避免已被攻陷的系统干扰正常的操作

4.6.1. 人们在配置一台新的计算机时,第一步往往就是禁用保护计算机应用程序的安全框架,这几乎成了常态

4.7. 零信任网络中的特权比传统网络更具有动态性

4.7.1. 除了用户,零信任网络也应当为应用程序配置最小特权

4.7.2. 零信任网络还需要考虑设备的特权

4.7.2.1. 这种方式有效地降低了用户凭据丢失或被盗而造成的损失和影响

4.8. 传统网络中的安全策略往往是静态的,如果遇到需要更高特权的情形,则特权的请求者通常需要说服系统管理员变更安全策略,或者请求系统管理员代替他们执行操作,后一种做法更普遍

4.8.1. 在管理相对宽松的组织中,特权数量会随着时间的推移而逐渐增长,最终导致最小特权原则失效

4.8.2. 无论组织的管理是宽松还是严格,系统管理员都被赋予了更高的访问权限,这会导致其成为攻击者实施网络钓鱼攻击的主要目标

4.9. 零信任网络依靠网络活动的诸多属性来分析当前访问请求的风险

4.9.1. 时间属性

4.9.1.1. 某用户在正常活动时间窗口之外的访问请求更加可疑

4.9.2. 空间属性

4.9.2.1. 某用户从与上次访问不同的地理位置发起访问请求

4.9.3. 行为属性

4.9.3.1. 某用户试图访问通常情况下不应该访问的资源

4.9.4. 用户在正常工作时间从其正常地理位置访问数据库的请求应该被授权,但是从新的地理位置或者在非工作时间访问数据库的请求则被要求使用多因子身份认证

4.9.5. 基于网络活动的风险分析主动调整访问权限的能力是零信任网络的安全特性之一

4.9.5.1. 通过动态调整安全策略和访问权限,零信任网络能够积极应对已知和未知的恶意攻击

5. 可变的信任

5.1. 信任管理是网络安全管理中非常困难的工作

5.1.1. 安全网络的黄金标准:根本就不存在高特权的系统管理员

5.2. 定义信任策略这项工作通常由安全工程师手工完成

5.2.1. 初级的用户权限区隔(如超级用户、管理员和普通用户),很难满足高级用户的需求

5.2.2. 安全策略变更之后导致的影响范围也同样很难界定,于是系统管理员对策略的变更非常谨慎

5.2.3. 权限分配通常也是手工作业,系统管理员根据用户在组织中的职责为其分配相应的权限

5.2.4. 管理员不得不制造出许多信任池(pool of trust)

5.3. 安全策略动态性不足,无法应对日益变化的网络安全威胁

5.3.1. 需要重新思考网络参与者的信任关系,意识到网络参与者的信任是基于参与者过去和当前的行为而不断变化的

5.3.2. 安全策略的定义不仅基于确定性的描述,还要基于不断变化的度量分值,这为系统提供了一种防御任意威胁的机制

5.3.2.1. 持续监视参与者的网络活动,并据此持续更新其信任评分,然后使用这个评分作为授权策略判定的依据之一
5.3.2.2. 能够对确保信任所需的检查与平衡进行细粒度的决策判定

5.4. 安全成熟度比较高的组织会针对网络活动部署审计设备,执行审计流程,但是审计工作的执行频率往往不高,而且坦率地说,网络活动的审计工作非常乏味,以至于没人愿意认真做好这件事

5.5. 由于零信任网络中的所有网络流量都是加密的,因此传统的流量监听方法很难达到预期的效果,只能看到有限的内容

5.6. 强策略是信任的“增压器”

5.6.1. 基于信任评分的策略能够根据历史行为等多种变量动态影响授权的判定结果,这将极大地改善网络的安全态势

5.6.2. 经由这种机制检查和授权的访问会话有更高的可信度

5.6.3. 这种信任评分积累机制可以显著降低此依赖,从而改善用户的使用体验

5.6.4. 用户的信任评分能够基于历史行为而降低,同样也可以基于历史的可信行为而增加

5.6.4.1. 只要延长用户积累信任所需的“正常”行为的时间,就能够延缓攻击者积累信任的进度,从而应对这种威胁
5.6.4.2. 把敏感操作的若干条信息公布给控制平面,并将其配置成只有可信位置的可信用户才能够访问
5.6.4.3. 既可以显式描述确定的授权策略,又可以通过计算信任评分的方式应对未知的威胁

5.6.5. 单一的评分值是否足以保护所有的敏感资源

5.7. 安全策略和用户组织角色之间的解耦可能会给最终用户带来一定的困扰

6. 控制平面和数据平面

6.1. 基本思想是,网络设备有控制平面和数据平面两个逻辑域,这两个逻辑域之间存在清晰的接口

6.2. 数据平面的作用是转发网络流量,它需要高速处理数据包,因此其处理逻辑相对简单,通常使用专用硬件

6.2.1. 零信任网络中的数据平面由直接处理网络流量的应用程序、防火墙、代理服务器和路由器组成

6.2.2. 不能使用数据平面上的服务来获得控制平面的特权,从而在网络中横向移动

6.2.2.1. 数据平面与控制平面之间的接口必须非常清晰,确保数据平面中的系统不会因为被攻陷而导致在网络内横向移动

6.2.3. 数据平面和控制平面系统之间的交互请求必须使用私有PKI系统进行身份认证和加密,以确保接收方的可信度

6.3. 控制平面可以看作是网络设备的大脑,系统管理员用它来配置管理网络设备,因此控制平面会随着策略的变化而变化

6.3.1. 控制平面的强可塑性导致其无法处理高速网络数据包流量

6.3.2. 任何在数据平面执行的策略行为,都要尽可能减少向控制平面发送请求(相对于网络流量速率来说)

6.3.3. 控制平面和数据平面之间的接口应当类似于操作系统内核空间和用户空间之间的接口,为了防止提权攻击,两个系统之间的交互需要进行高度隔离

6.3.4. 控制平面是整个网络的信任授予者

6.3.4.1. 由于控制平面对网络行为的控制力度非常大,因此其自身的可信度至关重要
6.3.4.2. 零信任网络中存在这样一个具有极高特权的参与者

6.3.5. 控制平面授予数据平面的某个参与者的信任应该具有时效性

6.3.5.1. 租用访问令牌或短生命周期证书是实现这一原则的较合适的解决方案
6.3.5.2. 通过限制数据平面和控制平面进行凭据交互的时间窗口,能够降低对网络进行物理攻击的可能性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AMQP-核心概念-终章

本文参考以下链接摘录翻译: https://www.rabbitmq.com/tutorials/amqp-concepts 连接(Connections) AMQP 0-9-1连接通常是长期保持的。AMQP 0-9-1是一个应用级别的协议,它使用TCP来实现可靠传输。连接使用认证且可以使用TLS保护…

观远BI经验总结

观远BI经验总结 观远BI(Galaxy platform)简介 ​ 观远数据是一站式智能分析平台,为企业提供数据分析可视化与智能决策服务,打通数据采集-数据接入-数据管理-数据开发-数据分析-AI建模-AI模型运行-数据应用全流程,全方…

Golang | Leetcode Golang题解之第300题最长递增子序列

题目&#xff1a; 题解&#xff1a; func lengthOfLIS(nums []int) int {if len(nums)<1{return len(nums)}dp : make([]int,len(nums))for i:0;i<len(nums);i{dp[i]1}res : 1for i:1;i<len(nums);i{for j:0;j<i;j{if nums[i] > nums[j]{dp[i] max(dp[i],dp[j…

录制创意无限的视频:2024年热门免费录屏软件精选

录屏会帮助我们捕捉屏幕上每一帧的精彩瞬间&#xff0c;不论是直播还是学习甚至是工作的会议都能用到这个功能。如果找到一款好用的免费录屏软件&#xff0c;那我们录屏时候会更随意&#xff0c;更愉悦一些吧。 1.福昕录屏大师 链接&#xff1a;www.foxitsoftware.cn/REC/ 这款…

【扒代码】X = output[:,:,y1:y2,x1:x2].sum()

假设我们有以下输入&#xff1a; output 是一个形状为 (1【batch size】, 1【channel】, 10, 10) 的张量&#xff0c;表示一个 10x10 的输出图像。boxes 是一个形状为 (1【index】, 2, 5) 的张量&#xff0c;表示两个边界框&#xff0c;每个边界框包含 5 个值 [index, y1, x1,…

AttributeError: ‘str‘ object has no attribute ‘decode‘

AttributeError: ‘str‘ object has no attribute ‘decode‘ 目录 AttributeError: ‘str‘ object has no attribute ‘decode‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#x…

springBoot 3.X整合camunda

camunDa camunDa 是2013年从Activiti5 中分离出来的一个新的工作流引擎。Camunda 官方提供了 Camunda Platform、Camunda Modeler&#xff0c;其中 Camunda Platform 以 Camunda engine 为基础为用户提供可视化界面&#xff0c;Camunda Modeler 是流程文件建模平台&#xff0c…

虚拟换装的一个项目:IMAGDressing-v1

虚拟换装的一个项目&#xff1a;IMAGDressing-v1 IMAGDressing-v1是一个可定制虚拟着装系统&#xff0c;可以生成逼真的服装并支持场景编辑 特点&#xff1a; 1、支持服装生成&#xff0c;可根据&#xff0c;例如文本提示、图像、姿势等&#xff0c;生成逼真的服装图像&…

GuLi商城-商品服务-API-平台属性-规格参数新增与VO

重写保存方法: @Transactional(rollbackFor = Exception.class) @Ove

Linux驱动编程 - 字符设备驱动

目录 简介&#xff1a; 一、字符设备驱动框架 1、字符设备驱动入口 2、字符设备驱动加载过程 2.1 申请设备号 2.1.1 分配设备号函数 (1) 静态分配函数 (2) 动态分配函数 (3) 注销设备号 2.1.2 设备号中的主/次设备号 2.1.3 申请设备号示例 2.2 注册字符设备 2.2.1 cd…

手摸手教你撕碎西门子S7通讯协议06--S7Read读取short数据

1、S7通讯回顾 - &#xff08;1&#xff09;建立TCP连接 Socket.Connect-》已实现 - &#xff08;2&#xff09;发送访问请求 COTP-》已实现 - &#xff08;3&#xff09;交换通信信息 Setup Communication-》已实现 - &#xff08;4&#xff09;执行相关操作 …

如何使用rdma-core来实现RDMA操作

rdma-core 是一个开源项目&#xff0c;为远程直接内存访问&#xff08;RDMA&#xff09;提供用户空间的支持。它包括 RDMA 设备的驱动程序、库和工具&#xff0c;旨在简化 RDMA 应用的开发和部署。 基础知识参考博文&#xff1a; 一文带你了解什么是RDMA RDMA 高性能架构基本…

Langchain--如何使用大模型 2.0

【&#x1f34a;易编橙终身成长社群&#x1f34a;】 大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; ) &#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官、CSDN人工智能领域优质创作者 。 Langch…

【已解决】嵌入式linux mobaxterm unable to open connection to comx 串口正常连接,但终端无法输入

1.点击Session重新选择串口&#xff0c;注意看看串口是不是连接到虚拟机&#xff0c;导致串口被占用。 2.选择PC机与开发板连接的串口&#xff0c;不知道的话可以打开设备管理器看看&#xff0c;选择正确的波特率&#xff0c;一般是115200。 3.关键一步&#xff1a;选择后别急…

【计算机网络原理】网络层IP协议的总结和数据链路层以太网协议的总结.

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

MobaXterm tmux 配置妥当

一、事出有因 缘由&#xff1a;接上篇文章&#xff0c;用Docker搭建pwn环境后&#xff0c;用之前学过的多窗口tmux进行调试程序&#xff0c;但是鼠标滚动的效果不按预期上下翻屏。全网搜索很难找到有效解决办法&#xff0c;最后还是找到了一篇英文文章&#xff0c;解决了&…

正点原子imx6ull-mini-Linux设备树下的LED驱动实验(4)

1&#xff1a;修改设备树文件 在根节点“/”下创建一个名为“alphaled”的子节点&#xff0c;打开 imx6ull-alientek-emmc.dts 文件&#xff0c; 在根节点“/”最后面输入如下所示内容 alphaled {#address-cells <1>;#size-cells <1>;compatible "atkalp…

25.惰性队列

介绍 消费者由于各种原因而致使长时间不能消费消息造成堆积。比如有一百万条消息发送到mq中&#xff0c;消费者这时宕机了不能消费消息&#xff0c;造成了消息堆积。惰性队列就有必要了。 正常情况下&#xff0c;消息保存在内存中。消费者从内存中读取消息消费&#xff0c;速…

游戏制作中没想明白的事情

当一个备忘录&#xff0c;有的是还没有时间去深入研究&#xff0c;或者没有从头了解 什么是建模绑定&#xff1f;为什么人物建模&#xff0c;初始化都是双手打开的&#xff1f;平着放武器&#xff0c;但运行的时候武器会自动竖起来&#xff0c;这是怎么做到的&#xff1f; 思…

KamaCoder 100. 岛屿的最大面积 + Leetcode 695. Max Area of Island

题目描述 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;计算岛屿的最大面积。岛屿面积的计算方式为组成岛屿的陆地的总数。岛屿由水平方向或垂直方向上相邻的陆地连接而成&#xff0c;并且四周都是水域。你可以假设矩阵外均…