啥叫暴力破解,通常指攻击者在知道了用户账号的情况下,通过程序循环调用登录接口的方式来验证并得出用户的密码,进而登录到系统中执行一些有危险性的操作。
常见的防爆力破解有以下几个解决方案,可以有选择的套用一下。
1.锁定账号或者ip
2.验证码
3.ip白名单
4.提升密码复杂度
5.后台告警
锁定账号或者ip
当某个账号或者某个ip地址在一段时间内(例如1分钟内)登录失败了一定次数(例如5次)后,锁定这个账号,后续尝试都返回失败响应
验证码
调用登录接口需要先获取验证码(服务端存储验证码),然后需要用户把正确的验证码一并传递到后台做验证。
验证码图片要尽量不规则,有噪音,增加图片智能识别的难度
而且后端存储的验证码存活时间要尽量缩短,使用完毕以后要清空。
ip白名单
如果是只针对特定用户使用的系统,例如只有公司某个运营人员操作的系统,可以将其常用电脑的ip地址设置到白名单里,系统验证只有ip在白名单里面的用户才可以登录访问
提升密码复杂度
用户注册的时候尽量要求输入的密码有一定的复杂度,例如同时包含数字,字母大小写,特殊字符等等,增加暴力破解的难度
后台告警
自动识别暴力破解行为,及时向后台管理人员发送告警信息,做出及时的响应,防止损失进一步扩大。