构建安全架构的 Azure 云:深入了解零信任体系结构

news2024/11/15 23:22:01

文章目录

    • 前言
    • 一、零信任安全模型的概念以及背景介绍
    • 二、传统安全模型(边界模型)
    • 三、零信任模型(现阶段主流云厂商策略)
    • 四、Azure 中的零信任体系结构(本文重点)
      • 4.1 基础知识点(必须了解)
        • (一)Azure 中零信任的指导原则
        • (二)Azure 中调整为零信任
      • 4.2 Azure 中的零信任体系结构(六层防御)
      • 4.3 Azure Cloud Zero Trust 的高层设计和低层级设计
        • (一)高层级设计
        • (二)低层级设计
        • (三)真实公司案例
    • 文末总结
    • 参考文献

前言

零信任正成为云安全的一种日益重要的模型,特别是在 Azure 云环境中。随着越来越多的企业迁移到云,确保安全的云环境已经成为当务之急。“零信任模型”正迅速成为实现这种安全性的主要方法。要在Azure云中实现零信任模型,需要仔细的规划和执行。本文将讨论 Azure Cloud Zero Trust 的高层和低层设计,并给出在其云环境中使用Zero Trust的真实公司的例子。

一、零信任安全模型的概念以及背景介绍

零信任安全模型(英语:Zero trust security model),也称零信任架构、零信任网络架构、ZTA 、ZTNA 等,还有时称为无边界安全(perimeterless security),此概念描述了一种 IT 系统设计与实施的方法。零信任安全模型的主要概念是“从不信任,总是验证” ,即不应默认信任设备,即使设备已经连接到经许可的网络(例如公司局域网)并且之前已通过验证。大多数现代企业网络结构复杂,包含众多相互连接的区域、云服务以及基础设施,以及与远程和移动环境的连接、非常规 IT 连接(例如物联网设备)。零信任原则是因传统的方法(如在名义上的“企业边界”内信任设备,或者设备通过 VPN 进行连接)不切合企业网络的环境复杂性。零信任提倡相互认证,包括在不考虑位置的前提下检查设备身份和完整性,以及基于设备身份和设备状况的置信度来结合用户身份验证,提供对应用程序和服务的访问许可。

1994年4月,Stephen Paul Marsh 在其斯特灵大学计算机安全专业的博士论文中提出了“零信任(zero trust)”一词。Marsh的研究将“信任”视作可以用数学描述的有限事物,断言“信任”的概念超越了道德、伦理、合法性、正义和判断等人为因素。

2003年的 Jericho Forum 强调了为组织 IT 系统定义边界的挑战性,讨论了当时称为“去边界化”的趋势。2009年,Google 实施了一种名为BeyondCorp 的零信任架构。Forrester Research的分析师 John Kindervag 在2010年使用术语“零信任模型”表示更严格的公司内部网络安全计划和访问控制。

讲真的,Google 公司毫无疑问为软件业甚至其他行业做了巨大贡献,比如现在火爆的 ChatGPT, Google 发布论文《Attention is all you need》,提出 Transformer 模型,为 GPT 铺就了前提。
而零信任模型基本现在也被各大云厂商所应用,并作为云架构安全基础依据。

二、传统安全模型(边界模型)

传统的基于边界的网络安全架构通过防火墙、WAF、IPS 等边界安全产品/方案对企业网络边界进行重重防护。它的核心思想是分区、分层(纵深防御)。边界模型专注防御边界,将坏人挡在外面,假定已经在边界内的任何事物都不会造成威胁,因而边界内部基本畅通无阻。

几乎所有网络安全事故的调查都指出,黑客在完成攻击之前,甚至之后,曾长期潜伏在企业内网,利用内部系统漏洞和管理缺陷逐步获得高级权限;另一方面,内部人员的误操作和恶意破坏一直是企业安全的巨大挑战,长期以来都没有好的解决方案。也就是说,认为企业内网是可信区域的传统看法是站不住脚的。

除了外部威胁和内部威胁导致基于边界的安全体系失效,移动办公和云服务的增长,也令很多公司企业难以确立起网络边界。传统筑起边界长城守护内部资源的做法,随着企业数据的分散化和数据访问方式的多样化而不再有效。现实情况是,企业应用一部分在办公楼里,一部分在云端——分布各地的雇员、合作伙伴和客户通过各种各样的设备访问云端应用。

零信任安全就是在这样的背景下诞生的,其目的是基于身份和访问控制从0构建企业新的逻辑边界。

三、零信任模型(现阶段主流云厂商策略)

默认情况下不应该信任网络内部和外部的任何人/设备/系统,需要基于认证和授权重构访问控制的信任基础。诸如IP地址、主机、地理位置、所处网络等均不能作为可信的凭证。零信任对访问控制进行了范式上的颠覆,引导安全体系架构从“网络中心化”走向“身份中心化”,其本质诉求是以身份为中心进行访问控制。

在这里插入图片描述

在 Evan Gilman《零信任网络》一书中,零信任网络被描述为建立在以下五个基本断言上:

  1. 应该始终假设网络充满威胁。

  2. 外部和内部威胁每时每刻都充斥着网络。

  3. 不能仅仅依靠网络位置来建立信任关系。

  4. 所有设备、用户和网络流量都应该被认证和授权。

  5. 访问控制策略应该是动态的基于尽量多的数据源进行计算和评估。

由此可以看出,零信任的理念,已经从边界模型“信任但验证”转换到“从不信任,始终验证”的模式。(注意重点,此处可能会在考试中出现判断类的题目或者面试被问到,我觉得这是起码的知识点,你要知道的

根据以上五个断言,零信任模型被认为遵守以下4个基本原则:

  1. 验证用户:基于位置、设备和行为来评估用户安全情况,确定用户是否是其所声称的身份。采取恰当的措施(比如多因子身份验证)来确保用户真实性。

  2. 验证设备:无论是公司设备、BYOD还是公共主机、笔记本电脑或移动设备,基于设备身份和安全情况实施访问控制策略。只允许受信终端访问公司的资源。

  3. 限制访问与权限:如果用户和设备通过了验证,对资源实施基于角色的访问控制模型,赋予其仅供完成当次工作的最小权限。

  4. 自适应:各类源(比如用户、其设备、与之相关的所有活动)总在不断产生信息。利用机器学习来设置上下文相关访问策略,自动调整并适应策略。

四、Azure 中的零信任体系结构(本文重点)

4.1 基础知识点(必须了解)

(一)Azure 中零信任的指导原则

Microsoft 强烈建议使用零信任安全模型,该模型基于以下指导原则:

  • 显式验证 - 始终根据所有可用的数据点进行身份验证和授权。
  • 使用最低访问权限 - 使用实时和恰好足够的访问权限 (JIT/JEA)、基于风险的自适应策略和数据保护,来限制用户访问。
  • 假设出现信息泄露 - 最大限度地减少影响范围,并对访问进行分段。 验证端对端加密并使用分析来获取可见性、驱动威胁检测并改善防御。

注意这里博主总结一段话,方便记忆,请一定要记住 Azure 中的指导原则:基于显示验证应用最小特权访问始终假设违规的原则。

(二)Azure 中调整为零信任

传统上,公司网络受到限制、保护并且通常被认为是安全的。 只有被管理的计算机可以加入网络,VPN 访问受到严格控制,并且个人设备经常受到限制或阻止。

零信任模型不会假设因为设备在公司网络内,它就是安全的,而是要求每个人都进行身份验证。 然后基于身份验证而不是位置授予访问权限

在这里插入图片描述

4.2 Azure 中的零信任体系结构(六层防御)

注意:如果你是想备考初级认证比如说 az-900,此部分可以略过,如果你是企业云管理员或者云架构师,建议了解一下。

在这里插入图片描述

零信任基于显示验证应用最小特权访问始终假设违规的原则,建立了跨越多个防御层的全面控制平面:

  • 身份(Identity)
    Azure Active Directory 为你的人员,用于应用程序和进程的服务帐户以及你的设备分配身份和条件访问控制。

  • 设备(也称为终结点,Endpoints)
    Microsoft Endpoint Manager 确保设备及其安装的应用程序满足你的安全性和合规性策略要求

  • 应用领域(Applications)
    Microsoft Endpoint Manager 可用于配置和实施策略管理。 Microsoft Cloud App Security 可以发现和管理正在使用的 Shadow IT 服务。

  • 网络(Network)
    获取许多控件,包括网络分段,威胁防护和加密。

  • 基础设施(Infrastructure)
    Azure 着陆区,蓝图和策略可以确保新部署的基础架构满足云资源的合规性要求。 Azure 安全中心和 Log Analytics 帮助提供针对本地,跨云和跨平台基础结构的配置和软件更新管理。

  • 数据(Data)
    将数据访问限制为仅需要它的人员和流程。

下图提供了构成零信任的主要元素的表示形式。
在这里插入图片描述
在图中可以看出:

  • 安全策略强制实施是零信任体系结构的核心。 这包括具有条件访问的多重身份验证,其中考虑到用户帐户风险、设备状态以及你设置的其他条件和策略。
  • 六层防护:标识、设备(也称为终结点)、数据、应用程序、网络和其他基础结构组件都配置了适当的安全性。 为每个组件配置的策略与整体零信任策略相协调。 例如,设备策略确定正常运行设备的条件,条件访问策略需要正常运行的设备才能访问特定应用和数据。
  • 威胁防护和智能监视环境、发现当前风险,并采取自动化操作来补救攻击。

4.3 Azure Cloud Zero Trust 的高层设计和低层级设计

做架构必须了解,如果考试初级,可以跳过

(一)高层级设计

在高层上,Azure Cloud Zero Trust 旨在围绕云环境构建一个安全边界。一般多层保护(例如身份和访问管理、数据保护、网络安全和威胁保护)用于保持此边界。个人感觉这种设计类似于传统的隔离设计。Azure 云为高层设计提供了几个关键组件,包括:

  • 身份与访问管理:Azure 云使用 Azure Active Directory (AAD) 进行身份管理。AAD 提供多因素认证(MFA)和条件访问策略,确保只有授权用户才能访问云环境。

  • 数据保护:Azure 云提供加密、数据防丢失和信息权限管理,保护静止和传输中的数据。这个比较好理解,在数据库层次,这些都有加密手段,我说的是在 Azure 中,如果安全级别较高,可以选用是否加密进行保护等。

  • 网络安全:Azure 云提供虚拟网络隔离、分布式拒绝服务(DDoS)保护和网络安全组,以防止基于网络的攻击。

  • 威胁防护:Azure 云提供先进的威胁分析、安全信息和事件管理(SIEM)以及安全自动化和编排,以检测和减轻实时威胁。

(二)低层级设计

Azure Cloud Zero Trust 的低层级设计涉及通过详细配置和策略实现安全边界。低层级设计的一些关键组成部分包括:

  • 网络分割:将云环境划分为多个子网,每个子网代表不同的信任级别。网络安全组用于在每个子网上实施网络流量策略。

  • 身份和访问管理策略:创建条件访问策略,确保只有授权用户才能访问云环境。基于角色的访问控制(Role-based access control, RBAC)实现最小特权原则。

  • 数据保护策略:对数据进行分类、加密、防止数据丢失,实现数据在静止和传输过程中的保护。

  • 威胁保护策略:SIEM、高级威胁分析以及安全自动化和编排用于实时检测和减轻威胁。

(三)真实公司案例

这里举一个 对 Azure IaaS 基础设施应用零信任原则的架构图,方便了解学习:

可口可乐是另一个实现零信任模型以保护其云环境安全的公司。公司使用 Azure Active Directory 进行身份和访问管理,使用 Azure Security Center 进行威胁防护,这里只是举例说明,另外下面的架构图并不是可口可乐公司,只是参照而已。

在这里插入图片描述
该架构图包含四大区域以及相应的解释如下:

  1. Azure Storage Services
  2. Virtual machines
  3. Spoke VNets
  4. Hub VNets

多个 IaaS 组件和元素,包括从不同网站访问应用程序的不同类型的用户和 IT 消费者。比如 Azure、互联网、本地办公和分支机构。

常见的三层应用程序,包括前端层、应用层和数据层。所有层都运行在名为 SPOKE 的 VNet 中的虚拟机上。对应用程序的访问受到另一个名为 HUB 的 VNet 的保护,该 VNet 包含额外的安全服务。

Azure 上支持 IaaS 应用程序的一些最常用的 PaaS 服务,包括基于角色的访问控制(RBAC)和 Azure 活动目录(Azure AD)。这些有助于零信任安全方法。

存储块(Storage blob)和存储文件(Storage file)为应用程序和用户共享的文件提供对象存储。

文末总结

在 Azure 云中实现零信任需要仔细的计划和执行。高层和低层设计提供了一个构建安全云环境的框架。现实生活中的例子表明,零信任是云环境安全的一个理论概念和实际解决方案。通过遵循本文中概述的最佳实践,组织可以实现零信任模型,为其 Azure 云环境提供强大的安全性。

参考文献

https://learn.microsoft.com/en-us/azure/security/fundamentals/zero-trust

https://learn.microsoft.com/en-us/security/zero-trust/azure-infrastructure-overview

https://www.youtube.com/watch?v=LE52xoYlFvs&ab

https://learn.microsoft.com/zh-cn/security/zero-trust/deploy/overview

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

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

相关文章

File 类,InputStream, OutputStream 的用法

目录 一.File类 关于名字和路径的操作 关于创建和销毁的操作 创建文件夹(多级目录) InputStream 第一种:字节流读取 第二种: 字符流读取(Reader) OutputStream 第一种:字节流写入 第二种方式:字符流输入 一.File类 File翻译过来"文件" 那么File类的操作实际…

【初识 Docker | 中级篇】 Docker 安装 Redis

文章目录 前言一、安装 docker1、安装docker2、安装docker-compose 二、redis 单机安装1.创建配置文件1.1.创建目录1.2.创建redis.conf1.3.创建docker-compose.yml 2.启动redis容器 总结 前言 可以按照以下步骤在 Docker 中安装 Redis docker pull redis 拉取Redis镜像 docker…

CSS3-定位

网页常见布局方式 1 标准流 1 块级元素独占一行 → 垂直布局 2 行内元素/行内块元素一行显示多个 → 水平布局 2 浮动 可以让原本垂直布局的 块级元素变成水平布局 3 定位 1 可以让元素自由的摆放在网…

软件项目管理 第五章 软件项目的成本管理 课后习题参考答案——主编:李冰、张桥珍、刘玉娥

第五章 软件项目的成本管理 课后习题参考答案 1.选择题 (1)(A)是用系统的功能数量来测量其规模,与实现产品所使用的语言和技术是没有关系的。 A.功能点 B.对象点 C.代码行 D.用例点 (2)如果你是某项目的项目经理,你已经估…

easyX库文字输出相关函数(注释版)

您好这里是limou3434的博文系列,感兴趣的话可以看看我的其他系列。 本次我给您带来的是easyX库的字符输出系列函数,祝您看得开心。 0.文字输出函数概览 函数或数据类型描述LOGFONT文字样式的结构体。settextcolor设置当前文字颜色。settextstyle设置当…

Altium Designer VS CADENCE 颜色配置

最近公司要求用CADENCE画图,对于我这个用了10年以上AD的老玩家来说,真的是很不想接受,虽然AD有版权问题,据说也容易收到律师函,但还是不想更换,毕竟用了10年了,感情、熟练程度摆在那里。没办法&…

继承的基本内容

在面向对象部分提到过,面向对象三大特性(不是只有三个特性,而是指存在感最强的三个特性):封装,继承,多态。 封装:对比C语言,将数据和处理数据的方法放入一个类中&#xf…

【算法总结】——组合型回溯

文章目录 组合型回溯例题1——组合从输入考虑模板从答案考虑模板 例题2——括号生成解法一解法二 剪枝分析回溯时间复杂度的通用方法 组合型回溯 组合型和子集型之间的差异在哪里呢? 相比子集问题,组合问题是可以做一些额外的优化的(因为只…

Linux模块文件编译到内核与独立编译成.ko文件的方法

很多粉丝在群里提问,如何把一个模块文件编译到内核中或者独立变异成ko文件。本文给大家详解讲解。 1. 内核目录 Linux内核源代码非常庞大,随着版本的发展不断增加。它使用目录树结构,并且使用Makefile组织配置、编译。 初次接触Linux内核&…

Visual Studio 2022写Windows程序造成CPU占用率过高故障排除

我是荔园微风,作为一名在IT界整整25年的老兵,今天针对Visual Studio 2022写Windows程序造成CPU占用率过高故障进行排除。 下面是一个标准的Windows程序,也可以说是经典程序了,但是这个程序一运行,WinMain.exe的CPU占用…

Android 13(T) - binder阅读(2)- ServiceManager的启动与获取

1 ServiceManager的启动 1.1 服务的启动与注册 上一篇笔记中有说到,ServiceManager是一个特殊的binder service,所以它和普通的service一样需要打开binder驱动,在驱动中创建一个属于ServiceManager进程的binder_proc。 int main(int argc,…

django中发送get post请求并获得数据

django中发送get post请求并获得数据 项目结构如下注册路由 urls.py在处理函数中处理请求 views.py进行 get的请求01浏览器 get请求传参数02服务器django get参数解析获取01浏览器 post的发送浏览器get 请求 获取页面返回的 form 发送post请求 带参数 02服务器django的post请求…

【Unity3D】平面光罩特效

1 前言 屏幕深度和法线纹理简介中对深度和法线纹理的来源、使用及推导过程进行了讲解,激光雷达特效中讲述了一种重构屏幕像素点世界坐标的方法,本文将沿用激光雷达特效中重构像素点世界坐标的方法,实现平面光罩特效。 假设平面光罩的高度为 s…

SpringCloud Alibaba入门7之引入服务网关Gateway

我们需要在客户端和服务端之间加一个统一的入口,来作为请求的统一接入,而在微服务的体系中,承担这个角色的就是网关。我们只需要将网关的机器IP配置到DNS,或者接入负载,那么客户端的服务最终通过我们的网关,再转发到对…

GEE:欧几里得距离——计算目标图像中每个像素到目标像素的距离

作者:CSDN @ _养乐多_ 利用欧几里得距离计算目标图像中每个像素到目标像素的距离,以量化像素与目标的接近程度。 结果如下图所示, 文章目录 一、欧几里得距离简介二、代码一、欧几里得距离简介 欧几里得距离(Euclidean distance)是在数学中常用的一种距离度量方式,用于…

Android PMS APP安装流程

仓库网址:http://androidxref.com/9.0.0_r3/xref/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java 一、PMS安装APP流程图 二、文件复制 PMS处理安装HandlerParams安装参数流程图 PackageManagerService.java#installStage…

职场求生记|唐朝打工人如何绝地求生

📚书名:《长安的荔枝》 ✏️作者:马伯庸 作为“见微”系列神作,其在微信读书总榜的第一名位置持续一段时间了,其讲述的内容和每个人都息息相关,更是能引起职场人的无限共鸣,值得深思。 ⭐故事…

使用networkx查看某一个节点的一阶/二阶/三阶邻居

文章目录 前言手动高级 前言 一般情况下,貌似这些图之类的包,只提供查询一个节点的一阶邻居,但是有的时候我们需要二阶甚至三阶,那么该如何做呢? 注意一下,本文的方法仅可以针对二阶或者三阶,…

一分钟 帮你搞懂什么是柔性数组!

文章目录 什么是柔性数组?柔性数组的特点柔性数组的使用模拟实现柔性数组的功能柔性数组的优势 什么是柔性数组? 柔性数组这个概念相信大多数人博友都没有听说过,但是它确实存在。 在C99中,结构(结构体)的…

【雕爷学编程】Arduino动手做(121)---夏普粉尘传感器模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…