防止程序调用,原理:查看日志5W条记录,对单个IP访问量进行统计并记数超过1000视为黑名单IP,每半小时检查执行一次脚本

一、黑名单配置

在http模块最后加上配置

#黑名单设置     
   include /usr/local/nginx/conf/blockip.conf;

二、创建脚本

#!/bin/bash
#取最近5w条数据
tail -n50000 /usr/local/nginx/logs/access.log \
#过滤需要的信息行ip等
|awk '{print $1,$12}' \
#过滤爬虫
|grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou|360|bing|soso|403|admin" \
#统计
|awk '{print $1}'|sort|uniq -c|sort -rn \
#超过1000加入黑名单
|awk '{if($1>1000)print "deny "$2";"}' >> /usr/local/nginx/conf/blockip.conf
#重启nginx生效
/usr/local/nginx/sbin/nginx -s reload

三、制定执行计划

*/30 * * * * . /etc/profile;/bin/sh /root/project/nginx_blockip_task/blockip.sh

四、加入任务

crontab -e

五、其他方案

https://www.jb51.net/article/168907.htm

Nginx 动态添加IP黑名单相关推荐

  1. Centos添加ip黑名单禁止某个ip访问,对登陆失败的主机进行封禁

    转载来源 : Centos添加ip黑名单禁止某个ip访问,对登陆失败的主机进行封禁 :http://www.safebase.cn/article-259725-1.html 在Linux中如何禁止I ...

  2. nginx 动态添加模块

    nginx 动态添加模块 一.将命令切换nginx执行程序所在目录并输入 查看 nginx执行程序的位置 find / -name nginx 查看nginx已安装的包: ./nginx -V [ro ...

  3. centos7添加ip黑名单禁止某个ip访问

    centos7用的是firewall 添加单个黑名单只需要把ip添加到 /etc/hosts.deny 格式  sshd:$IP:deny vim /etc/hosts.deny   添加你要禁止的i ...

  4. Linux添加IP黑名单

    防攻击可以增加IP白名单/etc/hosts.allow和黑名单/etc/hosts.deny 修改/etc/hosts.allow文件 # hosts.allow This file describ ...

  5. 已安装nginx动态添加模块

    说明: 已经安装好的nginx,需要添加一个未被编译安装的模块,需要怎么弄呢? 具体: 这里以安装第三方ngx_http_google_filter_module模块为例 nginx的模块是需要重新编 ...

  6. nginx配置ip黑名单

    动态添加ip黑名单 黑名单配置 在http模块最后加上配置  黑名单设置: include /etc/nginx/ip.black; 黑名单示例: deny 127.0.0.1; deny 127.0 ...

  7. NGINX Plus集成fail2ban进行动态IP黑名单配置

    NGINX Plus集成fail2ban进行动态IP黑名单配置  安全,NGINX Plus集群,键值存储,入侵检测系统(IDS),IP地址黑名单 照片:Arnold Reinhold –自己的作品, ...

  8. nginx ip黑名单动态封禁

    网站被恶意请求,拉黑IP是重要的手段,如果每次拉黑都要到nginx上配置,未免太low了:我们需要更方便的控制nginx IP黑名单. 1.方案 黑名单持久化到mysql (常见的方案是redis,但 ...

  9. nginx动态黑名单配置2

    之前写过关于nginx配置动态黑名单功能 原理是查询日志,统计某段时间内访问次数很频繁的ip,对ip进行封禁 如果在nginx之前有WAF,F5设备,remote_addr 的地址是WAF.F5的地址 ...

最新文章

  1. Java 理论与实践: 正确使用 Volatile 变量
  2. 关于网络唤醒远程开机的方法
  3. java抛异常 代替返回_请问业务层方法是抛出一个异常好还是返回一个结果更好...
  4. 使用idea编写消费者,接收生产者的持续日志输出【小案例】(三)
  5. Python黑客编程3网络数据监听和过滤
  6. java对存放实体的list进行排序
  7. 图片加载库之Glide和Picasso对比
  8. 使用Mathcad解受迫振动微分方程并画图
  9. 马士兵Java自学之路
  10. 谷歌地球网页版_谷歌地球:Google Earth 专业版
  11. [英语学习]3招速成英语发音 背景音乐和学习随感
  12. STR鉴定原理、流程已经报告数据解读指南
  13. 金星DEM数据介绍与下载教程
  14. asp毕业设计——基于asp+access的会员管理系统设计与实现(毕业论文+程序源码)——会员管理系统
  15. 再读《终身成长》——重塑思维
  16. 第12周 项目4-输出从顶点u到v的所有简单路径
  17. springboot启动直接退出显示Process finished with exit code 1
  18. 侧扫声纳内业处理--基于HYPACK2018
  19. 【原生Ajax】全面了解xhr的概念与使用。
  20. 筑波大学sgu项目计算机修士,柠檬SGU|筑波大学英文授课修士CSE计算机课程

热门文章

  1. 第10章 51PC实物制作
  2. 守望你的幸福,也是一种美好:QQ情感日志
  3. python数据分析处理库-Pandas
  4. 项目实战!用爬虫和Flask打造属于自己的电影网站
  5. 票据业务-银票、商票
  6. 谷歌翻译下载-免费谷歌翻译软件下载
  7. ubuntu目录结构简述
  8. oracle orion —— 测试io性能的工具!
  9. android adb shell am 可以用来启动activity ,而且可以通过-e 传入参数, 牛牛牛
  10. 2022新URL网址SEO外链自动发布网站源码+LayUI开发