前言如今越来越多的中小型公司选择使用云平台,诸如:阿里云、腾讯云、Amazon、Azure 。使用云平台大大降低了企业的资源成本,另一方面随着公用云的普及,也存在着一些风险,当然不是由于云平台本身的安全性欠缺,而是由于使用者在调用API时没有注意安全性而导致的 。最常见的问题就是AccessKey泄漏、配置不当 。
正文AccessKey(即访问密钥)是云平台用户在通过API访问云资源时用来确认用户身份的凭证,以确保访问者具有相关权限 。AccessKey由云平台提供商(如亚马逊AWS、阿里云等)颁发给云主机的所有者,一般由AccessKeyID(访问密钥ID)和Secret Access Key(私有访问密钥)构成 。
主账户/根用户的AccessKey具有主账户的完全权限,因此云厂商不建议直接使用主账户/根用户的AccessKey进行API调用,阿里云会建议你使用RAM子账户进行API的调用,当然这个账户是有相应权限限制的,而腾讯云cos服务除了可以生成子账户外还采用了一个CAM模型,用于生成 COS 的临时密钥 。临时密钥有生效时间,作用与阿里oss的RAM子账号类似 。
通过临时密钥方式,则可以方便、有效地解决权限控制问题 。因为固定密钥计算签名方式不能有效地控制权限,同时把永久密钥放到客户端代码中有极大的泄露风险 。从阿里oss AccessKey泄露问题便可看出,下面会讲到这个问题 。
OSS AccessKey泄露对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全和高可靠的云存储服务 。
通过上面描述我们知道AccessKey如果泄露就会导致用户账户被控制,常见的泄露方式有以下几种:
- APK反编译后的配置文件 。
- GITHUB关键字、JS文件、FOFA等 。
- 低权限的WEBSHELL查看网站的配置文件
- 第三方平台,如:行云管家
- OSS Browser
- OSSUTIL
- API Explorer
这里演示一下OSS Browser(https://github.com/aliyun/oss-browser/blob/master/all-releases.md)对OSS的操作
文章插图
阿里云 access key ID 和 access key secret 是访问阿里云API的唯一凭证 。Access key ID 是类似身份的标识,而 access key secret 的作用是签名你的访问参数,以防被篡改 。Access key secret 类似你的登录密码 。
登陆后便可访问文件服务,并对文件进行操作
文章插图
通过行云管家这样的第三方平台,我们可以进一步进行操作 。同样的我们需要access key ID 和 access key secret。
文章插图
文章插图
通过行云管家,不仅可以访问OSS服务,还可以直接重置服务器密码,接管服务器 。
文章插图
文章插图
- 参考案例(http://r3start.net/index.php/2019/09/16/580)
临时密钥(临时访问凭证) 是通过 CAM 云 API 提供的接口,获取到权限受限的密钥 。主要是为了解决固定密钥计算签名方式不能有效地控制权限,同时把永久密钥放到客户端代码中有极大的泄露风险的问题 。
腾讯云获取临时密钥的过程如下:
文章插图
在这里,第四步下发临时密钥,返回的字段主要包含以下三个字段:
- TmpSecretId
- TmpSecretKey
- Token
文章插图
然后利用这三个字段计算签名,获得签名后,客户端发送携带签名的请求给COS服务器,对Bucket 进行操作 。
推荐阅读
- 淘宝下单后直接改价格会影响 淘宝修改价格会影响权重吗
- 手淘推荐流量突然下降 手淘推荐是什么流量
- linux下多线程与并发服务器设计方案及常见问题
- 古茶树命运堪忧,云南古茶树资源保护立法进入审议阶段
- 细说:程序运行的环境和运行过程,再看不懂请自行面壁
- 贵定云雾茶先容,挑选精品天台山云雾茶
- 内存时序对性能有多大影响?快来科普一下
- 蜂蜜百香果茶的做法,甜蜜下午茶水果茶的做法
- 改进管理方法,云南欧盟有机标准滇红云丝
- 淘宝投诉是怎么处理 淘宝店铺恶意拍下怎么办