关于API接口安全的思考

导读:本篇文章讲解 关于API接口安全的思考,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

最近在搭建一个框架,涉及接口安全的问题。为了减少攻击,想了很多。在这里复盘一下。

为什么要对接口做安全设置?

        如果get接口不做安全设置,如果接口被恶意攻击很有可能造成服务器或者数据库瘫痪,导致这个应用挂掉。

        如果post接口被攻击那就更可怕了,这个会产生很多非常不好的影响。比如数据丢,数据错乱,大量脏数据。如果涉及到money…后果就更不用想了。所以接口安全这一块是一个应用的重中之重,一定要尽最大努力去做好。

        但是有一点,我们即使做得再好也只是增加别人恶意攻击的成本,并不能百分百保证接口安全,只是说再一定程度上增加了恶意攻击的成本,从而降低被攻击的可能性。

增加接口安全的措施

1.对重要接口访问路径做短连接,可以防止别人按照规律恶意访问

        比如:https://www.xxx.com/a/b/32,像这种restful风格的链接,如果是重要接口最后做一下短连接替换,替换为如下这种:https://www.xxx.com/vXEr36k.这样就能避免别人根据规律去推测我们的地址链接。

2.对短信校验接口使用IP和手机号双重校验,对IP和手机号发送短信次数进行合理设定,防止短信接口被恶意调用

        因为短信接口经常会被黑人扫描,如果不做安全限制,会被一些黑客拿去做短信轰炸。消耗你的短信。所以我们要对IP和手机号进行每天发送次数的限制。但是这也只能起到略微的作用,因为现在基本上都是代理IP在操作,但是最起码没有代理IP池的情况下,他现在已经不能再随意调用短信接口了。

3.对短信校验接口增加拼图确认发送,拦截机器操作

        因为上述第二点只能拦截部分,但是对于代理操作还是无法拦截,所以在前面增加一个滑动拼图,发送短信之前校验是否已经完成拼图。这样一来恶意调用成本就又增加了。那我们的安全也就相应的提高了。

4.对所有接口增加签名校验,后台进行验签

        为了防止别人恶意调用和抓包拦截修改数据,我们可以对全局接口增加参数校验,后台网关统一拦截验签。需要注意的是这里的前台加密方式和公钥尽量做一些加工,这样可以增加破解的成本。比如对公钥可以进行Base64转码,然后调用时再转译。这样再经过打包以后,想要拿到我们的加密方法和公钥就需要付出一定的成本。如果为了安全可以定期更换公钥和私钥。

5.对于特别重要的数据接口调用增加日志

对于重要的数据接口调用前要写入日志,查询和操作都要进行判断是否是恶意操作(这个可以根据具体情况写方法判断)。如果是恶意操作和对账号和IP进行封禁,不让当前用户或者IP调用接口或者操作数据

6.购买高防IP防止DDoS攻击

        有很多竞争者会进行恶意的DDoS攻击我们的应用,进而导致应用不可访问,所以我们如果有实力要购买高防IP,这样能更好的保证应用的安全。

目前想到的这些都已经加上了,但是这也仅仅是增加了恶意攻击的成本。如果有大佬想专门黑那还是不行。所以如果大家有什么好的建议或者意见可以留言评论,我想尽量把这个做的安全一点。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/96991.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!