阿里云 短信服务------验证码盗刷与短信轰炸
前言
最近在项目上使用到了阿里云的短信服务在忘记密码业务中发送短信验证码。
出于对于日后的业务安全的考虑需要考虑到验证码盗刷以及短信轰炸对于公司以及用户造成的损失。本篇博客是参照阿里云官方文章中的对于验证码盗刷与短信轰炸的预防和具体解决措施,小编将其摘抄了出来分享给大家,希望对有这一块儿业务和安全考虑的读者提供帮助。
验证码盗刷与短信轰炸
本文为您介绍了验证码盗刷及应对建议、短信轰炸及预防建议。
验证码盗刷及应对建议攻击者利用用户短信资源中验证码获取功能,通过程序的方式批量对单个或者多个号码进行验证码重复请求提交。用户验证码被刷后直接带来的是经济损失,同时对被攻击的号码带来了巨大的骚扰。您可以通过以下方式进行防御或应对:
- 开启验证码防盗刷监控。具体操作指引,请参见 开启验证码防盗刷监控。
- 添加验证码。用户进行短信发送操作前,需要正确输入图形验证码、拖动验证等。
- IP地址限制。在服务器端增加对单个IP请求的验证码数量进行限制。
- 手机号码限制。客户在服务器端对单手机号请求的验证码数量进行限制。
- 暂停调用短信接口,并完善网站或接口的防御措施。
短信轰炸及预防建议短信轰炸是指攻击者利用您的网站或应用触发大量无效短信,并发送给大批量用户。此行为往往利用自动化工具批量、自动地发送短信,导致接收短信的手机用户被骚扰,给业务方造成品牌及业务不良影响。您可以通过以下方式预防短信轰炸:
- 添加图形验证码(CAPTCHA):即当用户进行动态验证码短信发送操作前,弹出图形验证码,要求用户输入验证码后,服务器端再发送动态短信到用户手机上。该方法有效防止恶意工具的自动化调用,可有效解决被利用实施短信轰炸攻击的问题。
- 对验证码获取做限制:一般限制为60秒,60秒后可重新获取验证码。
- 对验证码有效性做时间限制:一般限制在30秒以内,超出30秒没有输入的验证码作废,需重新获取。