4、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptabl...

1先写脚本,此次使用的是web日志,如果实际连接,可以配合任务计划实现:

图1

2任务计划:

图2

//需要添加sh的执行权限,此处测试未添加任务计划。

3验证

图3

具体脚本:

cat /root/access_log | awk '{IP[$1]++}END{for(i in IP){print i,IP[i]}}' > /tmp/hosts.txt

while read  ip number;do

if [ $number -gt 100 ] ;then

iptables -A INPUT -s $ip -j REJECT

echo "from $ip  $number rejected" >> /tmp/reject.txt

fi

done < /tmp/hosts.txt

由于此处使用cat加awk会容易造成文件过大时,cat会消耗其不小的性能!!!!!!!!!!!!!!!!

你可能感兴趣的:(4、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptabl...)