当前位置:首页 > 技术文章 > 正文内容

nginx下防IP恶意扫描访问 「一版」

arlanguage4个月前 (12-23)技术文章36


概述: 最近发现总有一些默认奇妙的请求进来,同IP进来的请求不停的在发送,根据分析,这些请求都没有真是请求到任何业务,考虑到流量和压力因素,决定对这下请求进行限制,以达到拒绝这写IP的恶意请求, 以下环境是nginx下的限制,其它web中间件同样也适用,只是加入的方式不同,对应调整即可。 具体看如下:


#!/bin/bash
_ccdir= /opt/cc
_tdipfile=ip_`date +%Y%m%d`.txt
_aclog=/var/log/nginx/access_passport.log

if [ ! -d $_ccdir ]; then
mkdir -p $_ccdir
fi

if [ ! -f $_ccdir/$_tdipfile ]; then
touch $_ccdir/$_tdipfile
fi



for i in `tail -n 10000 $_aclog | grep -i -v -E "110.75|101.225.10.41|101.50.41.141|121.195.7.65|60.12.157.216" | awk '{print $1}' | sort | uniq -c |sort -rn | awk '{if ($1>80){print $2}}'`

#grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou" // 此处我们可以增加加白名单做不限制请求,比如搜索蜘蛛、管理IP、测试IP等。

do
echo $i >> $_ccdir/$_tdipfile



#策略一
#echo "deny $i;" >> /etc/nginx/conf.d/denyip_`date +%Y%m%d%H%M`.cfg // 此处要注意,生效前提是nginx主配置文件增加对应的include conf.d/*.cfg 。
#find /etc/nginx/conf.d/ -mmin +180 -name "*.cfg" -exec rm -rf {} \; //应用这两条规则,实现3小时自动解除限制。

done



#策略二
cat $_ccdir/$_tdipfile | awk '{print "deny "$1";"}' > /etc/nginx/conf.d/denyip_`date +%Y%m%d`.cfg // 此处要注意,生效前提是nginx主配置文件增加对应的include conf.d/*.cfg 。



find /etc/nginx/conf.d/*.cfg -mtime +10 -exec rm -rf {} \; // 避免文件过多,定时清理.cfg配置文件。

/usr/local/nginx/sbin/nginx -t && /usr/local/nginx/sbin/nginx -s reload



总结说明: 将以上内容放入系统定时任务或者监控策略即可,上述策略一和策略二建议开启一个,策略二将覆盖策略一。 另外,需修改路径为自己的nginx路径和文件、日志路径。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/398.html

标签: nginx if deny
分享给朋友:

“nginx下防IP恶意扫描访问 「一版」” 的相关文章

Nginx常用配置及和基本功能讲解

作者:京东物流 殷世杰Nginx已经广泛应用于J-one和Jdos的环境部署上,本文对Nginx的常用的配置和基本功能进行讲解,适合Ngnix入门学习。1 核心配置找到Nginx安装目录下的conf目录下nginx.conf文件,Nginx的基本功能配置是由它提供的。1.1 配置文件结构Nginx的...

Linux下如何用nginx+ffmpeg搭建流媒体服务器

安装ffmpeg安装过程略安装完成后,检查是否安装成功。比如我这里采用向pili推流的方式,将本地的一个mp4视频推流到七牛pili。ffmpeg -re -i /tmp/ffmpeg_test.mp4 -vcodec copy -acodec copy -f flv "rtmp://pil...

PHP日志记录

背景在生产环境中日志的重要性显而易见,能快速定位问题和程序的调优。在LNMP架构中怎么记录好程序中的错误日志。设置error_log记录PHP日志信息#将会向PHP报告发生的每个错误 error_reporting = E_ALL #关闭页面显示才能将错误回写到日志文件 display_err...

C# 实现高并发 Web 应用的性能优化秘籍

在现代的互联网应用中,尤其是大型 Web 应用,性能和可扩展性成为了核心竞争力。随着用户访问量和数据量的增大,高并发处理成为了系统稳定性和响应速度的关键因素。无论是电商平台、社交网站还是 SaaS 应用,如何应对海量用户的同时访问,确保系统高效运转,已经成为了技术人员面临的重要挑战。C# 和 ASP...

高性能Linux服务器构建实战:运维监控、性能调优与集群应用

百万级字迹详解实战案例,篇幅因素故只展现pdf目录,完整解析获取方式在篇尾了!目录读者对象Web应用篇(1至第3章)数据备份恢复篇(4至第6章)网络存储应用篇(7和第8章)运维监控与性能优化篇(9和第10章)集群高级应用篇(11至第14章)勘误和支持第1篇 Web应用篇1 、轻量级HTTP服务器Ng...

安卓手机上安装Linux开源模拟器-Termux

什么是TermuxTermux是一款基于 Android 平台的开源 Linux 终端模拟器,使用 pkg(apt) 进行软件包的管理。最重要的是,它无需手机 root 权限,因此,绝大多数 Android 都可以运行。Termux本质上是一个终端模拟器加上一套Linux的最小系统。这里的系统指的是...