根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁

!/bin/bash

#

根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁

#

logfile=/data/log/access.log

显示一分钟前的小时和分钟

d1=date -d "-1 minute" +%H%M
d2=date +%M
ipt=/sbin/iptables
ips=/tmp/ips.txt
block()
{

将一分钟前的日志全部过滤出来并提取IP以及统计访问次数

grep 'd1:logfile|awk '{print 1}'|sort -n|uniq -c|sort -n >ips

利用for循环将次数超过100的IP依次遍历出来并予以封禁

for i in awk '$1>100 {print $2}' $ips
do
iptIINPUTptcpdport80si -j REJECT
echo "date +%F-%T $i" >> /tmp/badip.log
done
}
unblock()
{

将封禁后所产生的pkts数量小于10的IP依次遍历予以解封

for a in $ipt -nvL INPUT --line-numbers |grep '0.0.0.0/0'|awk '$2<10 {print $1}'|sort -nr
do
iptDINPUTa
done
$ipt -Z
}

当时间在00分以及30分时执行解封函数

if [ d2eq"00"]||[d2 -eq "30" ]
then

要先解再封,因为刚刚封禁时产生的pkts数量很少

unblock
block
else
block
fi

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
1
1
0
445
分享
相关文章
【YashanDB知识库】yasdb jdbc驱动集成druid连接池,业务(java)日志中有token IDENTIFIER start异常
客户Java日志中出现异常,影响Druid的merge SQL功能(将SQL字面量替换为绑定变量以统计性能),但不影响正常业务流程。原因是Druid在merge SQL时传入null作为dbType,导致无法解析递归查询中的`start`关键字。
写了BUG还想跑——闲鱼异常日志问题自动追踪-定位-分发机制
为了高效地发现、定位和解决预发问题,闲鱼团队研发了一套异常日志问题自动追踪-定位-分发机制。这套机制通过自动化手段,实现了异常日志的定时扫描、精准定位和自动分发,显著降低了开发和测试的成本,提高了问题解决的效率。
235 15
写了BUG还想跑——闲鱼异常日志问题自动追踪-定位-分发机制
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
334 3
|
5月前
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
解决 Java 打印日志吞异常堆栈的问题
前几天有同学找我查一个空指针问题,Java 打印日志时,异常堆栈信息被吞了,导致定位不到出问题的地方。
94 2
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
一行日志引发的系统异常
本文记录了一行日志引发的系统异常以及作者解决问题的思路。
127 11
为什么要选住宅IP代理抓取Web数据?
在数据采集和Web爬虫领域,选择合适的IP代理至关重要。住宅IP代理因高隐蔽性和真实性、更好的访问成功率、能绕过反爬虫策略、多样化的地理位置、适应性和灵活性以及合法合规等优势,成为许多数据抓取项目的首选。使用住宅IP代理可提高数据抓取效率,降低被封禁风险,同时需遵守法律法规,确保活动的合法性与合规性。
FastAPI日志之谜:如何揭开Web应用监控与调试的面纱?
【8月更文挑战第31天】在现代Web开发中,日志记录对于监控应用状态、诊断问题和了解用户行为至关重要。FastAPI框架提供了强大的日志功能,使开发者能轻松集成日志记录。本文将详细介绍如何在FastAPI中设置和利用日志,包括基础配置、请求响应日志、错误处理和结构化日志等内容,帮助提升应用的可维护性和性能。
299 0
函数计算产品使用问题之遇到Node.js环境下的请求日志没有正常输出时,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等