根据HAPROXY日志中的每小时连接数大于设定阀值的IP封闭

 

[root@lvs ~]# cat blockip.sh

#/bin/bash

#定义过滤时间

ntime=`date +%H`:00:00

otime=`date +%H --date="-1hour"`:00:00

#将定义起止时间内的日志滤出来并按连接数阀值降序,最后将IP地址写入临时文件tempa

cat /var/log/haproxy/haproxy.log|awk {'if($3>'\"$otime\"' && $3<'\"$ntime\"') print$6'}|cut -d: -f 1|sort|uniq -c|sort -rnk1|head -200|awk '{if ($1>1000) print}'>tempa

#排除白名单文件whlist中记录的IP,并将要封的IP写入tempb临时文件

cat whlist|grep -v \# >>tempa

cat whlist|grep -v \# >>tempa

sed 's/^.* //g' tempa|sort|uniq -u|sed'/^$/d' >tempb

#写操作日志

date +%Y%m%d%t%T >>blockip.log

#轮询排重后的可疑IP表开始执行封闭IP操作

while read line

do

/sbin/iptables -I INPUT -s $line -i eth0 -jDROP

done < /root/tempb

#将封闭IP的明细记入日志文件

cat tempa|sort|uniq -u >>blockip.log

#执行封闭操作后给管理员发邮件,要求本机上的sendmail启动

mail -s "Block IP List" admin@testmail.com < tempa

 

白名单文件列表

 

[root@lvs ~]# cat whlist

#北京市谷歌(中国)公司

203.208.60.195

203.208.60.163
#sogou蜘蛛

220.181.94.237

#hao260公司

118.192.35.10

#美国华盛顿州雷德蒙德市Microsoft公司

207.46.192.66

#浙江省杭州市阿里巴巴


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值