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

会从以下三个方面展开:

        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角色,不选择访问密钥

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

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

相关文章

SpringMVC--RESTful

1. RESTful 1.1. RESTful简介 REST:Representational State Transfer,表现层资源状态转移。 RESTful是一种网络架构风格,它定义了如何通过网络进行数据的交互。这种风格基于HTTP协议,使得网络应用之间的通信变得更加简洁和高效。…

力扣283. 移动零

Problem: 283. 移动零 文章目录 题目描述思路复杂度Code 题目描述 思路 1.定义一个int类型变量index初始化为0; 2.遍历nums当当前的元素nums[i]不为0时使nums[i]赋值给nums[index]; 3.从index开始将nums中置对应位置的元素设为0; 复杂度 时间…

Java 异常处理详解

Java异常是Java编程语言中用于表示程序运行时错误的一种机制。Java异常体系通过异常类和异常处理来实现,允许程序在遇到预期或意外情况时,优雅地处理问题,而不是立即终止程序运行。 异常类层次结构 Java异常类都继承自java.lang.Throwable类…

python爬虫--------requests案列(二十七天)

兄弟姐们,大家好哇!我是喔的嘛呀。今天我们一起来学习requests案列。 一、requests____cookie登录古诗文网 1、首先想要模拟登录,就必须要获取登录表单数据 登录完之后点f12,然后点击network,最上面那个就是登录接口…

Spring AI Summary

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl Spring AI is a project that aims to streamline the development of AI applications by providing abstractions and reusable components that can be easily integrate…

【软考---系统架构设计师】软件架构

目录 1 一、软件架构的概念 二、软件架构风格 (1)数据流风格​​​​​​​ (2)调用/返回风格 (3)独立构件风格 (4)虚拟机风格 (5)仓库风格 三、架构…

labview中循环停止事件的深入研究

1.错误用法 第一次值事件运行的时候空白按钮给的F值,第二次值事件运行的时候空白按钮给的T值,这时循环才真正结束。 2.正确用法之一 赋值和值改变事件从同时进行变成按顺序执行。 3.正确用法之二 值事件发生以后超时事件将T值赋值给结束条件&#xff…

Linux环境变量深度解析

文章目录 一、引言二、环境变量的基本概念1、环境变量的定义2、环境变量的作用与意义 三、环境变量的导入1、导入所需文件2、登陆时的导入 四、环境变量的设置方法1、查看环境变量的方式2、使用export命令临时设置环境变量3、修改配置文件以永久设置环境变量 五、命令行参数与环…

免费听音乐,下载音乐mp3,mp4,歌词的网站分享(2024-04-22)

亲测!!! 1、音乐客 免费听和免费下载 经典老歌 - 音乐客音乐客,yinyueke.net,免费音乐,免费在线音乐播放器,免费下载音乐,音乐,播放器,下载,播放,DJ,免费,mp3,高音质,…

LinkedList和链表

1.ArrayList的缺陷 ArraryList由于底层是一段连续的空间,所以在ArrayList任意位置插入或者删除元素时,就 需要将后续元素往前或者往后搬移,时间复杂度为O(n),效率比较低,因此ArrayList不适合做任意位置插入和删除比较…

pytest教程-27-分布式执行用例插件-pytest-xdist

上一小节我们学习了pytest随机执行用例插件-pytest-random-order,本小节我们讲解一下pytest分布式执行用例插件pytest-xdist。 前言 平常我们手工测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟。如果一个测试人员执行需要10…

C++的初步知识——命名空间,缺省参数,重载函数

C 首先写一段代码&#xff1a; #include <stdio.h>int main() {printf("Hello world\n");return 0; }这段C语言代码在cpp文件中仍可运行。我们了解C是兼容C语言的&#xff0c;C的关键字中就包含了C语言的关键字和自身的关键字。关于关键字&#xff0c;我们简…

PTA L2-052 吉利矩阵

题目 解析 这题考的是搜索剪枝 可行性剪枝&#xff1a; 即判断当前行&#xff08;列&#xff09;是否已经超过L和剩下的格子都填最大值是否小于L&#xff0c;若是则剪枝。 当前行数大于1时&#xff0c;判断上一个填完的行是否等于L&#xff0c;若否&#xff0c;则剪枝。 当前行…

浏览器数据找回

网站上分享的文章应该都是个人的心血&#xff0c;对于一些操作问题导致心血丢失真的很奔溃&#xff0c;终于找到一个弥补的办法&#xff0c;csdn的文章谷歌浏览器亲测有效&#xff0c;理论上其他浏览器的其他网站应该也可以&#xff0c;适用以下场景 把博客编辑当成了编写新博…

MATLAB中gurobi 运行报错与调试

问题背景如下&#xff1a;刚拿到一份MATLAB的代码&#xff0c;但是电脑第一次安装gurobi&#xff0c;在运行过程中发生了报错&#xff0c;使用断点进行调试和步进调试方法&#xff0c;最终发现&#xff0c;这个问题出在了哪一步&#xff0c;然后向了人工智能和CSDN、百度寻求答…

ELK 日志分析(二)

一、ELK Kibana 部署 1.1 安装Kibana软件包 #上传软件包 kibana-5.5.1-x86_64.rpm 到/opt目录 cd /opt rpm -ivh kibana-5.5.1-x86_64.rpm 1.2 设置 Kibana 的主配置文件 vim /etc/kibana/kibana.yml --2--取消注释&#xff0c;Kiabana 服务的默认监听端口为5601 server.po…

李宏毅2022机器学习/深度学习 个人笔记(2)

本系列用于推导、记录该系列视频中本人不熟悉、或认为有价值的知识点 本篇记录第一讲&#xff08;选修&#xff09;&#xff1a;神奇宝贝分类&#xff08;续&#xff09; 讲解如何用高斯概率分布假设来推导类似于逻辑斯蒂分布的表达式 如图&#xff0c;boundary变为直线&…

JavaSE——常用API进阶二(7/8)-DateTimeFormatter、Period、Duration(常见方法、用法示例)

目录 DateTimeFormatter 主要方法 用法示例 Period 常见方法 用法示例 Duration 常见方法 用法示例 接下来继续要学习的是JDK 8之后新增的代替SimpleDateFormat的一个API——DateTimeFormatter 同样是用来格式化和解析时间的&#xff0c;与SimpleDateFormat相比较来说…

kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ consumer实战

1、上一节课我们学习了MQTT producer 生产者步骤&#xff0c;MQTT consumer消费者步骤。该步骤可以从支持MRQTT协议的中间件获取数据&#xff0c;该步骤和kafka consumer 一样可以处理实时数据交互&#xff0c;如下图所示&#xff1a; 2、双击步骤打开MQTT consumer 配置窗口&a…

ROS下机器人系统仿真及部分SLAM建图

文章目录 一、 Launch文件使用二、 参考资料三、 遇到的问题四、 效果演示五、相关代码5.1 一些简介5.2 机器人模型5.2.1 机器人底盘5.2.2 摄像头5.2.3 雷达 5.3 惯性矩阵 六、代码传送门实验结果及分析 温馨提示&#xff1a;如果有幸看到这个文章&#xff0c;不要看里面的内容…