线上阿里云短信盗刷问题实录

背景

    营销系统中有定时任务处理将待支付订单变更为已取消,执行时间五分钟一次.业务执行处理异常会发送短信给相关开发人员进行短信提醒.从下午一点二十五开始,开发人员间隔五分钟就会收到业务执行异常的短信提醒.最初因为测试或是正式环境中确实有异常的业务,才会出现这个情况,.但是排查之后两个环境中业务执行都是正常的.当时很好奇怎么会出现这个问题.

处理过程

    对接阿里云客服之后,根据其中一条的短信发送时间查询出发送短信的服务器ip来源于日照,明显不是业务服务器发出,至此,基本上确定短信发送服务存在盗刷,阿里云那边反馈是短信服务AK信息(secrectId和secrectKey)泄露,给出的建议是先更换AK信息观察短信是否还是继续发送.这里说下阿里云账号下面会分很多用户,每个用户可以对应不同的权限,找到短信服务权限对应的用户,先创建生成新的AK信息,应用变更新的AK信息之后将原有AK信息做禁用处理(如果不禁用处理,支持多个AK同时生效).处理完成之后开发那边没有收到短信,初步看问题得到处理.

思考

    不清楚的一个地方是业务异常短信提醒是应用中的定时任务,不对外暴露接口,对方怎么进行的调用,到现在也是想不明白,还有盗刷短信这种行为是基于哪种利益,重复购买短信包吗?有想法的大佬可以在评论区指点一番.
    另外阿里云AK信息要定时进行更换,看来时间过长AK信息确实存在泄漏或是被破解的风险.
在这里插入图片描述

补充

    现在问题基本明朗,新来的同学本地项目异常导致的定时短信异常提醒.当时考虑过他本地的项目的问题,但是当时因为两个原因给忽略了.一是当时把他本地项目停调之后仍然接收到了短信,错误的把他项目的原因给忽略了,其实当时应该定时任务间隔五分钟才会执行,恰好他停止之后定时任务刚执行完就发送过来短信了;另外一个摆脱嫌疑的点是阿里云客服查询短信发送ip地址显示:140.75.156.48.一个完全陌生的ip地址,直接朝着网络安全方面去想了.隔了几天重现是因为我更改的AK他本地已经更新,其他不变.从18:36有开始历史重演,和阿里云网络同学确认过后台显示的漏洞还不至于服务端代码解析泄漏,另外短信同学查询了一下短信发送的ip发现是我们本市,到这里的时候基本上没有思路了,很无助.还想过是不是@Scheduled线程的问题,最后从新梳理思路:阿里云服务器安全不存在攻击的可能,阿里云短信发送服务不存在发送异常的可能,那只有应用本身,线上的应用服务停止之后还能收到短信就说明不是线上,那只能是有项目代码的几个人,试着问了一下新入职的同学,截止到打电话的时候他本地项目还在跑着,当时的时间是21:35,我还在公司冥思苦想,他在家里竟然也在给我做持续赋能.核对了一下他家里的ip,和阿里云反馈的一模一样,到此这个事故水落石出.这个线上问题绝对算得上本年度最佳!感谢让我成长!
另外关于出现AK泄漏,出现的场景应该是频率特别高的短信盗刷,和我遇到的场景不一致.

猜你喜欢

转载自blog.csdn.net/weixin_43401380/article/details/131694225