云上宝库:三大厂商对象存储安全性及差异性比较

2024-06-20 01:28

本文主要是介绍云上宝库:三大厂商对象存储安全性及差异性比较,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

看了几家云厂商的对象存储,使用上有相似也有差异,聊聊阿里云、腾讯云、京东云三家对象存储在使用中存在的风险以及防护措施。

0x01 云存储命名

阿里云对象存储OSS(Object Storage Service),新用户免费试用三个月,存储包容量规格20G三个月.

腾讯云对象存储 COS(Cloud Object Storage),新用户标准存储容量包,有效期6个月(180天),个人用户50GB6个月,企业用户1T六个月。

京东云对象存储OSS(Object Storage Service) ,目前无限制,存储包容量规格10G/月,请求次数50W次/月的标准,低于标准一直免费使用。

0x02 云存储空间创建

阿里云

image-20240512193643954

创建存储桶Bucket的名称唯一设置和地域没有关系,创建存储桶后的域名规则为:<BucketName>.oss.<Region>.aliyuncs.com

腾讯云

image-20240513144431372

腾讯云创建存储桶名称唯一跟低于也无关系,其名称构成<BucketName-APPID>.cos.<Region>.myqcloud.com

京东云

image-20240513152914079

京东云的bucket地域只有四个,命令规则为<BucketName>.s3.<position>-id.jdcloud-oss.com

华北

image-20240513155709451

华东

image-20240513155336913

0x03 云存储API密钥存储

阿里云

进入

image-20240513172737275

离开创建页面后无法获取SK,需提前保存SK,后期无法查看

image-20240513172848663

这里用户权限需要授权

image-20240513173432220

如果未授权,则Forbiden访问

image-20240513173531358

腾讯云

image-20240513210634001

创建AK/SK后期无法查询,密钥存储要求上基本与阿里云一致。

帮助网安学习,全套资料S信免费领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

京东云

京东云需要首先设置AccessKey,否则无法操作存储桶。

image-20240513145031385

AccessKey创建后可AS查看

image-20240513152724332

0x04 云存储常见安全问题
1. 配置不当导致的安全问题

阿里云

image-20240513211508790

阿里云设置公有读

image-20240514111818109

存储桶内的文件可被读取,虽然无法直接list对象,但是可以通过爆破的方式读取文件内容

image-20240514111928741

当设置包含listobject时,web访问存储桶直接可遍历对象

image-20240514112859254

当Bucket的权限设置为公共读写的时候,是可以直接使用PUT方式上传文件到存储桶内,这种配置会导致桶内文件来源的真实性无法保证

image-20240514115149558

文件上传成功

image-20240514115212417

腾讯云

腾讯云的存储桶权限和阿里云类似,描述不同,当非公共读写、非私有的条件下是可以遍历桶内文件的

image-20240514114502814

存储桶内的文件可被读取,虽然无法直接list对象,但是可以通过爆破的方式读取文件内容

image-20240514114412276

公共读写权限配置后可直接上传

image-20240514115309572

京东云

京东云在Bucket的权限上和阿里、腾讯基本一致,非私有状态下,也存在Bucket文件可遍历

image-20240514120215827

上传txt

image-20240514120357093

文件写入成功

风险

针对配置不当,可能产生的风险在于

  1. 数据泄露: 配置不当可能导致存储桶中的敏感数据被公开访问,如用户个人信息、敏感文件等。
  2. 后渗透风险:桶内数据来源的真实性面向用户无法保障,且对用户的安全性造成影响,可利用该漏洞进行供应链攻击。
2.策略配置不当导致的安全风险

针对三家厂商的存储桶,阿里云bucket授权策略

image-20240514133724803

腾讯云Policy策略

image-20240514133853633

这两家比较类似

京东云CORS跨域规则

image-20240514134050515

规则添加简单测试还是比较友好的

风险

规则配置可能会导致存储桶敏感文件泄露,比如说规则设置添加遍历存储桶对象等。

3.存储桶爆破

阿里云

阿里云针对存储桶的回显返回值不同

image-20240514131547945

无Bucket

image-20240514131635390

腾讯云

腾讯云的回显

image-20240514131742948

京东云

image-20240514131820434

风险

虽然三家的产品根据回显值均可以爆破,如果从利用角度来讲,需要配合前面的配置不当才能继续后渗透,从爆破的角度来讲,腾讯云的域名构成<BucketName-APPID>.cos.<Region>.myqcloud.com的爆破存储桶的风险可以说是最低的,甚至可以说基本上不用考虑。目前下载大量的存储桶在业务中的应用可能最常见的是图片文件云存储利用,一般是不设置域名绑定存储桶的。

4.AK/SK泄露

AK 和 SK 泄露可能被恶意用户用于未经授权的访问云服务资源,导致数据泄露、篡改或删除等安全问题。针对不同厂商目前有工具可直接利用泄露的AK/SK接管存储桶。

针对不同厂商对象存储AK/SK的创建用户的权限划风险需要注意

阿里云RAM访问控制

image-20240514134954850

腾讯云用户访问管理权限分配

image-20240514135434869

image-20240514135620062

京东云

image-20240514135733252

用户授权

image-20240514135849391

用户权限配置不当,会导致云服务被完全接管。

0x05 云存储防护
  1. 加强身份验证和访问控制: 使用身份和访问管理(IAM)来限制对存储桶和其中对象的访问。确保只有授权的用户或服务能够访问,并严格控制他们的权限,采用最小权限原则。
  2. 加密数据: 对于敏感数据,采用适当的加密措施,包括数据在传输和静态存储时的加密。
  3. 网络安全配置: 配置网络安全组、防火墙等措施,限制对存储桶的访问仅来自可信来源,减少公开访问的风险。
  4. 监控和日志记录: 设置监控警报,对存储桶的访问和活动进行实时监控,并记录审计日志,以便及时发现异常行为或潜在的安全威胁。
  5. 定期备份和恢复: 定期备份存储桶中的重要数据,并建立有效的恢复计划,以防止数据丢失或损坏,例如意外删除或勒索软件攻击。
  6. 防止公开访问误配置: 定期审查存储桶的访问权限配置,确保没有意外的公开访问权限,避免因配置错误导致数据泄露的风险。
  7. 实施访问限制策略: 使用 IP 白名单或访问令牌等策略,限制存储桶的访问仅限于授权的用户或系统。

这篇关于云上宝库:三大厂商对象存储安全性及差异性比较的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076711

相关文章

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

Javascript访问Promise对象返回值的操作方法

《Javascript访问Promise对象返回值的操作方法》这篇文章介绍了如何在JavaScript中使用Promise对象来处理异步操作,通过使用fetch()方法和Promise对象,我们可以从... 目录在Javascript中,什么是Promise1- then() 链式操作2- 在之后的代码中使

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C