云原生-AWS EC2使用、安全性及国内厂商对比
目录
- 什么是EC2
- 启动一个EC2实例
- 连接一个实例
- 控制台
- ssh
- Security groups
- 规则
- 默认安全组与自定义安全组
- 安全性
- 操作系统安全
- 密钥泄漏
- 部署应用安全
- 元数据造成SSRF漏洞出现时敏感信息泄漏
- 网络设置错误
- 厂商对比
- 参考
本文通过实操,介绍了EC2的基本使用,并在功能、安全性上与其他厂商进行对比。
什么是EC2
EC2(Elastic Compute Cloud)是AWS云中的服务器,提供按需、可扩展的计算能力。本文以Linux为例。下图是EC2的位置。

Instance就是EC2,它被Security group(安全组)保护着,持久性存储使用了EBS( Elastic Block Store)。在安全组外面是子网,子网外面是VPC,VPC通过网关与外部通信。
启动一个EC2实例
名称随意,上面默认,创建一个密钥对。


点击启动实例,之后可以在控制台看到实例信息。

连接一个实例
前面为了快速创建,都是默认的,默认的安全组是不同的,需要先创建一个安全组,开通22端口。

添加入站规则


选择新建的安全组即可
控制台



ssh
给密钥权限后使用ssh登录即可。

Security groups
安全组是云服务器级别的防火墙,一个云服务器可以绑定多个安全组,一个安全组也可以被多个云服务器绑定。安全组由入站规则和出站规则组成。
规则
规则主要由以下字段组成:
- 协议:允许的协议。最常见的协议是 6 (TCP)、17 (UDP) 和 1 (ICMP)。
- 端口范围:对于 TCP、UDP 或自定义协议,允许的端口范围。您可以指定单个端口号(例如22)或端口号范围(例如 7000-8000)或all。
- 源或目标:允许的流量的源(入站规则)或目标(出站规则)。指定以下选项之一:
- 单个 IPv4 地址。您必须使用/32前缀长度。例如, 203.0.113.1/32。
- 以 CIDR 块表示法表示的 IPv4 地址范围。例如, 203.0.113.0/24。
- 单个 IPv6 地址。您必须使用/128前缀长度。例如, 2001:db8: 1234:1a00::123/128.
- IPv6 地址范围,采用 CIDR 块表示法。例如, 2001:db8: 1234:1a00::/64.
- 前缀列表ID。例如, pl-1234abc1234abc123. 有关更多信息,请参阅Amazon VPC 用户指南 中的前缀列表。
- 安全组(此处称为指定安全组)的ID。例如,当前安全组、同一 VPC 的安全组或对等 VPC 的安全组。这允许基于与指定安全组关联的资源的私有 IP 地址的流量。这不会将指定安全组中的规则添加到当前安全组。
规则由以下特点:
- 允许入的,默认允许出,不必再设置出规则。
- 规则默认都是允许,没有拒绝。
默认安全组与自定义安全组
默认安全组允许所有出流量,但入流量仅允许绑定该安全组的资源。
自定义安全组允许所有出流量,入流量不允许,需要添加规则来进行控制进出流量。
安全性
操作系统安全
EC2安装了操作系统,在创建时可以使用开源的操作系统,如果出现问题,也将影响AWS EC2对应的实例。
密钥泄漏
ssh的密钥文件一般很少泄漏,不过用户也可以修改sshd,启用账号密码登录。

部署应用安全
EC2上面如果部署应用,应用有漏洞,也可能影响EC2实例。
元数据造成SSRF漏洞出现时敏感信息泄漏
访问metadata能够获取以下信息

local-ipv4、public-ipv4、security-groups、identity-credentials等是比较敏感的信息,当然AWS是默认不开启元数据的,并且使用IMSV2(实例元数据服务版本2)来解决了普通的GET型SSRF问题(攻击者可控URL)。
用户数据类似

网络设置错误
安全组配置错误时,可能造成一台EC2被攻击后,其他EC2也被扫描出来。
厂商对比
| 对比项 | AWS | 阿里云 | 华为云 |
|---|---|---|---|
| 密钥泄漏 | 默认密钥文件登录 | 默认账号密码登录 | 默认账号密码登录 |
| 安全组 | 只能添加允许规则 | 可以允许或拒绝,有优先级字段,相同时拒绝优先 | 和阿里云类似 |
| 元数据服务 | 提供了IMSV2来防御GET型SSRF | 通过加固模式防御GET型SSRF | 需要租户自己解决,且元数据过多 |
参考
EC2用户指南
如何安全设置AWS EC2
针对AWS EC2的SSRF攻击
IMSV2仍有SSRF攻击
阿里云-云服务器ECS
华为云-弹性云服务器ECS
相关文章:
云原生-AWS EC2使用、安全性及国内厂商对比
目录 什么是EC2启动一个EC2实例连接一个实例控制台ssh Security groups规则默认安全组与自定义安全组 安全性操作系统安全密钥泄漏部署应用安全元数据造成SSRF漏洞出现时敏感信息泄漏网络设置错误 厂商对比参考 本文通过实操,介绍了EC2的基本使用,并在功…...
【Proteus仿真】【Arduino单片机】简易电子琴
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用无源蜂鸣器、按键等。 主要功能: 系统运行后,按下K1-K7键发出不同音调。 二、软件设计 /* 作者:嗨小易&a…...
QT5.15.2 for Android 真机调试
一、准备就绪 1、一台安卓手机 1)手机需要进入开发者选项 2)准备一根USB线,需要用usb线连接电脑 2、QT5需要 Android搭建好环境(教程可以访问我另一篇文章) 二、调试 1、用usb线连接好电脑并进入开发者选项&…...
Mysql my.cnf配置文件参数详解
Linux 操作系统中 MySQL 的配置文件是 my.cnf,一般会放在 /etc/my.cnf 或 /etc/mysql/my.cnf 目录下。 如果你使用 rpm 包安装 MySQL 找不到 my.cnf 文件,可参考如下: 第一步: 通过cd命令 cd /usr/share/mysql 来到这个目录&#…...
linux下构建rocketmq-dashboard多架构镜像——筑梦之路
接上篇:linux上构建任意版本的rocketmq多架构x86 arm镜像——筑梦之路-CSDN博客 这里来记录下构建rocketmq-dashboard多架构镜像的方法步骤。 当前rocketmq-dashboard只有一个版本,源码地址如下: https://dist.apache.org/repos/dist/rele…...
git,ssh,sourcetree代码管理
安装Git并建立与GitHub的ssh连接 1、安装git,设置git的用户信息(需要通过用户信息来显示你是谁) 2、配置SSH, 因为本地Git仓库和GitHub仓库之间的传输是通过SSH加密传输的,GitHub需要识别是否是你推送,Git…...
Jenkins中解决下载maven包巨慢的问题
背景介绍 我们在使用jenkins构建maven项目时由于依赖很多第三方jar包,默认会从maven中央仓库下载,由于maven中央仓库服务器是国外的,所以下载很慢,甚至会超时 解决办法 增加jenkins maven 源配置 如下图所示,增加m…...
Redis(11)| 持久化AOF和RDB
一、AOF(Append Only File) Redis 每执行一条写操作命令,就把该命令以追加的方式写入到一个文件里,然后重启 Redis 的时候,先去读取这个文件里的命令,并且执行它。 注意:只会记录写操作命令&am…...
ZYNQ实验---IQ调制实现SSB PART2
一、前言 本文实验在ZYNQ实验—IQ调制实现SSB PART1的基础上进行优化完善。 下图为IQ调制实现SSB PART1中设想实现设计框图 该图设计存在的几个问题: PC-PS的UDP传输存在丢包中断控制发包实际不适合流数据的传输采用的BRAM模块可以存储的空间较小,PC…...
机器学习-特征工程
一、特征工程介绍 1.1 什么是特征 数值特征(连续特征)、文本特征(离散特征) 1.2 特征的种类 1.3 特征工程 特征是机器学习可疑直接使用的,模型和特征之间是一个循环过程; 实际上特征工程就是将原始数据…...
大数据技术之集群数据迁移
文章目录 数据治理之集群迁移数据 数据治理之集群迁移数据 准备两套集群,我这使用apache集群和CDH集群。 启动集群 启动完毕后,将apache集群中,hive库里dwd,dws,ads三个库的数据迁移到CDH集群 在apache集群里hosts加上CDH Namenode对应域名并…...
CF1265E Beautiful Mirrors
CF1265E Beautiful Mirrors 洛谷CF1265E Beautiful Mirrors 题目大意 Creatnx \text{Creatnx} Creatnx有 n n n面魔镜,每天她会问一面镜子:“我漂亮吗?”,第 i i i面魔镜有 p i 100 \dfrac{p_i}{100} 100pi的概率告诉 Creat…...
软件测试/测试开发丨利用ChatGPT自动生成架构图
点此获取更多相关资料 简介 架构图通过图形化的表达方式,用于呈现系统、软件的结构、组件、关系和交互方式。一个明确的架构图可以更好地辅助业务分析、技术架构分析的工作。架构图的设计是一个有难度的任务,设计者必须要对业务、相关技术栈都非常清晰…...
Java学习笔记(六)——面向对象编程(基础)
一、类与对象 (一)类与对象的概念 (二)对象内存布局 编辑 对象分配机制 编辑 (三)属性/成员变量 (四)创建对象与访问属性 二、成员方法 (一)方法…...
0基础学习PyFlink——个数滚动窗口(Tumbling Count Windows)
大纲 Tumbling Count WindowsmapreduceWindow Size为2Window Size为3Window Size为4Window Size为5Window Size为6 完整代码参考资料 之前的案例中,我们的Source都是确定内容的数据。而Flink是可以处理流式(Streaming)数据的,就是…...
车载终端构筑智慧工厂:无人配送车的高效物流体系
随着科技的不断进步和应用,智能化已经成为许多领域的关键词。在物流行业中,随着无人配送车的兴起和智慧工厂的崛起,车载终端正引领着无人配送车的科技变革之路。 文章同款:https://www.key-iot.com/iotlist/sv900.html 车载终端…...
插件_日期_lunar-calendar公历农历转换
现在存在某需求,需要将公历、农历日期进行相互转换,在此借助lunar-calendar插件完成。 下载 [1] 通过npm安装 npm install lunar-calendar[2]通过文件方式引入 <script type"text/javascript" src"lib/LunarCalendar.min.js">…...
【FreeRTOS】【STM32】08 FreeRTOS 消息队列
简单来说 消息队列是一种数据结构 任务操作队列的基本描述 1.如果队列未满或者允许覆盖入队,FreeRTOS会将任务需要发送的消息添加到队列尾。 2.如果队列满,任务会阻塞(等待)。 3.用户可以指定等待时间。 4.当其它任务从其等待的队列中读取入了数据(这时候队列未满…...
【计算机组成原理】CPU的工作原理
一.CPU的组成结构 CPU主要有运算器、控制器、寄存器和内部总线等组成,其大概的样子长这样: 看不懂没关系,我们将采用自顶而下的方法来讲解CPU的具体工作原理,我们首先来说一下什么叫寄存器,顾名思义,寄存器…...
部署ELK
一、elasticsearch #拉取镜像 docker pull elasticsearch:7.12.1 #创建ELK docker网络 docker network create elk #启动ELK docker run -d --name es --net elk -P -e "discovery.typesingle-node" elasticsearch:7.12.1 #拷贝配置文件 docker cp es:/usr/share/el…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
