当前位置: 首页 > news >正文

【云计算网络安全】解析 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总数等这个数值&#xff0c;如果直接用count查询数据库那就太过分了。好在wordpress内置了一些标签可以直接获取到这些数值&#xff0c;本文整理了一些常用的wordpress网站总数标签。 文章总数 <?php $count_…...

pytest 通过实例讲清单元测试、集成测试、测试覆盖率

1. 单元测试 概念 定义: 单元测试是对代码中最小功能单元的测试&#xff0c;通常是函数或类的方法。目标: 验证单个功能是否按照预期工作&#xff0c;而不依赖其他模块或外部资源。特点: 快速、独立&#xff0c;通常是开发者最先编写的测试。 示例&#xff1a;pytest 实现单…...

C#里怎么样自己实现10进制转换为二进制?

C#里怎么样自己实现10进制转换为二进制&#xff1f; 很多情况下&#xff0c;我们都是采用C#里类库来格式化输出二进制数。 如果有人要你自己手写一个10进制数转换为二进制数&#xff0c;并格式化输出&#xff0c; 就可以采用本文里的方法。 这里采用求模和除法来实现的。 下…...

Kafka-Consumer理论知识

一、上下文 之前的博客我们分析了Kafka的设计思想、Kafka的Producer端、Kafka的Server端的分析&#xff0c;为了完整性&#xff0c;我们接下来分析下Kafka的Consumer。《Kafka-代码示例》中有对应的Consumer示例代码&#xff0c;我们以它为入口进行分析 二、KafkaConsumer是什…...

Js-对象-04-Array

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

React 第八节组件生命周期钩子-类式组件,函数式组件模拟生命周期用法

概述 React组件的生命周期可以分为三个主要阶段&#xff1a; 挂载阶段&#xff08;Mounting&#xff09;&#xff1a;组件被创建&#xff0c;插入到DOM 树的过程&#xff1b; 更新阶段&#xff08;Updating&#xff09;&#xff1a;是组件中 props 以及state 发生变化时&#…...

Dubbo源码解析-服务调用(七)

一、服务调用流程 服务在订阅过程中&#xff0c;把notify 过来的urls 都转成了invoker&#xff0c;不知道大家是否还记得前面的rpc 过程&#xff0c;protocol也是在服务端和消费端各连接子一个invoker&#xff0c;如下图&#xff1a; 这张图主要展示rpc 主流程&#xff0c;消费…...

svn 崩溃、 cleanup失败 怎么办

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

【Linux系列】NTP时间同步服务器搭建完整指南

在分布式系统和高可用环境中&#xff0c;时间同步是至关重要的。特别是对于银行、金融等关键业务系统&#xff0c;精准的时间同步不仅关系到系统的稳定性&#xff0c;还直接影响交易处理、日志管理、日终结算等功能。本文将介绍NTP&#xff08;Network Time Protocol&#xff0…...

go 结构体方法

在 Go 语言中&#xff0c;结构体方法是指附加到结构体类型上的函数。这些方法可以通过结构体的实例来调用。方法的接收者&#xff08;receiver&#xff09;指定了该方法属于哪个结构体类型。接收者可以是一个值类型或指针类型。 定义结构体方法 下面是如何为一个结构体定义方…...

DHCP服务(包含配置过程)

目录 一、 DHCP的定义 二、 使用DHCP的好处 三、 DHCP的分配方式 四、 DHCP的租约过程 1. 客户机请求IP 2. 服务器响应 3. 客户机选择IP 4. 服务器确定租约 5. 重新登录 6. 更新租约 五、 DHCP服务配置过程 一、 DHCP的定义 DHCP&#xff08;Dynamic Host Configur…...

uniapp内嵌的webview H5与应用通信

H5端&#xff1a; 1、找到index.html引入依赖 <script type"text/javascript" src"https://unpkg.com/dcloudio/uni-webview-js0.0.3/index.js"></script> 2、在需要通讯处发送消息 uni.postMessage({data:{code:200,msg:"处理完成&q…...

Android OpenGL ES详解——绘制圆角矩形

1、绘制矩形 代码如下&#xff1a; renderer类&#xff1a; package com.example.roundrectimport android.content.Context import android.opengl.GLES30 import android.opengl.GLSurfaceView.Renderer import com.opengllib.data.VertexArray import com.opengllib.prog…...

网络基础二

文章目录 协议定制&#xff0c;序列化和反序列化应用层网络版计算器协议的定制序列反序列化序列化未复用版 反序列化 TCP是面向字节流的&#xff0c;你怎么保证&#xff0c;你读取上来的数据&#xff0c;是‘’一个“ “完整””的报文呢&#xff1f; 我们没有区分字符串里面有…...

从Full-Text Search全文检索到RAG检索增强

从Full-Text Search全文检索到RAG检索增强 时光飞逝&#xff0c;转眼间六年过去了&#xff0c;六年前铁蛋优化单表千万级数据查询性能的场景依然历历在目&#xff0c;铁蛋也从最开始做CRUD转行去了大数据平台开发&#xff0c;混迹包装开源的业务&#xff0c;机缘巧合下做了实时…...

springMVC 全局异常统一处理

全局异常处理⽅式⼀: 1、配置简单异常处理器 配置 SimpleMappingExceptionResolver 对象: <!-- 配置全局异常统⼀处理的 Bean &#xff08;简单异常处理器&#xff09; --> <bean class"org.springframework.web.servlet.handler.SimpleMappingExceptionReso…...

qt ubuntu i386 系统

sudo ln -s cmake-3.31.0-linux-x86_64/bin/* /usr/local/bin 【Ubuntu20.4安装QT6 - CSDN App】Ubuntu20.4安装QT6_ubuntu安装qt6-CSDN博客 sudo ../configure -release -platform linux-g-64 -static -nomake examples -nomake demos -no-qt3support -no-script -no-scriptt…...

BUUCTF—Reverse—helloword(6)

一道安卓逆向的签到题 下载附件 使用JADX-gui反编译工具打开&#xff08;注意配环境&#xff09;&#xff0c;找到主函数 jadx 本身就是一个开源项目&#xff0c;源代码已经在 Github 上开源了 官方地址&#xff1a;GitHub - skylot/jadx: Dex to Java decompiler 发现flag …...

深入解析下oracle date底层存储方式

之前我们介绍了varchar2和char的数据库底层存储格式&#xff0c;今天我们介绍下date类型的数据存储格式&#xff0c;并通过测试程序快速获取一个日期。 一、环境搭建 1.1&#xff0c;创建表 我们还是创建一个测试表t_code&#xff0c;并插入数据&#xff1a; 1.2&#xff0c;…...

wordpress 主题大学/百度怎么投广告

时 间:2015-02-05 08:17:11作 者:摘 要:连接SQL Server 数据库出错的解决方案正 文:经常有人反映说SQL Server 客户端连接不上。现在将这类问题归纳如下&#xff1a;一、SQL Server 实例(服务)未启动打开“SQL Server 配置管理器”(或者“管理工具”中的“服务”)&#xff…...

西海岸城市建设局网站/近期新闻热点事件简短

Ockam发布了一个基于Google Go语言的开源SDK&#xff0c;以允许开发人员将标识服务构建到其物联网应用程序中。 身份服务将由公司的“去中心化”云服务平台Ockam Network提供。 [ 什么是云计算&#xff1f; 您现在需要知道的一切 。 | 另外&#xff1a;InfoWorld的David Linth…...

做移动网站优化快速排名软件/东莞营销网站建设优化

https://blog.csdn.net/shwan_ma/article/details/78879620 一般来说&#xff0c;打印tensorflow变量的函数有两个&#xff1a;tf.trainable_variables () 和 tf.all_variables()不同的是&#xff1a;tf.trainable_variables () 指的是需要训练的变量tf.all_variables() 指的是…...

公司网站做优化/新浪舆情通官网

action是什么&#xff1f;action是获得form表单数据 再去处理的类为什么要有action&#xff1f;因为在servlet中往往会出现使用一个servlet处理多个功能&#xff0c;比如登陆功能&#xff0c;注册功能&#xff0c;浏览功能等&#xff0c;这样action就是必不可少的了怎么去使用a…...

做灯具外贸哪个网站好做/海外独立站

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 项目介绍 酒店管理系统共分为三个角色&#xff0c;客房经理、前台管理员、客户&#xff0c;各个角色的权限各不相同&#xff1b; 客房经理功能包括&#xff1a;登录、注册、前台用户管理、客房管理、优…...

石家庄便宜做网站/站长交流平台

漏洞扫描小工具写完后&#xff0c;我打算给其增加一个启动界面&#xff0c;此处借鉴于 https://blog.csdn.net/yy873259480/article/details/7411383 界面组成为图片进度条&#xff0c;代码如下&#xff1a; package vul_scan; import java.awt.Color; import java.awt.Toolki…...