监控访问日志使用iptables禁止IP访问
2014-02-15 19:44
351 查看
因为应用的漏洞,导致有用户频繁请求漏洞页面,增加服务器的开销甚至出现无法提供服务。所以想编写一个脚本,监控apache日志,对请求量不符合正常场景的用户,通过iptables封掉IP。实现规则:
1、shell脚本监控apache日志,通过iptables封堵用户IP,每5秒执行一次
2、iptables每30分钟清空一次iptables规则
1、shell脚本监控apache日志,通过iptables封堵用户IP,每5秒执行一次
2、iptables每30分钟清空一次iptables规则
#! /bin/bash iptables=/sbin/iptables blacklist() { DAY=`date +"%y%m%d"` TIME=`date +"%Y%m%d %H:%M:%S"` http_who() { tail -1000 /usr/local/apache/logs/bvc-access-${DAY}.log|awk '{name[$1]++ }; END {for (count in name) print count,name[count]}' |sort -k2 -rn|awk '{print $1"="$2;}' } for _un in $(http_who) do IP=`echo $_un|gawk -F'=' '{print $1}'` NUM=`echo $_un|awk -F'=' '{print $2}'` if [ $NUM -gt 100 ] && [ -z "`iptables -L -n|grep "$IP"`" ] then iptables -I RH-Firewall-1-INPUT -p tcp -m tcp -s "$IP" -j DROP echo "$TIME WEB $IP NUM: $NUM" >> /var/log/fuck.log fi done } while [ : ] do blacklist #tail -n 5 /var/log/fuck.log #echo "" sleep 5 done
相关文章推荐
- 阿里云CentOS使用iptables禁止某IP访问
- Linux使用iptables禁止某些IP访问
- Nginx 安装配置 禁止使用IP访问 rewrite重写 别名设置 日志轮询
- Linux 使用 iptables 禁止某些 IP 访问
- iptables防火墙与日志系统配合使用 监控服务器特点端口的防问源IP
- Linux 使用 iptables 禁止某些 IP 访问
- 【转】Linux 使用 iptables 禁止某些 IP 访问
- windows Server 2003使用ip安全策略禁止某ip访问服务器的方法
- Linux下iptables 禁止端口和开放端口(仅供参考,里面含有iptables如何指定允许外网访问的端口号范围,以及对局域网的ip全部开放端口)
- Apache下禁止使用IP直接访问本站的配置方法
- apache禁止使用IP访问的实现方法
- nginx下只能通过域名,禁止使用ip访问
- Nginx网站使用CDN之后禁止用户真实IP访问的方法
- apache禁止使用IP访问的实现方法
- 使用Filter过滤ip禁止访问系统
- apache2.4 只允许合法域名访问网站 禁止使用ip、非法域名访问
- linux设置iptables禁止某个IP访问
- Apache下禁止使用IP直接访问本站的配置方法
- linux centos 设置防火墙 iptables 如何 禁止某个IP访问 登陆
- Apache2.4使用require指令进行访问控制--允许或限制IP访问/通过User-Agent禁止不友好网络爬虫 从Apache2.2升级到Apache2.4后,发现原来用来限制部分I