【云计算网络安全】解析 Amazon 安全服务:构建纵深防御设计最佳实践
文章目录
- 一、前言
- 二、什么是“纵深安全防御”?
- 三、为什么有必要采用纵深安全防御策略?
- 四、以亚马逊云科技为案例了解纵深安全防御策略设计
- 4.1 原始设计缺少安全策略
- 4.2 外界围栏构建安全边界
- 4.3 访问层安全设计
- 4.4 实例层安全设计
- 4.5 数据层安全设计
- 4.6 监控层安全设计
- 五、文末总结
一、前言
本文内容来源于亚马逊云科技的“亚麻拉松”,由印度讲师 Himanshu Sangshetti(由于名字太长,下文简称其 Sangshetti)主讲。博主在此基础上进行了详细归纳总结,并结合自身理解进一步拓展,深入解析了云计算网络安全中的“纵深防御”理念。文章不仅还原了讲解中的精彩内容,还通过实际案例展示了如何在亚马逊云科技的服务中设计和实现多层次的安全防御策略,为读者提供了全面且实用的网络安全知识。
二、什么是“纵深安全防御”?
“纵深防御” (Defense In Depth,或者常见缩写DiD
) 是一种网络安全策略,它使用多种安全产品和实践来保护组织的网络、Web 资产和资源。它有时与“分层安全”一词互换使用,因为它依赖于多个控制层(物理、技术和管理)的安全解决方案,来防止攻击者访问受保护的网络或本地资源。
最初,纵深防御是指一种军事战略,牺牲一条防线来阻止敌方部队。尽管名称相似,但该方法与我们所说的安全策略并不相似,在纵深防御安全策略中,多个产品协同工作以阻止攻击者和其他威胁。
三、为什么有必要采用纵深安全防御策略?
纵深安全防御策略的指导原则是,单一安全产品无法完全保护网络免受可能面临的每一次攻击。但是,实施多种安全产品和实践可以帮助检测和预防出现的攻击,使组织能够有效地缓解各种威胁。随着组织扩展其网络、系统和用户,这种方法变得越来越重要。
分层安全的另一个优点是冗余。如果外部攻击者破坏了一道防线或内部威胁危及组织网络的一部分,则其他安全措施可以帮助限制和减轻对整个网络的损害。相比之下,仅使用一种安全产品会产生单点故障;如果它受到损害,整个网络或系统可能因此遭到破坏或损坏。
四、以亚马逊云科技为案例了解纵深安全防御策略设计
整个 Sangshetti 这个讲解过程中,其实就是以现实生活中我们去一个公司园区的某个建筑中的某个房间为示例,结合亚马逊的相关云服务来构建纵深防御策略的设计。
4.1 原始设计缺少安全策略
Sangshetti 最开始举例了一个原始应用,你可以认为是一个毛坯房,这个房子只是提供了居住,或者使用,但是大门或者窗户等都是不健全的,所有人都可以随意进入,这也可以类比你最开始设计出来的程序,几乎没有什么安全可言。
4.2 外界围栏构建安全边界
直接看下图更加直观,在网络层面最开始就构建了安全策略。以这个进入建筑园区来举例,你可以认为这个网络安全层可以是园区的封闭范围,外接没有其他入口进入,进入的入口只有一个大门。无论是你送外卖还是送快递,还是员工亦或者其他人员,只能通过这一个大门进入。
拆解一下网络安全的组件,其中包括VPC,Security Groups以及Network ACLs,其实这3件套就已经是垂直的网络安全设计了,外层VPC构建独立的私有网络,可以控制以及划分一个独立的网络,你可以认为是上面讲的园区边界,在这里举例中,如下图构建了4个子网,每个私有子网都包含自己的 NACL以及SG,SG为自己的防火墙可以控制自己的入栈出栈,而NACL可以是一个过滤器,来进行额外的网络控制。(由于篇幅原因,以后关于SG与NACL我可以单独写一篇文章来讲解一下)
4.3 访问层安全设计
这里非常简单的一个例子是,如果你是园区员工,那么你就有进入的权限,并且有相应公司大楼的访问权限,类似给了你一个进入大楼的工牌,这个工牌有相应授权给你的权限,这个亚马逊核心服务就是 IAM,这既可以基于权限,又可以基于你的角色来分配访问权限。除了 Amazom IAM还有另外一个服务: Amazom Cognito,Amazon Cognito为安全的应用程序访问提供用户身份验证、授权和用户池管理。
在这里看下图可以看到在我们访问层前面多了一个web层,这个地方增加了Amazon Shield
以及 Amazon WAF
服务,你可以试想一下,即使你有访问权限,身份也得到了授权,会有一种可能发生的情况是,突然园区入口处来了一大群人,这里面只有你一个人有访问权限,但是所有人都要去核验身份或或者冲去前台,那么会发生什么,一定会发生大量的拥堵以及人手不够的情况,这个时候我们就需要WAF以及Shield了,Amazon WAF通过过滤恶意流量来保护web应用程序免受SQL注入和跨站点脚本等常见威胁;Shield 可以抵御 DDoS攻击。
4.4 实例层安全设计
在这里园区内每个建筑都有楼层和房间,就像应用程序有多个服务器或实例一样。IAM的角色权限可以控制来访人具体可以访问什么地方(亚马逊的具体什么服务),而对于这些EC2实例或者其他实例 Amazon Systems Manager确保他们能够得到管理、打补丁和安全控制等。Amazon Systems Manager 可以简化修复补丁、配置管理实例监控等操作任务。
4.5 数据层安全设计
假设你是园区内的员工,通过了上述所有的访问进入到了公司内,并且打开了公司内的某台电脑,此时你要访问电脑内的数据,而你要访问的电脑用户名密码如何来存储,或者你要访问 1000 台电脑,他们的用户名密码都不同,你如何或者这些敏感数据,这些敏感数据如何进行存储管理?亚马逊云科技的 Amazon KMS 提供了加密敏感数据,它可以加密密秘钥和进行安全管理等;而 Amazon Secrets Manager 服务则可以用于安全地存储、管理和轮换敏感信息(如数据库凭证、API 密钥等),以确保应用程序的安全性和合规性。
4.6 监控层安全设计
类比我们全文的园区例子,这里的监控层你可以认为是从你在园区大门,到经过园区的街道,到进入园区内的某栋大楼,再到你进入自己的公司以及办公室,每一个地方都有一个监控摄像头。
在亚马逊云科技服务中心,GuardDuty 可以用来检测威胁, CloudTrail 用于记录每个活动事件,而 Security Hub 则提供了所有报警和所有发现的集中视图,这3个服务组合起来就形成了一个安保监控团队。
五、文末总结
这次的亚麻拉松
活动中 Sangshetti 的这一部分总结起来是通过办公园区安全的生动类比,讲解了亚马逊云科技在纵深安全防御中的多层安全设计。从网络层的边界保护到访问层的身份管理,再到实例层的权限控制和数据层的敏感信息加密,每一层设计都紧密衔接。无论是 WAF、Shield 的流量防护,还是GuardDuty 的威胁检测,所有服务共同构筑了一个全面、稳固的安全体系,为企业的网络安全提供了强有力的保障。
相关文章:

【云计算网络安全】解析 Amazon 安全服务:构建纵深防御设计最佳实践
文章目录 一、前言二、什么是“纵深安全防御”?三、为什么有必要采用纵深安全防御策略?四、以亚马逊云科技为案例了解纵深安全防御策略设计4.1 原始设计缺少安全策略4.2 外界围栏构建安全边界4.3 访问层安全设计4.4 实例层安全设计4.5 数据层安全设计4.6…...
【Andriod ADB基本命令总结】
笔者工作当中遇到安卓机器的数据访问和上传,特来简单总结一下常用命令。 1、ADB命令简介与安装 简介: ADB (Android Debug Bridge) 是一个强大的命令行工具,用于与 Android 设备进行交互,常用于开发、调试、测试以及设备管理等操作。它是 Android 开发工具包(SDK)的一部…...

ChatGPT如何辅助academic writing?
今天想和大家分享一篇来自《Nature》杂志的文章《Three ways ChatGPT helps me in my academic writing》,如果您的日常涉及到学术论文的写作(writing)、编辑(editing)或者审稿( peer review)&a…...
Day 27 贪心算法 part01
贪心算法其实就是没有什么规律可言,所以大家了解贪心算法 就了解它没有规律的本质就够了。 不用花心思去研究其规律, 没有思路就立刻看题解。 基本贪心的题目 有两个极端,要不就是特简单,要不就是死活想不出来。 学完贪心之后再去看动态规划,就会了解贪心和动规的区别。…...
使用Python实现目标追踪算法
引言 目标追踪是计算机视觉领域的一个重要任务,广泛应用于视频监控、自动驾驶、机器人导航、运动分析等多个领域。目标追踪的目标是在连续的视频帧中定位和跟踪感兴趣的物体。本文将详细介绍如何使用Python和OpenCV实现一个基本的目标追踪算法,并通过一…...

某科技研发公司培训开发体系设计项目成功案例纪实
某科技研发公司培训开发体系设计项目成功案例纪实 ——建立分层分类的培训体系,加强培训跟踪考核,促进培训成果实现 【客户行业】科技研发行业 【问题类型】培训开发体系 【客户背景】 某智能科技研发公司是一家专注于智能科技、计算机软件技术开发与…...

如何通过高效的缓存策略无缝加速湖仓查询
引言 本文将探讨如何利用开源项目 StarRocks 的缓存策略来加速湖仓查询,为企业提供更快速、更灵活的数据分析能力。作为 StarRocks 社区的主要贡献者和商业化公司,镜舟科技深度参与 StarRocks 项目开发,也为企业着手构建湖仓架构提供更多参考…...

Linux V4L2框架介绍
linux V4L2框架介绍 V4L2框架介绍 V4L2,全称Video for Linux 2,是Linux操作系统下用于视频数据采集设备的驱动框。它提供了一种标准化的方式使用户空间程序能够与视频设备进行通信和交互。通过V4L2接口,用户可以方便地实现视频图像数据的采…...

【前端】JavaScript 中 arguments、类数组与数组的深入解析
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 💯前言💯什么是 arguments 对象2.1 arguments 的定义2.2 arguments 的特性2.3 使用场景 💯深入了解 arguments 的结构3.1 arguments 的内部结构arguments 的关键属性…...
Android 布局菜单或按钮图标或Menu/Item设置可见和不可见
设置可见和不可见 即 设置 显示和隐藏;是双向设置;什么情况显示,什么情况隐藏分判断的条件 它不同于删除和屏蔽,删除和屏蔽,覆盖是单向的,不可逆转的。它间接等于单向的隐藏!!&…...
|| 与 ??的区别
?? : 空值合并运算符, 用于在左侧操作数为 null 或 undefined 时返回右侧操作数 let name null // null 或者 undefinedlet defaultName defaultNamelet displayName name ?? defaultNameconsole.log(displayName) // defaultName || : 逻辑或,…...
wordpress获取文章总数、分类总数、tag总数等
在制作wordpress模板的时候会要调用网站的文章总数分类总数tag总数等这个数值,如果直接用count查询数据库那就太过分了。好在wordpress内置了一些标签可以直接获取到这些数值,本文整理了一些常用的wordpress网站总数标签。 文章总数 <?php $count_…...
pytest 通过实例讲清单元测试、集成测试、测试覆盖率
1. 单元测试 概念 定义: 单元测试是对代码中最小功能单元的测试,通常是函数或类的方法。目标: 验证单个功能是否按照预期工作,而不依赖其他模块或外部资源。特点: 快速、独立,通常是开发者最先编写的测试。 示例:pytest 实现单…...
C#里怎么样自己实现10进制转换为二进制?
C#里怎么样自己实现10进制转换为二进制? 很多情况下,我们都是采用C#里类库来格式化输出二进制数。 如果有人要你自己手写一个10进制数转换为二进制数,并格式化输出, 就可以采用本文里的方法。 这里采用求模和除法来实现的。 下…...
Kafka-Consumer理论知识
一、上下文 之前的博客我们分析了Kafka的设计思想、Kafka的Producer端、Kafka的Server端的分析,为了完整性,我们接下来分析下Kafka的Consumer。《Kafka-代码示例》中有对应的Consumer示例代码,我们以它为入口进行分析 二、KafkaConsumer是什…...

Js-对象-04-Array
重点关注:Array String JSON BOM DOM Array Array对象时用来定义数组的。常用语法格式有如下2种: 方式1: var 变量名 new Array(元素列表); 例如: var arr new Array(1,2,3,4); //1,2,3,4 是存储在数组中的数据࿰…...

React 第八节组件生命周期钩子-类式组件,函数式组件模拟生命周期用法
概述 React组件的生命周期可以分为三个主要阶段: 挂载阶段(Mounting):组件被创建,插入到DOM 树的过程; 更新阶段(Updating):是组件中 props 以及state 发生变化时&#…...

Dubbo源码解析-服务调用(七)
一、服务调用流程 服务在订阅过程中,把notify 过来的urls 都转成了invoker,不知道大家是否还记得前面的rpc 过程,protocol也是在服务端和消费端各连接子一个invoker,如下图: 这张图主要展示rpc 主流程,消费…...

svn 崩溃、 cleanup失败 怎么办
在使用svn的过程中,可能出现整个svn崩溃, 例如cleanup 失败的情况,类似于 这时可以下载本贴资源文件并解压。 或者直接访问网站 SQLite Download Page 进行下载 解压后得到 sqlite3.exe 放到发生问题的svn根目录的.svn路径下 右键呼出pow…...

【Linux系列】NTP时间同步服务器搭建完整指南
在分布式系统和高可用环境中,时间同步是至关重要的。特别是对于银行、金融等关键业务系统,精准的时间同步不仅关系到系统的稳定性,还直接影响交易处理、日志管理、日终结算等功能。本文将介绍NTP(Network Time Protocol࿰…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...