动态ip

>

代理ip软件

>

换ip软件

>

HTTP代理

>
Socks5代理
黑核动态ip代理
您的位置: 首页 > 新闻资讯 > 正文

nginx限制IP恶意调用短信接口处理方法

发布时间:2019-12-24 14:29:11 来源:黑核动态ip代理

分享到

  真实案例:

  查看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限制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个并发连接的限制。


相关资讯

nginx限制IP恶意调用短信接口处理方法

真实案例:查看nginx日志,发现别有用心的人恶意调用API接口刷短信:30966487115.213.229.38"-"[05/Jun/2

来源:黑核动态ip代理

2019-12-24 14:29:11

“流星加速器”恶意投毒控制用户电脑 恐用于商业牟利

根据“火绒威胁情报系统”监测,火绒安全团队发现一款名为“流星加速器”的软件,正通过各大下载站下载器进行静默推广传播,且携带恶意代理模块和后门模块。用户运行该软件

来源:黑核动态ip代理

2020-08-18 16:18:49

什么是代理IP的API接口?HTTP代理IP的使用误区有哪些

HTTP代理IP的API接口是什么意思?从事网络的伙伴们,对HTTP代理IP自然再熟悉不过。那么API又是什么呢?HTTP代理IP的API接口是什么意思?API

来源:黑核混拨ip代理

2019-01-16 15:00:55

爬虫代理ip说的API接口/链接是什么?

很多刚接触爬虫代理IP、刷量代理IP的用户会奇怪,API到底是什么?为什么每一家代理商都在说API接口,API链接?其实日常生活中,我们有很多类似API的场景,

来源:黑核动态ip代理

2019-05-10 09:52:47

单个防火墙接口的动态IP地址及其工作方式

单个防火墙支持使用DHCP,PPPoA,PPPoE和SLAAC在防火墙的网络接口上分配动态IPv4或IPv6地址。PPP仅支持IPv4地址。通常,动态IP地址用

来源:黑核动态ip代理

2019-05-16 09:47:06

刷量/爬虫代理ip说的API接口/链接是什么?

很多刚接触爬虫代理IP、刷量代理IP的用户会奇怪,API到底是什么?为什么每一家代理商都在说API接口,API链接?其实日常生活中,我们有很多类似API的场景,

来源:黑核动态ip代理

2019-06-01 09:49:33

爬虫代理ip说的API接口是什么

很多刚接触爬虫代理IP、刷量代理IP的用户会奇怪,API到底是什么?为什么每一家代理商都在说API接口,API链接?其实日常生活中,我们有很多类似API的场景,

来源:黑核动态ip代理

2019-08-30 16:02:00

ip被限制了怎么办 有什么办法能解决

还在为注册不了账号而发愁吗?那就使用代理IP吧,代理IP可以替换你的用户IP,然后代替你本来的IP去进行访问网站,从而完成注册业务。做网络业务的人一般都知道,大

来源:黑核混拨ip代理

2019-01-11 11:31:31

http代理调用模式

近年来互联网的快速发展,各行各业发展尤为迅速,大数据时代来临,爬虫行业迎来高速发展,http代理的作用也日益重要。近几年来,各种代理IP的推出吸引了不少人的关注

来源:黑核动态ip代理

2019-11-28 14:18:11

Nginx作为反向代理服务器

Nginx通过proxy模块实现反向代理功能。在作为web反向代理服务器时,nginx负责接收客户请求,并能够根据URI、客户端参数或其它的处理逻辑将用户请求调

来源:黑核动态ip代理

2019-05-23 10:18:23

IP加速器的使用方法和简单问题解决办法

IP加速器,顾名思义就是加速IP,提升网络性能,降低网络延迟。黑核混拨ip加速器是一款ip量大速度快的加速器,非游戏外挂,可以放心使用。IP加速器的客户端设置简

来源:黑核混拨ip加速器网

2018-12-28 10:21:44

在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
客服电话
13318873961