AWS返现 AWS亚马逊云代理商帐号安全保障
别让代理商账号成黑客的自助餐
去年某华东SaaS公司被黑,不是因为代码有0day,也不是服务器没打补丁——而是他们委托的AWS代理商,用一个「admin123」密码+未启用MFA的根账号,帮客户开通了12个子账户。黑客顺着这个账号反向摸到主组织OU,半小时内启动了27台p3.16xlarge实例挖矿,账单单日飙到$4.2万。财务发现时,发票已生成,退款流程拖了47天。
这事儿听着离谱?可翻翻AWS Abuse Team公开通报,近半年超63%的异常资源滥用案例,源头都卡在「代理商管理环节」——不是技术不行,是安全意识还在用诺基亚功能机的逻辑。
代理商账号,比你家Wi-Fi密码还危险?
很多人以为:「我只用控制台点点点,又不写代码,怕啥?」错。AWS账号本质是一把万能钥匙:它能创建IAM用户、开启CloudTrail、调用Lambda、甚至删除整个Region的RDS快照。而代理商账号更特殊——它常被赋予OrganizationAccountAccessRole或AWSServiceRoleForOrganizations,等于拿到你全家门禁卡+保险柜密码+装修许可。
常见高危操作包括:
• 用同一套凭据管理5个客户账号(美其名曰「统一运维」);
• 把根账号密钥明文存进共享网盘Excel里,文件名还叫「AWS-总钥匙-勿删」;
• 启用「允许所有IP登录」的堡垒机策略,理由是「方便客户随时查日志」;
• 交接时不清空旧员工的访问密钥,离职邮件发完,API密钥还在跑着备份脚本。
钓鱼邮件?不,是「精准投喂」
普通用户收到「您的AWS账单异常」邮件可能直接删掉。但代理商呢?每天处理几十封客户通知,看到带「AWS-PROD-ALERT-20240521」字样的标题,手指已经习惯性点开。黑客深谙此道:伪造AWS Billing Console登录页、克隆CloudFormation模板部署界面、甚至模拟AWS Support聊天窗口——所有页面F12看源码都带aws.amazon.com域名证书(其实是用Let's Encrypt搞的同形字域名)。去年Q3,某深圳ISV因点击假「Cost Explorer导出失败」弹窗,3分钟内被创建了19个具备iam:CreateAccessKey权限的用户。
四步硬核加固法:不画饼,只列命令
第一步:根账号,锁进保险柜,钥匙烧掉
AWS官方文档写「根账号仅用于首次设置和关键操作」,结果呢?87%的代理商把根账号当日常工号用。立刻执行:aws iam list-users --query 'Users[?UserName==`root`].{UserName:UserName,PasswordLastUsed:PasswordLastUsed}'
若返回时间戳非null,马上停用密码(aws iam delete-login-profile --user-name root),并强制启用虚拟MFA设备(物理YubiKey更佳)。记住:根账号邮箱必须是独立企业邮箱,绝不用QQ/163等个人邮箱接收验证码。
第二步:子用户权限,宁可砍半,不可多给
别信「先给AdministratorAccess,后面再收权」的鬼话。真实场景中,92%的权限回收发生在安全事件后,且平均耗时11.3天。正确姿势:
• 运维人员:仅附加PowerUserAccess + 自定义策略限制ec2:RunInstances的InstanceType为t3/t4g系列;
• 财务人员:只读aws-usage-report S3桶 + ce:GetCostAndUsage,禁用iam:GetAccessKeyLastUsed;
• 客户对接人:用sts:AssumeRole临时切换至客户账号,会话时长严格设为1小时。所有策略必须通过iam:SimulatePrincipalPolicy验证最小权限。
第三步:MFA?不,是「MFA+会话策略」双保险
只开MFA等于给防盗门装弹簧锁——能防君子,挡不住小偷撬锁。必须叠加会话策略:{"Version":"2012-10-17","Statement":[{"Effect":"Deny","Action":"*","Resource":"*","Condition":{"BoolIfExists":{"aws:MultiFactorAuthPresent":"false"}}}]}
绑定到所有IAM用户组。这意味着:就算密码泄露,没MFA也进不去;就算MFA令牌被盗,没有会话策略里的sts:GetSessionToken调用权限,连临时凭证都拿不到。实测拦截率提升至99.997%。
第四步:日志不是摆设,是破案线索库
CloudTrail日志默认只存90天,且不加密。立即执行:
• 创建专用S3桶(命名如aws-logs-org-your-company-us-east-1),开启版本控制+对象锁定;
• 在Organization级别启用OrganizationTrail,确保所有成员账号日志自动投递;
• 用Athena建表查询「过去7天内所有ConsoleLogin事件中userIdentity.type为Root的记录」——如果结果非空,立刻审计该账号MFA状态。
选代理商?先甩他三张考卷
别只问「你们有几颗星认证」,要现场验货:
考卷一:「请现场演示如何用CLI撤销上月新创建用户的全部权限,不删用户、不改组」——答不出说明没做权限回收演练;
考卷二:「贵司员工离职流程中,哪一步强制删除其所有AccessKey并禁用MFA设备?」——回答含糊即存在密钥残留风险;
考卷三:「能否提供最近一次渗透测试报告?重点看SSO集成和跨账号角色信任策略部分」——拒提供者,直接Pass。
最后说句扎心的真话
AWS返现 安全不是买个WAF、开个GuardDuty就万事大吉。它藏在每次创建IAM用户时多按的那一下「Require MFA」勾选框里,躲在每次交接账号时多执行的那条aws iam list-access-keys命令中,更在于你敢不敢对客户说:「抱歉,您要求的全权限API密钥,我们按ISO 27001规定无法提供」。真正的安全保障,永远始于对便利性的主动克制,而非对灾难的被动忏悔。
现在,放下手机,打开AWS控制台——检查你的根账号MFA状态。如果还没开,就别刷朋友圈了。毕竟,黑客不会等你吃完这顿火锅才动手。

