魔幻工厂api安全加强始终

起因及现状
魔幻工厂app因为出色的展现方式加上独一无二的风格,引来了不少”围观群众“,以至于有人惦记上了我们,想协助我们做测试,server端一直都有兄弟们帮忙做压力测试。从9月份的支付宝1分钱支付漏洞开始,每天都有攻击者,直到11.18-11.22一直攻击发送短信验证码接口才凸显出问题来。

威胁分析
威胁分析
应用攻击

应用攻击
暴力破解

暴力破解

对方攻击的接口是我们获取验证码的接口,只要是有请求都会给合法的手机号发送验证码,让我们意外的是对于这种恶意请求,神奇的阿里云居然采取只围观不拦截的措施,也许是为了让消费者掏保护费他才处理吧,毕竟一个web应用防火墙一年几万还是有钱赚的。这3天这个接口被请求了何止百万,如果不是submail主动防御,我们损失将更大,将直接导致短信功能不work,还号留住了几千条短信能撑几天。

submail防御

发生这种被恶意攻击的事,作为一流的技术团队我们肯定不能善罢甘休,认怂被搞下去,但是防黑客这条路从来就是漫长的。所谓道高一尺,魔高一丈,那么我们该怎么一步步来加强安全措施呢。

调查结果及解决方案
1、禁止root用户直接登录,并修改密码,新建登录用户。(11.19日已操作)
2、 规范接口调用,生产服务器关闭80端口。
从目前的统计看,http的访问比https的还要多,初步理解应该是微信、红包、banner等网页的请求多比app本身的商品浏览下单等要多,目前网页都用的http。11.22日banner和领取红包页面的请求已修改为https。

下图是阿里统计的SLB上80和443两个端口数据流量的统计。

HTTPS 443端口一周流入数据流量
https

HTTP 80端口一周流入数据流量

http
3、 加图形验证码或者滑动拼图之类的。在请求验证码接口前先请求一个图形验证码,图形验证码设置有效时间并且绑定手机号,提交到后台时手机号+验证码+图形验证码+有效时间同步验证。
4、 静态网页加ticket验证,每个静态页打开后请求一个唯一的只能使用一次的ticket,在网页端提交数据时使用。后台校验ticket有效性。
5、 header特殊信息加密。header里封装一个特殊带时间属性的特殊字段,并使用前后端约定的key加密,server端解密后验证规则,符合规则则可信,允许访问接口。

发表评论

电子邮件地址不会被公开。 必填项已用*标注