linux服务器禁ip策略,Linux服务器自动封禁访问异常的IP脚本(一)
#!/bin/sh
##Author:bbzsxjj
##Email:bbzsxjj@163.com
##Usage:auto deny ip by iptables
##Ver:1.0
timenow=`date +'%H%M00'`
timelast=`date +'%H%M00' -d '-5min'`
lastnum=1000000 ##日志的行数,可以根据自己的业务频率选取
limitnum=3000 ##并发限制,300*10
ipbin=/sbin/iptables
NeedDenyiplist=/opt/sbin/ipdeny.list
NeedPurgeiplist=/opt/sbin/ippurge.list
LogFile=/data/logs/haproxy.log
CreateList(){
if [ -f ${LogFile} ]
then
if [ -f ${NeedDenyiplist} ]
then
mv ${NeedDenyiplist} ${NeedPurgeiplist}
fi
tail -n${lastnum} ${LogFile}|awk '{gsub(/:/,"",$3);if($3>='${timelast}' && $3<='${timenow}'){a[$6]++}}END{for(i in a){if(a[i]>'${limitnum}'){print $6}}}' >>${NeedDenyiplist} ##这里需要根据日志的格式进行处理,具体的需要根据实际情况修改处理方法
if [ `wc -l ${NeedDenyiplist}|awk '{print $1}'` -eq 0 ]
then
rm -rf ${NeedDenyiplist}
fi
fi
}
DenyIP(){
for Dip in `cat ${NeedDenyiplist}|grep -E -v '^$|#'`
do
${ipbin} -I INPUT -s ${Dip} -p tcp --dport 80 -j DROP
done
}
PurgeIP(){
for Dip in `cat ${NeedPurgeiplist}|grep -E -v '^$|#'`
do
${ipbin} -D INPUT -s ${Dip} -p tcp --dport 80 -j DROP
done
}
main(){
CreateList
if [ -f ${NeedPurgeiplist} ]
then
PurgeIP
fi
if [ -f ${NeedDenyiplist} ]
then
DenyIP
fi
}
main
linux服务器禁ip策略,Linux服务器自动封禁访问异常的IP脚本(一)相关推荐
- Nginx+Lua脚本+Redis 实现自动封禁访问频率过高IP
前言:由于公司前几天短信接口被一直攻击,并且攻击者不停变换IP,导致阿里云短信平台上的短信被恶意刷取了几千条,然后在Nginx上对短信接口做了一些限制 临时解决方案: 1.查看Nginx日志发现被攻击 ...
- Nginx自动封禁可疑Ip
文章目录 一.Nginx封禁ip 1.简介 2.nignx 禁止IP访问 2.1 方法一 2.2 方法二 3.关于 deny 的使用 二.脚本自动封禁Ip 1.流程介绍 2.脚本实战 2.1 核心脚本 ...
- Nginx自动封禁IP
个人网站总被攻击?那就写个自动封禁IP的脚本吧. 思路 AWK统计access.log,记录每分钟访问超过100次的ip,然后配合nginx进行封禁. 编写shell脚本. 定时任务跑脚本. 好,思路 ...
- Ngnix IP封禁以及实现自动封禁IP
1.在ngnix的conf目录下创建一个blockip.conf文件 2.里面放需要封禁的IP,格式如下 deny 1.2.3.4; 3.在ngnix的HTTP的配置中添加如下内容 include b ...
- Linux网络遭到攻击后是如何实现封禁IP的
通过 netstat 获取攻击者 IP 如果你是被攻击的 Web 服务的话,默认是80端口,我们就可以使用下面的代码,如果攻击的不是80端口的话,将下面的两个数字80改为你被攻击的端口即可.如果你需要 ...
- 我的网站被攻击了,运维大佬给了我自动封禁ip的脚本。
我的网站被攻击了,发现友圈最近出现这种情况的还不少,真是神奇了,这事也能扎堆发生. 分享出来给大家,万一以后用得着呢~ 故事背景 我的一个小网站最近总是收到云监控报警,一个部署在4核8G单机上的小网站 ...
- Linux完全清除防火墙策略,linux下的软件防火墙iptables——规则的查看与清除、定义默认策略,...
linux下的软件防火墙iptables--规则的查看与清除.定义默认策略软件防火墙IPTABLES --规则在Linux下查看和清除,定义默认策略,防火墙意味着用户限制某些ip或用户对其主机的访问. ...
- java实现账号单一ip登录,使用Java实现简单后台访问并获取IP示例
使用Java实现简单后台访问并获取IP示例 发布时间:2020-10-28 21:57:57 来源:亿速云 阅读:92 作者:Leah 使用Java实现简单后台访问并获取IP示例?针对这个问题,这篇文 ...
- 用iptables自动封连接数较大的IP防止CC***的方法 zt
本文介绍的这种方法用于被动统计IP连接数,对连接数较大的IP用iptables封掉,如需主动限制,可参考通过iptables限制ip连接数防止CC***. Shell脚本如下: 代码如下: #!/bi ...
最新文章
- latex Label ' ' multiply defined
- linux ioctl 设备操作函数 r3到r0 应用层 驱动层 通讯
- mysql为什么没有nvarchar,关于mysql:为什么不将每个VARCHAR指定为VARCHAR(65535)?
- 前端学习(1524):ES6模块导入和导出
- 机器学习速成课程 | 练习 | Google Development——编程练习:Pandas 简介
- Nginx配置单项SSL以及双向SSL
- wss3.0 对文档库的一些操作
- python数据拟合
- 16.1 调色板的使用
- 【微信小程序】解决Echarts在微信小程序tab切换时的显示问题
- 三分钟了解域名怎么备案?
- 浅谈GOF设计模式之建造者模式(五)
- 三重积分平均值_质心计算
- C++中cout后面输出时加endl和不加endl的区别
- 《那些年啊,那些事——一个程序员的奋斗史》——07
- 全国大学生智能汽车竞赛图像采集处理上位机开源!
- 【技术】SQL动态排序?
- Word中设置不同页面的页眉不一样的方法(页脚、页码同理)
- 项目经理成功的五个关键因素
- RPA自动化软件汇总
热门文章
- (android实战)第三方应用反编译并修改UI信息后,重新编译
- VC里的project panel窗口如何实现(转载)
- [NOIp2013] 货车运输
- 数论基础之组合数计数问题
- discuz完善用户资料任务不能完成的解决方法
- 创建寄宿在Windows服务中的WCF服务
- CSS3 Transform变形理解与应用
- IIS7.5(IIS7)配置伪静态urlrewrite
- 艺街开放平台开源计划
- 大数据之-Hadoop3.x_MapReduce_切片源码总结---大数据之hadoop3.x工作笔记0105