提示:
根据web日志或者网络连接数,监控当某个ip并发数或者短时内PV达到100,即调命令封掉对应的ip,监控频率每隔3分钟。防火墙命令为:iptables -A INPUT -s 10.0.1.10 -J drop
解答:
web,也可以分析日志,把单IP PV数高的封掉。按天定义PV=1000即封掉
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#!/bin/bash
while
true
do
awk
'{print $1}'
access.log|
grep
-
v
"^$"
|
sort
|
uniq
-c >
/tmp/tmp
.log
exec
<
/tmp/tmp
.log
while
read
line
do
ip=`
echo
$link|
awk
'{print $2}'
`
count=`
echo
$line|
awk
'{print $1}'
`
if
[ $count -gt 3 ] && [ `iptables -L -n|
grep
"$ip"
|
wc
-l` -lt 1 ]
then
iptables -I INPUT -s $ip -j DROP
echo
"$line is dropped"
>>
/tmp/droplist
.log
fi
done
sleep
5
done
|
本文转自 baishuchao 51CTO博客,原文链接:http://blog.51cto.com/baishuchao/1943942