真实案例:
查看nginx日志,发现别有用心的人恶意调用API接口刷短信:
30966487 115.213.229.38"-"[05/Jun/2018:14:37:29+0800]0.003 xxxxxx.com"POST/xxx/sendCheckCode HTTP/1.1"401 200 46 xx.xx.xx.xx:0000 0.003 200"Mozilla/5.0(Windows NT 6.1;WOW64;rv:27.0)Gecko/20100101 Firefox/27.0""https://xxxxxx/sendCheckCode"
30963985 60.181.111.140"-"[05/Jun/2018:14:37:29+0800]0.004 xxxxxx.com"POST/xxx/sendCheckCode HTTP/1.1"401 200 46 xx.xx.xx.xx:0000 0.004 200"Mozilla/5.0(Windows NT 6.1;WOW64;rv:27.0)Gecko/20100101 Firefox/27.0""https://xxxxxx/sendCheckCode"
30959954 220.190.18.25"-"[05/Jun/2018:14:37:29+0800]0.003 xxxxxx.com"POST/xxx/sendCheckCode HTTP/1.1"401 200 46 xx.xx.xx.xx:0000 0.003 200"Mozilla/5.0(Windows NT 6.1;WOW64;rv:27.0)Gecko/20100101 Firefox/27.0""https://xxxxxx/sendCheckCode"
思考了几种方案,最终考虑使用ip黑名单的方式:
处理方法:
一、nginx黑名单方式:
1、过滤日志访问API接口的IP,统计每10分钟调用超过100次的IP,直接丢进nginx的访问黑名单
2、具体步骤:
编写shell脚本:
vim/shell/nginx_cutaccesslog.sh
#!/bin/bash
log_path=/xxx/nginx/logs
date=`date-d"10 min ago"+%Y%m%d-%H:%M:%S`
nginxpid=`cat${log_path}/nginx.pid`
cd${log_path}
#过滤access.log中正常访问API接口并在10分钟(下面是日志切割,再做个定时任务每10分钟执行一次,就可以实现了)内访问量最高的30个IP,取值如果此IP访问量大于100次,则把此IP放入黑名单
cat access.log|grep sendCheckCode|grep-v 403|awk'{print$2}'|sort|uniq-c|sort-k1-n|tail-30|awk'{if($1>100)print"deny"$2";"}'>../conf/denyip.conf
#日志切割,做定时任务,每10分钟执行一次
mv${log_path}/access.log${log_path}/accesslog.bak/access_${date}.log
../sbin/nginx-s reload
可自己定义时间间隔和访问量,也可取消筛选访问量最高的30个,直接取值每10分钟访问接口超过100次的
其中:"grep-v 403"是把已经禁止访问的IP给过滤掉,只筛选正常访问的
3、修改nginx.conf
在http模块加入:
include denyip.conf;
重新加载nginx生效。
4、添加计划任务:
*/10****/bin/bash/shell/nginx_cutaccesslog.sh>/dev/null 2>&1
5、验证:
[root xxx logs]#ll accesslog.bak/
-rw-r--r--1 root root 2663901 Jun 5 15:10 access_20180605-15:00:01.log
-rw-r--r--1 root root 13696947 Jun 5 15:20 access_20180605-15:10:01.log
-rw-r--r--1 root root 13265509 Jun 5 15:30 access_20180605-15:20:01.log
-rw-r--r--1 root root 13846297 Jun 5 15:40 access_20180605-15:30:01.log
[root xxx logs]#cat../conf/denyip.conf
…………
…………
deny 112.12.137.28;
deny 183.167.237.229;
deny 111.41.43.58;
deny 115.217.117.159;
deny 219.133.100.133;
deny 171.221.254.115;
deny 60.184.131.6;
…………
…………
再查看已经禁用IP的访问日志,则会返回403错误:
[root xxx logs]#tail-f access.log|grep"60.184.131.6"
31268622 60.184.131.6"-"[05/Jun/2018:15:47:34+0800]0.000 xxxxxx.com"POST/xxxxxx/sendCheckCode HTTP/1.1"377 403 168---"Mozilla/5.0(Windows NT 6.1;WOW64;rv:27.0)Gecko/20100101 Firefox/27.0""https://xxxxxx/sendCheckCode"
31268622 60.184.131.6"-"[05/Jun/2018:15:47:35+0800]0.000 xxxxxx.com"POST/xxxxxx/sendCheckCode HTTP/1.1"377 403 168---"Mozilla/5.0(Windows NT 6.1;WOW64;rv:27.0)Gecko/20100101 Firefox/27.0""https://xxxxxx/sendCheckCode"
31268622 60.184.131.6"-"[05/Jun/2018:15:47:35+0800]0.000 xxxxxx.com"POST/xxxxxx/sendCheckCode HTTP/1.1"377 403 168---"Mozilla/5.0(Windows NT 6.1;WOW64;rv:27.0)Gecko/20100101 Firefox/27.0""https://xxxxxx/sendCheckCode"
二、限制IP请求数:
处理这种情况的方法还有一种是限制单IP单位时间的请求数,以及单IP的并发连接数
此方法没有实际运用,因为感觉这种方法会误杀正常的访问用户
写一下此方法的大概配置,http模块加入:
http{
limit_req_zone$binary_remote_addr zone=one:10m rate=8r/s;
server{
location/search/{
limit_req zone=one burst=5;
}
如何估算limit_req_zone size:
一兆字节区域可以保持大约1万6064字节的状态。
那么10M就可以存储16万的IP统计信息,这个对普通应用足够了,16万每秒的UV,已经超级厉害了。
如果size的大小如果设置小了,例如设置成1M,那么当一秒内的请求IP数超过16000的时候,超出的IP对应的用户看到的均为503 Service Temporarily Unavailable页面了。参考,漏桶算法Leaky Bucket。同时,rate的单位用r/s非常合适,如果换成按天,按小时计数,10M的内存肯定不够用。
如何估算limit_req_zone rate:
首先需要知道的是,普通浏览器的同时并发数量。按照Dropbox技术博客里所谈到的,目前主流浏览器限制AJAX对同一个子域名的并发连接数是6个。IE 6,IE 7是两个。
大多数浏览器每个主机名都有6个并发连接的限制。
相关资讯
换ip软件帮您解决ip被封烦恼!
换ip软件帮您解决ip被封烦恼!我想做互联网工作的基本上都需要换下ip吧,很多时候我们做推广经常被封账号,特别是同一个IP自问自答马上封你没商量,但是这些推广也
来源:黑核混拨IP网
2018-12-25 15:52:02
不知道怎么样修改ip地址可以用黑核混拨IP软件
现在做推广越来越难做了,动不动就被封号,要么就是一个IP只能登陆一个账号,这就尴尬了,如果只用一个账号推广根本不见效啊,或者说见效也效果不大,只能大批量的做推广
来源:黑核混拨ip加速器网
2018-12-25 16:28:24
黑核混拨IP加速器让你知道如何改变ip地址
被论坛禁言了?玩游戏作弊,被封号了?被人屏蔽IP是件很让人不爽的事情,平时正忙的时候被封禁,会有种天塌下来的感觉。如何改变ip地址成了我们比做的事情,不改变IP
来源:黑核混拨ip加速器网
2018-12-25 16:58:44
黑核混拨IP加速器轻松解决怎么修改手机ip地址问题
有些视频播放站很坑,一天只能观看几个视频就需要开通会员才能看了,但是我们又不想冲会员怎么办,那就需要修改手机IP地址了,但是怎么修改手机IP地址呢?不是谁都懂的
来源:黑核混拨ip加速器网
2018-12-25 17:39:01
还在找ip地址修改器吗?来试试黑核混拨IP加速器吧
国内ip地址修改器顾名思义就是转换自己的IP地址的一个工具或者一款软件,ip地址修改用哪些工具好处呢,因为工作或者个人需求,修改IP后可以注册一些限制IP注册的
来源:黑核混拨ip加速器网
2018-12-25 18:13:13
在国外想玩lol国服吗?来试试这个ip加速器吧
身在国外想玩下国服游戏是一件很痛苦的事情,因为网络延迟太高了,卡到让人怀疑人生的那种地步,有多卡呢?玩个游戏能卡出漫画的效果来,看着都着急啊。特别是玩游戏的时候
来源:黑核混拨ip加速器网
2018-12-27 17:07:17
什么是ip代理软件?可以修改ip地址吗?
经常碰到朋友问,代理IP是做啥的,有什么用。我对他一顿解释,然后他还是云里雾里,好吧,可能是我口才不好,这里写文再解释下。代理IP对于很多人来说,用处很大,他们
来源:黑核混拨ip加速器网
2018-12-27 17:27:18
什么是代理IP的API接口?HTTP代理IP的使用误区有哪些
HTTP代理IP的API接口是什么意思?从事网络的伙伴们,对HTTP代理IP自然再熟悉不过。那么API又是什么呢?HTTP代理IP的API接口是什么意思?API
来源:黑核混拨ip代理
2019-01-16 15:00:55
nginx限制IP恶意调用短信接口处理方法
真实案例:查看nginx日志,发现别有用心的人恶意调用API接口刷短信:30966487115.213.229.38"-"[05/Jun/2
来源:黑核动态ip代理
2019-12-24 14:29:11
ip被限制了怎么办 有什么办法能解决
还在为注册不了账号而发愁吗?那就使用代理IP吧,代理IP可以替换你的用户IP,然后代替你本来的IP去进行访问网站,从而完成注册业务。做网络业务的人一般都知道,大
来源:黑核混拨ip代理
2019-01-11 11:31:31
爬虫遇到IP限制和访问时间间隔限制如何处理?
掌握了爬虫应该学习的内容,我们难免就会遇到反爬虫的问题,像时间限制、IP限制、验证码限制等等,都可能会导致爬虫无法进行,所以也出现了很多像代理IP、时间限制调整
来源:黑核混拨ip代理
2019-04-01 15:23:55
推荐阅读
Copyright © | 广州网连信息技术有限公司动态ip代理版权所有 备案号:粤ICP备18088888号-15 网站地图