
发布时间:2026-07-29 09:18:47
2025年底,一个做金融科技的创业公司找到我,说他们账号被黑了,黑客开了150台g4dn实例挖矿,一周账单4.2万美元。我调查后发现,原因让人无语——他们的一个开发人员把Access Key和Secret Key硬编码在Python脚本里,然后push到了GitHub公共仓库。GitHub的机器人扫描到密钥,不到10分钟就被恶意脚本抓取,自动调用了EC2 RunInstances API。
这不是技术漏洞,是安全意识漏洞。 AWS的责任共担模型(Shared Responsibility Model)白纸黑字写着:AWS负责云端基础设施的安全(物理安全、虚拟化层、网络),但客户负责自己在云上的数据、操作系统、网络配置和凭证管理。
我帮客户设计的安全体系,总结起来就是三道防线,层层递进。只要做到,能抵御99%的常见攻击。
根账号是AWS账号的“超级管理员”,拥有所有权限,包括关闭账号、删除所有资源、修改账单。它应该只做三件事:
注册时使用,之后创建第一个IAM管理员用户
开启多因素认证(MFA) ——必须!必须!必须!
设置预算警报(Billing Alert)和成本异常检测
除此之外,永远不要用根账号做任何日常操作:不要用它登录控制台,不要用它的密钥调用API,不要在代码里用它的密钥。
具体操作:
在根账号下,进入IAM > 用户,创建你自己的IAM用户(赋予AdministratorAccess或更细的权限)
为根账号启用虚拟MFA(如Google Authenticator或Authy),或者用硬件MFA(YubiKey)
将根账号的密码设置成超长随机字符串(20位以上),抄在纸上锁保险柜,不保存在任何电子设备中
启用AWS Organizations,把根账号作为管理账号(只管账单和策略),其他业务账号作为成员账号
一个真实建议: 如果你的团队有多人,不要让任何一个人单独知道根账号密码,可以用密码管理工具分割权限(如1Password的“旅行模式”),或者使用AWS的“多用户MFA”功能(需要多个MFA同时验证)。
IAM(Identity and Access Management)是AWS的权限管控核心。绝大多数安全问题都出在权限过大或密钥泄露。
核心原则:最小权限(Least Privilege)
不要给用户“管理员”权限除非绝对必要。正确的做法是:
按角色分配权限:开发者只需要EC2、S3、RDS的操作权限,不需要IAM管理;运维需要监控和日志;财务只需要账单查看。
使用用户组(Group) 来管理权限,把用户加入组,而不是直接给用户附加策略。
尽量使用角色(Role) 而不是长期访问密钥(Access Key) 。例如,EC2实例需要访问S3,就给EC2绑定一个角色,而不是把密钥放到实例里。这样密钥自动轮换,不用人工管理。
密钥管理的最佳实践:
如果必须使用Access Key(比如第三方工具集成),每90天轮换一次,并删除旧密钥。
不要在代码中硬编码密钥,使用AWS Secrets Manager或Parameter Store来存储。
启用AWS CloudTrail,记录所有API调用,定期审计哪些密钥被使用、来自哪个IP。
我遇到过一个案例,公司把Access Key发给外包开发,项目结束后忘了删除,结果外包那边被黑客入侵,连带着这个公司的AWS账号也被挖矿。删除离职人员或外包人员的密钥,比创建时更重要。
单账号架构早就过时了。现代AWS最佳实践是多账号策略,利用AWS Organizations将不同环境、不同业务单元隔离开。
推荐的多账号结构:
管理账号(Master) :只用于计费和策略管理,不放任何资源。
生产账号(Prod) :跑线上业务,严格控制变更,所有操作需审批。
非生产账号(Non-Prod) :跑开发、测试、预发布环境,可以灵活操作。
日志归档账号(Log Archive) :集中存储所有账号的CloudTrail日志、Config记录,只读权限。
安全账号(Security) :部署安全工具(如GuardDuty、Macie、Inspector),集中监控。
这种隔离的好处是,一个账号出问题(比如开发环境被黑),不会影响生产环境。而且不同账号用不同的支付方式,财务清晰。
网络层面的防护也不可忽视:
安全组(Security Group) :作为虚拟防火墙,只开放必要的端口(比如80/443,SSH只允许特定IP)。
网络ACL:子网级别的额外过滤。
AWS WAF:保护Web应用免受常见攻击(SQL注入、XSS)。
VPC端点(VPC Endpoint) :让EC2通过内网访问S3等AWS服务,避免公网暴露。
防线 | 核心目标 | 关键措施 | 优先级 | 成本 |
第一道:根账号安全 | 防止账号被全权接管 | MFA必开、密码强且保密、不日常使用 | ��最高 | 免费(MFA软件) |
第二道:IAM权限 | 限制用户和程序的操作范围 | 最小权限、组管理、角色代替密钥、定期轮换 | ��最高 | 免费(CloudTrail有少量费用) |
第三道:隔离与网络 | 减少单点故障影响面 | Organizations多账号、安全组限制、WAF/GuardDuty | ��中高 | GuardDuty等有费用但很值 |
很多人只把预算告警当省钱工具,但它其实也是安全监控。如果半夜收到邮件说“本月消费已超500美元”,而你什么都没做,那很可能账号已经被黑了。设置多级告警:50美元、200美元、500美元、1000美元,每级触发不同应急流程。我有个客户就是通过100美元告警发现测试账号被挖矿,及时止损,最终账单只多了800美元而不是几万。
很多团队在初建时认真做了安全配置,但半年后人员变动、项目增加,权限就乱了。每季度做一次安全审计:检查所有IAM用户、删除未使用的密钥、更新废弃的角色。AWS提供IAM Access Analyzer,可以自动分析哪些资源有公共访问权限,建议长期开启。
最可怕的不是黑客技术高明,而是你自己的疏忽。 据统计,AWS安全事件中,超过80%源于客户端的凭证泄露或权限配置不当。把安全放在心里,而不是放在销售PPT里。
小结:账号安全靠三道防线——锁死根账号、精细化IAM、隔离与监控。没有绝对安全,但做足这些,你可以睡个安稳觉。
如果需要更深入咨询了解可以联系全球代理上TG:jinniuge 他们在云平台领域有更专业的知识和建议,他们有国际阿里云,国际腾讯云,国际华为云,aws亚马逊,谷歌云一级代理的渠道,客服1V1服务,支持免实名、免备案、免绑卡。开通即享专属VIP优惠、充值秒到账、官网下单享双重售后支持。不懂找他们就对了。