BpFile(id=221, bpId=142, name=AK防泄漏, author=null, keyword=账号安全,AK安全,AK泄露, description=正确使用AK可以有效降低安全风险,尽量使用临时AK Token或最小粒度授权的子账号AK。, position=null, ossUrl=bp-S30QQ6U5JRLVZ13M.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=0, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
场景描述
用户名密码是开发运维人员访问阿里云控制台
的凭据,AK是软件程序访问阿里云资源的凭据。
如果AK被泄露,那么会造成非常严重的后果,
比如资源被释放导致业务不可用、大量服务器被
创建用来挖矿,等等。采用合适的方式来使用、
保护AK,是每一个云客户都必须关注的问题。
解决问题
1.避免AK被泄露
2.改进已经错误使用AK的方法
产品列表
⚫访问控制RAM
⚫云服务器ECS
⚫操作审计Action Trail
⚫云安全中心
, templateId=null, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=null, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1
AK防泄漏 最佳实践
逻辑架构图
场景描述
用户名密码是开发运维人员访问阿里云控
制台的凭据,AK是软件程序访问阿里云资
源的凭据。如果 AK被泄露,那么会造成非
常严重的后果,比如资源被释放导致业务不
可用、大量服务器被创建用来挖矿,等等。
采用合适的方式来使用、保护 AK,是每一
个云客户都必须关注的问题。
解决问题
1. 避免 AK被泄露
2. 改进已经错误使用 AK的方法
产品列表
访问控制 RAM
云服务器 ECS
操作审计 Action Trail
云安全中心
2文档模板(手册名称)/Error! Use the Home tab to apply
云服务器 ECS(产品名称) 标题 to the text that you want to appear here.
阿里云
企业上云实践
AK防泄漏
最佳实践
文档版本:20210820
文档版本:20150122(发布日期) II
3AK防泄漏 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 AK防泄漏最佳实践
文档编号 142
文档版本 V1.2
版本日期 2021-08-20
文档状态 发布
制作人 游士
审阅人 云魁、宋宇
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2020-02-12 云滴 云魁、宋宇 创建
V1.1 2020-02-17 筱晖 - 文档工程师优化
V1.2 2021-08-20 游士 使用 CADT创建资源,
优化文档内容
文档版本:20210820 I
4AK防泄漏 目录
目录
文档版本信息 ........................................................................................................................................................ I
法律声明 ............................................................................................................................................................... II
目录 ..................................................................................................................................................................... III
前置条件 ............................................................................................................................................................... 1
1. 方案概述 ....................................................................................................................................................... 2
1.1. 场景描述 ........................................................................................................................................ 2
1.2. 使用的基本原则 ............................................................................................................................ 2
1.3. 架构图 ............................................................................................................................................ 3
2. 封存主账号 ................................................................................................................................................... 4
2.1. 开通操作审计并创建跟踪 ............................................................................................................. 4
2.1.1. 开通操作审计 Action Trail ...................................................................................................... 4
2.1.2. 查看 ActionTrail日志 .............................................................................................................. 6
2.1.3. 开通日志服务......................................................................................................................... 7
2.1.4. 创建跟踪 ................................................................................................................................ 9
2.2. 主账号开通双因子认证 ............................................................................................................... 14
2.2.1. 安装阿里云 APP ................................................................................................................... 14
2.2.2. 开启双因子认证 ................................................................................................................... 14
2.2.3. 登录验证 .............................................................................................................................. 17
2.3. 创建一个替代主账号的 RAM子账号 .......................................................................................... 19
2.3.1. 创建 RAM子账号并授权 ..................................................................................................... 20
2.3.2. 管理 RAM子账号 ................................................................................................................. 24
2.3.3. 验证子账号登录 ................................................................................................................... 29
2.4. 主账号处理 .................................................................................................................................. 31
3. 使用 ECS部署应用的动态身份 ................................................................................................................... 32
3.1. 场景及方案 .................................................................................................................................. 32
3.2. 创建 RAM角色并授权 ................................................................................................................. 33
3.3. 使用云速搭 CADT创建 VPC,VSwitch,安全组和 ECS ............................................................... 36
3.4. 在 ecs上获取并使用 sts token ..................................................................................................... 39
3.4.1. 安装 SDK环境 ...................................................................................................................... 39
3.4.2. 获取 sts token并使用 ........................................................................................................... 40
4. 服务端程序使用子账号及其 AK ................................................................................................................. 42
4.1. 创建 RAM子账号并授权 ............................................................................................................. 42
4.2. 限制 RAM子账号 AK的白名单地址............................................................................................ 42
4.3. 使用 RAM子账号 AK ................................................................................................................... 42
5. 移动终端使用 STS Token ............................................................................................................................. 43
5.1. 概述 ............................................................................................................................................. 43
5.2. 创建 RAM子账号并授权 ............................................................................................................. 44
5.3. 创建 RAM角色并授权 ................................................................................................................. 44
5.4. 用子账号扮演 RAM角色获取 sts token ....................................................................................... 44
5.5. 模拟移动设备验证 sts token能力 ............................................................................................... 44
6. 云安全中心异常检测 .................................................................................................................................. 45
文档版本:20210820 III
5AK防泄漏 目录
6.1. 配置检查 ...................................................................................................................................... 46
6.2. 泄露到 github上的告警 .............................................................................................................. 48
6.3. 异常调用告警 .............................................................................................................................. 48
7. 操作审计 Action Trail日志 .......................................................................................................................... 50
7.1. 查看 actiontrail日志: ................................................................................................................ 50
7.2. RAM安全检查及报告 .................................................................................................................. 50
7.3. 查看 RAM安全报告 ..................................................................................................................... 51
文档版本:20210820 IV
6AK防泄漏 前置条件
前置条件
在进行本文操作前,您需要完成以下准备工作:
注册阿里云账号,并完成实名认证。您可以登录阿里云控制台,并前往实名认证页
面(https://account.console.aliyun.com/v2/#/authc/home)查看是否已经完成实名
认证。
阿里云账户余额大于 100元。您可以登录阿里云控制台,并前往账户总览页面
(https://expense.console.aliyun.com/#/account/home)查看账户余额。
为了便于演示,本文中涉及资源开通时,均默认选择按量付费模式。
本方案仅作为实践演示,具体资源配置以用户实际需求为准。
本最佳实践中使用的脚本可以在 https://code.aliyun.com/best-practice/142 进行
下载。
文档版本:20210820 1
7AK防泄漏 方案概述
1. 方案概述
1.1. 场景描述
本文主要讲述云用户在使用阿里云账号 AK时的最佳实践、基本原则及具体的使用方
法。如果想了解 RAM账号及其权限的基本用法,请参考《RAM账号权限管理》最佳
实践,官网 URL地址:https://www.aliyun.com/acts/best-practice/preview?id=52106
如果云用户已经使用了阿里云的 AK,也可以通过本最佳实践来审视自己之前的使用
方式是否恰当。如果使用了云主账号的 AK,甚至出现了主账号 AK泄露的情况,也可
以参考本最佳实践来改进处理。
如果已经使用了主账号的 AK,那么避免主账号AK泄露的核心思路,就是通过改代码,
把代码中的 AK去掉;然后无效掉之前使用的 AK。在需要使用 AK的地方,尽量使用
STS AK,或者使用子账号的 AK。
1.2. 使用的基本原则
根据产品设计及客户的实践经验,总结了 10条基本原则:
事前
1. 强烈建议登陆控制台不能用主账号;访问 API时绝对禁止使用主账号的 AK;
2. 开通 actiontrail,记录子账号的创建和授权等日志,便于事后审计和告警监控;
3. 创建 RAM子账号,够用即可,最小粒度授权;如果访问 API,创建 RAM子
账号的 AK;
1) 采用给资源打 Tag、分配到资源组,并针对 Tag授权,或在资源组内授权,
以减少 AK权限;
2) 为每个应用程序创建独立的 RAM子用户;
4. 移动客户端不要保存 AK,使用通过服务端获取临时 STS Token的方式;
5. 编写基于 IP的权限策略,从而限制 AK只能从企业内网发起访问,避免泄露
风险;
6. 如果业务部署在 ECS上,尽量使用 ECS服务扮演 role的方式,避免使用 AK。
事中
文档版本:20210820 2
8AK防泄漏 方案概述
1. 公司代码尽量不上传到外部的代码库,可以有效收窄泄露面;
2. 定期轮转 AK,降低泄露风险;
3. 开通云安全中心的 RAM安全配置、AK泄露和异常调用功能,进行监控和告
警;
4. 定期查看 RAM的安全检查及安全报告。
1.3. 架构图
对于外部用户比如手机 APP场景来说,一般都是使用 STS-Token的方式。
对于业务应用是部署在 ECS上的情况,尽量都使用 ECS STS-Token,这样就避免使用 AK,也就
不会出现泄漏。
其他情况,尽量都使用 RAM子账号的 AK,并做最小粒度的授权。
文档版本:20210820 3