亚马逊---设计安全架构

会从以下三个方面展开:

        1、AWS资源访问安全

        2、应用程序负载的网络安全

        3、云中数据的安全

责任共担模式

就像租房子(房东和你的责任)

AWS资源访问安全

        需要掌握以下几点:

                1、跨多个账户的访问控制和管理

                2、AWS联合访问和身份服务(例如,AWS IAM、AWS IAM Identity Center)

                3、AWS全球基础设施(例如,可用区、AWS区域)

                4、AWS安全最佳实践(例如,最低权限原则)

                5、AWS责任共担模式

将AWS安全最佳实践应用于IAM用户和根用户 (例如,多重验证(MFA))

设计包含IAM用户、组、角色和策略的灵活授权模型

设计基于角色的访问控制策略(例如,AWS STS、角色切换、跨账户访问)

为多个AWS账户设计安全策略(例如,AWS Control Tower、服务控制策略(SCP))

确定AWS服务的资源策略的正确用法

确定何时将Directory Service与IAM角色联合

IAM(身份和权限管理)

如何访问云

通过命令行或者SDK的api调用。

首先讲一下什么是SDK?

SDK是"软件开发工具包"的缩写,它是一组用于开发软件应用程序的工具、库、文档和示例代码的集合。SDK通常由软件开发公司或平台提供、旨在帮助开发者更轻松地构建应用程序,利用平台提供的功能和服务。

        SDK通常包括API(应用程序接口),这些接口允许开发者与特定平台或服务进行交互,执行特定的功能或访问特定的数据。SDK通常争对特定的操作系统、编程语言或开发环境。例如Android SDK用于开发Android应用程序, IOS SDK用于开发IOS应用程序等。

        我自己springboot常用的是Amazon AWS SDK。一句话,后端与前端的交互大多通过SDK的API打包。

IAM身份详细信息

主要区别在于权限的分发。不同用户的等级权限不一样。

用户组主要是批量的对统一权限用户的管理。目的是为了方便管理与协调。当其中用户付费或者认证之后,可移除并转入到更高权限的IAM组。

用户与角色

用户代表一种长久的身份,角色只是临时权限赋予的问题。

AWS安全凭证

角色的临时凭证

STS是secret token service

示例:跨账户使用IAM角色

示例:资源互访使用IAM角色

IAM 策略(实际上就是个文档)

IAM策略(四个elements)

EAR概念:   就是什么样的资源(resource)做什么样的操作(action)是允许(Effect)的。

比如对资源桶里的所有资源里的对象是允许操作的。

使用权限边界

服务控制策略(SCP)

服务控制策略(SCP)通常指的是操作系统中的一种安全策略或权限控制机制,用于管理系统中的服务(或进程)对资源的访问权限。SCP的主要目的是确保系统资源(如文件、网络端口、内存等)只被授权的服务或进程所访问,以增强系统的安全性和稳定性。

在不同的操作系统和环境中,SCP可能指代不同的概念或实现方式。以下是一些可能的解释:

  1. Windows Server Service Control Policy
    在Windows Server操作系统中,SCP可能指代一组安全策略或权限设置,用于管理服务(或服务账户)对系统资源的访问权限。这些策略可以通过本地安全策略或组策略对象(Group Policy Objects,GPO)进行配置,包括对服务账户的登录权限、服务所需的权限等。

  2. Linux Service Control Policies
    在Linux系统中,SCP可能指代一些控制服务运行的策略,比如通过Systemd、SysVinit或其他服务管理工具来限制服务的权限、资源使用等。这些策略可以通过配置文件或系统命令来实现,以确保服务运行的安全性和可靠性。

  3. Network Service Control Policies
    在网络环境中,SCP也可以指代一些用于控制网络服务访问权限的策略或技术,比如防火墙规则、访问控制列表(Access Control Lists,ACLs)、安全组等。这些策略可以在网络设备或操作系统中实现,用于限制服务对网络资源的访问。

IAM策略如何与SCP交互

我熟悉的SCP是。SCP(Secure Copy Protocol)作为一种网络协议。用于在本地系统和远程系统之间安全地传输文件。它建立在SSH(Secure Shell)协议之上,通过加密的方式传输数据,因此在传输过程中可以保证数据的安全性。

使用SCP可以在不同的计算机之间复制文件和目录,就像在本地系统中复制文件一样简单。通常,SCP命令的语法如下:

scp [选项] [源文件] [目标地址]

其中:

  • [选项]:用于指定一些额外的参数,比如设置传输的加密方式、设置端口号等。
  • [源文件]:表示要传输的文件或目录的路径。可以是本地文件或目录,也可以是远程文件或目录。
  • [目标地址]:表示文件或目录的目标地址,可以是本地地址或远程地址。如果是远程地址,通常使用的是SSH格式的地址,如 user@hostname:/path/to/destination

IAM Identity Center解决方案

IAM Identity Center本质上就是SSO。

SSO(Single Sign-On,单点登录)是一种身份验证机制,允许用户使用一组凭据(例如用户名和密码)登录到多个相关但独立的软件系统或应用程序中。通过SSO,用户只需要进行一次身份验证,然后就可以在整个系统集合中访问受保护的资源,而无需再次输入凭据。

SSO的工作原理(流程)通常如下:

        1、用户尝试访问受保护的资源或应用程序。

        2、如果用户尚未进行身份验证,系统将重定向用户到身份提供者(Identity Provider,IdP)进行认证。

        3、用户提供凭据进行身份验证(例如用户名和密码)

        4、身份提供者验证用户身份,并向用户颁发一个令牌(Token)。

        5、用户返回到原始的资源或应用程序,并将令牌交给它

        6、资源或应用程序验证令牌,并通过令牌中包含的信息来确定用户的身份和权限。

        7、用户被授予访问资源或应用程序的权限。

SSO的优点包括:

        1、用户友好性:用户只需要一次登录,即可访问所有相关的系统和应用程序,无需反复输入凭据,提高了用户的体验度。

        2、减少密码管理负担:用户只需要记住一个密码,而不是多个,简化了密码管理的复杂性。

        3、提高安全性:通过集中的身份提供者进行身份验证和授权,可以更好地管理用户身份和权限。

应用程序负载地网络安全

有以下重点:

应用程序配置和凭证安全

AWS服务终端节点

控制AWS上的端口、协议和网络流量

安全应用程序访问

具有合适使用案例的安全服务(例如, Amazon Cognito、Amazon GuardDuty、 Amazon Macie)

AWS外部的威胁向量(例如,DDoS、SQL注入)

设计带安全组件(例如,安全组、路由表、网络ACL、NAT网关)的VPC架构

确定网路分段策略(例如,使用公有子网和私有子网)

将AWS服务集成到安全应用程序(例如AWS Shield、AWS WAF、IAM Identity Center、 AWS Secrets Manager)

保护与AWS云的外部网络连接(例如VPN、AWS Direct Connect)

拓展一下,可能很多人不了解VPN是什么

VPN(virtual Private Network,虚拟专用网络)是一种通过公共网络(如互联网)建立安全连接的技术,用于在不安全的网络环境中创建一个私密且加密的通信管道,以实现数据传输的安全和隐私保护。

VPN的主要作用包括:

        1、加密通信:VPN通过使用加密技术(如SSL/TLS、IPSec等),对用户在公共网络上传输的数据进行加密。这样即使数据被截获,也难以解密和窃取其中的内容。

        2、隧道封装:VPN在公共网络上创建一条安全的通信隧道,将用户的数据包封装在隧道中传输。这样即便在传输过程中被黑客拦截。

        3、匿名访问:VPN通过将用户的网络流量路由到VPN服务器,隐藏用户的真实IP地址,并提供了一个虚拟的IP地址和地理位置。

        4、访问限制突破:VPN通过提供不同地区的服务器,使用户可以模拟其他地区的网络连接。用户可以连接到VPN服务器后,绕过地理限制,访问被封锁的内容或服务。

       

Amazon VPC和子网

VPC全称为virtual private cloud,虚拟私有域。就像买了一个房子,你可以规定哪个房间作为私有空间(私有子网),而客厅作为公有空间(公有子网)。

        其中私有子网的内容不需要直接与互联网通信,比如说数据库

互联网或远程访问

互联网能访问到需要有三个条件:

        1、公网的IP地址(你得在江湖上有名号啊)

        2、互联网的网关(类似于房子的门)

        3、公有子网的public route table(公共路由表),指在云计算平台(如AWS、Azure等)中用于管理公有子网的路由规则的表格。它定义了在公有子网中的数据流向的方式,决定了数据包应该如何被路由和传送。

公共路由表有以下内容:

        1、默认路由规则:默认路由规则决定了当数据包的目的地不在该子网内部时,应该将数据包发送到哪里。通常情况下,默认路由规则会将数据包发送到Internet Gateway(互联网网关),以便与外部网络通信。

        2、自定义路由规则:除了默认路由规则外,公有子网的公共路由表还可以包含自定义的路由规则,这些规则可以根据特定的需求进行配置,例如将特定目的地的数据包路由到特定的目标,或者通过网络地址转换(NAT)服务对数据包进行转换。

        3、路由优先级:路由表中的每条路由规则都具有优先级,决定了当有多条规则匹配同一个数据包时,应该采用哪一条规则进行路由。通常情况下,路由优先级由路由规则的顺序决定,先匹配的规则具有更高的优先级。

        4、目标地址范围:每条路由规则都指定了适用的目标地址范围,即该规则所匹配的数据包的目的地IP地址范围。

        5、下一跳信息:路由规则还包含了下一跳信息,指定了当数据包匹配该规则时应该时应该将其发送到哪个目标。下一跳可以是Internet Gateway、NAT网关、虚拟专用网关。

AWS Direct Connect

VPC的网络分层

路由表

网络访问控制列表

        ACL(Access Control List,访问控制列表)是一种用于控制网络设备或操作系统上资源访问权限的机制。它可以用于限制特定用户、程序或网络设备对资源的访问,以增强网络安全性并实现对网络流量的控制管理。作为一种安全机制,用来防止未经授权的访问和恶意攻击。

        在网络设备(如路由器、交换机等)中,ACL通常用于控制数据包的传输和转发。它可以根据预先定义的规则来决定允许或拒绝特定类型的流量通过设备。ACL规则通常基于源地址、目标地址、协议类型、端口号等条件进行匹配,从而对网络流量进行过滤和管理。

        在操作系统中,ACL通常用于控制对文件、目录或其他系统资源的访问权限。通过ACL,系统管理员可以为特定用户或用户组分配不同的权限,例如读取、写入、执行等,以实现对系统资源的精细化控制和管理。

安全组

安全组与网路访问控制列表的区别

示例:多层应用的安全组链

云中的安全威胁: DDos攻击(过载型攻击)

        跟打电话一样

shield standard和shield advanced提供两个服务进行防护。

AWS WAF如何运作

AWS Firewall Manager

Amazon GuardDuty

分层防御:以城堡来比喻

VPC对等连接

VPC之间互相通信

AWS PrivateLink和VPC终端节点

如果VPC比较多

AWS Transit Gateway

云中数据的安全

有以下几个知识点:

        1、数据访问与监管

        2、数据恢复

        3、数据留存和分类

        4、加密和合适的密钥管理

        5、调整AWS技术以满足合规性要求

        6、对数据进行静态加密 (例如, AWS KMS)

        7、对数据进行传输中加密(例如,适用TLS的AWS ACM)

        8、对加密密钥实施访问策略

        9、实施数据备份和复制

        10、实施数据访问、生命周期和保护策略

        11、轮换加密密钥和续订证书

加密:时间和地点

AWS Key Management Service(AWS KMS)

KMS密钥类型

AWS CloudHSM

责任分离

AWS cloudHSM 与 AWS KMS 的区别

Amazon S3 SSE(Server-Side Encryption)

保护DynamoDB中的数据

Secrets Manager

适用Secrets Manager

Secrets Manager与Parameter Store的比较

安全性设计最佳实践

最后还有以下:

        1、锁定AWS账户根用户

        2、安全组只会允许。网络ACL允许明确拒绝。

        3、优先选择IAM角色,不选择访问密钥

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

买了个三星i9300(S3)供以后给黑莓Q10开发软件用(安卓4.3)

买了个三星i9300(S3)供以后给黑莓Q10开发软件用(安卓4.3) 前段时间的时候一心想给黑莓Q10开发个软件用用,开发到一半因为过程太过繁琐才叫停了。 一、黑莓Q10安卓应用开发为什么繁琐? Q10的开发过程是这样的: 因为黑莓Q10 里面运行的是Andr…

深度学习之视觉特征提取器——VGG系列

VGG 提出论文:1409.1556.pdf (arxiv.org) 引入 距离VGG网络的提出已经约十年,很难想象在深度学习高速发展的今天,一个模型能够历经十年而不衰。虽然如今已经有VGG的大量替代品,但是笔者研究的一些领域仍然有大量工作选择使用VG…

layabox手游全面屏、ipad屏幕适配方案

1设置 手游平台在项目设置中,场景适配模式选择”固定宽模式 fixedwidth“,设计宽度以全面屏比例为主,我这里设置的设计宽高为640 * 1386 2代码和场景 laya的UI面板有三种类型,分别是Scene、View和Dialog 1)Scene和V…

Java web应用性能分析服务端慢之Nginx慢

一般Nginx作为整个应用的入口,即做静态服务器,也做负载均衡、反向代理;同时也因为位置靠前,还可以通过Nginx对于访问的IP、并发数进行相应的限制。在Java web应用性能分析中,Nginx是重要环节,Nginx的性能也…

Flink Job提交分析

1.概述 Flink 应用程序的提交方式为:打成jar包,通过 flink 命令来进行提交。 flink 命令脚本的底层是通过 java 命令启动:CliFrontend 类 来启动 JVM 进程,执行任务的构造和提交。 flink run xxx.jar class arg1 arg2flink.sh 脚…

Springboot+Vue项目-基于Java+MySQL的影城管理系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

Unity 新版输入系统(Input System)

前言 官方教程 注意 新的输入法系统需要 Unity 2019.4 和 .NET 4 运行时。它不适用于 .NET 3.5 的项目。 教程版本:Unity 2021.3.26 1. 安装 1.1 打开 Package Manager 导航栏 -> Window -> Package Manager 1.2 安装 Input System 选择 Unity Registry 在…

【WEB前端2024】开源元宇宙:乔布斯3D纪念馆-第8课-新增摆件

【WEB前端2024】开源元宇宙:乔布斯3D纪念馆-第8课-新增摆件 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎&#…

mysql基础20——数据备份

数据备份 数据备份有2种 一种是物理备份 一种是逻辑备份 物理备份 物理备份 通过把数据文件复制出来 达到备份的目的 用得比较少 逻辑备份 逻辑备份 把描述数据库结构和内容的信息保存起来 达到备份的目的 是免费的 数据备份工具 mysqldump (3种模式&#x…

C++笔试强训day4

目录 1.游游的you 2.腐烂的苹果 3.孩子们的游戏 1.游游的you 链接: 分析题意之后,发现就是一道简单的贪心,当然也可以把他看作纯数学题。 因为you和oo里面都有o,但是you可以得两分,所以贪心策略尽可能的去凑更多的…

【嵌入式】keil5安装(同时兼容C51和STM32)

最近在开发STM32的时候,安装Keil5,遇到STM32和C51的共存的问题,在网上找了很多方法,又遇到一些bug,最终还是弄好了。因此将处理的过程记录下来,希望对遇到相同问题的朋友一些启发。 1、下载安装包 Keil P…

vue-Router 路由(常量路由)

1、安装 pnpm i vue-router 2、新建文件:src/routes.ts import { RouteRecordRaw } from vue-routerexport const constantRoute: RouteRecordRaw[] [{//path: /,redirect: /login,},{//path: /login,component: () > import(/views/Login/index.vue),name…

mysql基础6——多表查询

外键 把分散在多个不同表里面的数据查询出来的操作,就是多表查询 把两个表连接:使用外键(foreign key)和连接(join) 外键在表创建的阶段定义也可以通过修改表定义,连接在查询字段把相同意义的字段连接起来 外键就是从表中用来引用主表中数…

【MATLAB源码-第190期】基于matlab的32QAM系统相位偏移估计EOS算法仿真,对比补偿前后的星座图误码率。

操作环境: MATLAB 2022a 1、算法描述 1. 引言 M-QAM调制技术的重要性 现代通信系统追求的是更高的数据传输速率和更有效的频谱利用率。M-QAM调制技术,作为一种高效的调制方案,能够通过在相同的带宽条件下传输更多的数据位来满足这一需求…

舍得酒业陷入瓶颈期:业绩增速再放缓,股价低迷,市场信心缺失?

撰稿|行星 来源|贝多财经 被誉为“川酒六朵金花”之一的舍得酒业,混的不算好。 近日,舍得酒业股份有限公司(SH:600702,下称“舍得酒业”)披露2023年年度报告。在白酒行业活性整体趋弱的大环境下,舍得酒业…

加入新团队时,为什么你需要一个“WTF 笔记本”

原文:Nat Bennett - 2021.09.04 我有一个子弹日记。我并不是你在 Pinterest 上看到的那种用精美排版的人——大部分只使用黑色墨水,标准设置,偶尔会有自定义的集合。 每当我加入新的团队,都会翻到下一页,然后在那一页…

引用静态方法

import java.util.Arrays; import java.util.Comparator;public class demo1 {//引用public static void main(String[] args) {Integer []arr{1,2,4,3,8,6};//匿名内部类Arrays.sort(arr, new Comparator<Integer>() {Overridepublic int compare(Integer o1, Integer o…

docker 报错 error adding seccomp filter rule for syscall clone3

网上有一些说法&#xff0c;例如重新安装docker 但是我自己尝试&#xff0c;用 –security-opt seccompunconfined 就可以&#xff0c;但是需要把这个命令放到紧挨着run的位置&#xff0c;如果放到偏后的位置&#xff0c;可能不起作用。 以下命令是其他网友启动是的命令&…

是用computed获取vuex数据后,修改数据页面不响应的问题

问题描述&#xff1a; 代码里使用computed获取mapGetters的数据后&#xff0c;直接在页面使用&#xff0c;在methods中更新数据后&#xff0c;控制台打印数据已经更改&#xff0c;但是页面上的数据没有同步更改和响应。 分析&#xff1a; 1.computed是计算属性&#xff0c;所有…

匿名函数与gorm中的Transaction事务方法

整理下go中的匿名函数&#xff0c;项目中很多地方都在用。 1、函数类型的变量 Go中&#xff0c;函数也是一种数据类型。定义一个函数&#xff0c;把这个函数赋值给一个变量&#xff0c;这个变量就是函数类型的变量&#xff0c;用这个变量等价于直接调函数&#xff1a; packa…