去年秋天,防劫一个做跨境电商的持腾朋友半夜给我打电话,声音发紧:腾讯云控制台登不上了,网站绑定的防劫手机号被改,连备用邮箱都收到了异地登录提醒。持腾他网站首页被挂了一行阿拉伯文,网站数据库里多了几个不认识的防劫账号。前后不到四十分钟,持腾损失六万多。网站这事让我重新翻了一遍腾讯云的防劫权限体系,发现很多默认设置根本扛不住有备而来的持腾攻击者。
劫持腾讯云账号,网站最常见的防劫手段不是破解你的密码,而是持腾偷你的登录态。腾讯云控制台默认支持账号密码、网站微信扫码、短信验证码三种方式。问题出在短信验证码上——运营商侧存在SIM卡克隆攻击,攻击者拿你的手机号去补办一张卡,所有短信直接落到他手里。腾讯云那边看到的是“合法手机号+正确验证码”,根本拦不住。我后来把所有能关的短信登录全关了,只留微信扫码和硬件MFA。
MFA这块有个坑。腾讯云提供的虚拟MFA(比如Google Authenticator)绑定后,恢复码只显示一次。很多人截个图扔相册里,相册又被iCloud同步走。攻击者拿到你的Apple ID,恢复码就跟着泄露了。我现在的做法是:恢复码打印出来锁抽屉,腾讯云账号绑定的微信单独用一个不常用的号,那个微信号只用来登录腾讯云,不加任何好友、不绑银行卡。
子账号和API密钥是另一个重灾区。腾讯云的CAM(访问管理)里,主账号默认有全部权限。很多人图省事,直接拿主账号的SecretId和SecretKey去调API,密钥写在代码里,代码传到GitHub。爬虫扫到密钥,几分钟内就能调你的CVM接口开一堆挖矿机器。我见过一个案例,攻击者用泄露的密钥在三个地域开了两百多台高配实例,一夜跑掉十几万。腾讯云虽然有密钥泄露检测,但通知到你的时候,钱已经烧了。
正确的做法是给每个应用建独立子账号,只授予必要权限。比如一个只读COS的子账号,就算密钥泄露,攻击者也只能看你的对象存储,动不了CVM和数据库。子账号的登录密码和API密钥要分开管理,API密钥只在服务端用,绝不进前端代码。腾讯云CAM里有个“仅允许指定IP访问”的选项,把子账号的调用来源限制在你服务器的IP段,能挡掉大部分滥用。
登录保护这块,腾讯云有个“异地登录提醒”,默认是开的,但只发站内信和邮件。攻击者如果先改了你的邮箱,提醒就发到他那儿去了。我手动加了微信提醒,并且把“登录保护”级别调到最高——每次新设备登录都要MFA验证。这个设置藏得比较深,在“账号安全”二级菜单里,很多人根本不知道。
还有个小细节:腾讯云控制台的“操作保护”默认只对敏感操作生效,比如删除CVM、修改安全组。但攻击者可能先改你的DNS解析,把流量导到钓鱼页,这不属于敏感操作,不会触发二次验证。我在CAM里自定义了一条策略,把“修改DNS记录”“创建子账号”“修改CAM策略”全加进强制MFA列表。多按一次指纹,比事后报警有用。
最后说个真实观察。大部分被劫持的账号,事后追溯都能找到同一个模式:主账号长期不换密码、MFA没开或恢复码泄露、API密钥硬编码在客户端。腾讯云的安全能力其实够用,问题是默认配置为了降低使用门槛,把很多防护做成了“可选”。你得自己一个个翻出来打开。我现在的习惯是每季度登一次腾讯云安全中心,把“未开启MFA的子账号”“超过90天未轮换的密钥”“异常登录记录”过一遍。花二十分钟,省得半夜接电话。
顶: 7244踩: 5






评论专区