前言
阿里云中对象存储服务是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件,可以将数据以对象(Object)的形式存储在存储空间(Bucket)中,并且同时提供了完善的访问权限以及访问策略评估机制 。但它面临着一些安全挑战。因对象存储所导致的安全事件层出不穷,其中绝大部分是由于用户使用此功能时错误的配置导致的。安全风险
错误配置导致的安全问题
错误使用公有读写权限
在创建Bucket时,默认是<font style="color:rgb(36, 41, 46);">private</font>
的权限,但是有些用户为了避免使用繁杂且细粒度的权限配置,会错误的将其存储桶设置为公有读写,这将导致了其存储桶中的内容被攻击者窃取与篡改。公有读权限可以通过匿名身份直接读取用户存储桶中的数据,存在着严重的安全隐患。
错误配置对象访问权限
当Bucket公共权限设置为私有读写时,且Bucket中的对象公共权限为公有读私有写时,此对象依然是可以被读取的。单单依靠存储桶的访问权限,并不能保护其中资源的未授权访问情况。为存储桶中资源配置对应的访问权限,才可以保证对象的安全性。错误授予访问权限导致的安全问题
如果在配置Bucket时,管理员错误的将Bucket权限,配置为可写,这将会导致攻击者可上传任意文件到Bucket中,或覆盖已经存在的文件。同时如果没有合理的或者错误的在Policy中配置用户允许访问的资源路径,则会出现越权访问,导致用户数据被恶意上传覆盖或被其他用户下载等安全问题。AccessKey泄露导致的安全问题
AccessKey包括AccessKeyID和AcessKeySecret两部分,AccessKeyID用于标识用户,AcessKeySecret用于验证用户的密钥,主要用于程序方式调用云服务API。如果目标的 AccessKey泄露,那么就能获取到目标对象存储的所有权限,继而实现通过API接口进行资源接管。通常AccessKey常见的泄露原因有: 1.采用JavaScript客户端直接签名时,AccessKeyI有时会暴露在前端页面 2.通过通过反编译APK,找到相关敏感信息。3.泄露的源代码中含有相关敏感信息。