用防火墙自动拦截攻击IP

       最近发现防火墙设置了端口禁用,依旧会有很多试探性的可疑ip在不断的攻击服务器,有很多外国的ip地址一天访问量能超过1000次以上,我感觉会拖慢服务器,于是就写了个shell守护进程脚本,大家可以参考一下。

#!/bin/sh
ufwDeny(){
FILE="/var/log/ufw.log"
#MAX=15 这里的阈值设置的是当天12个小时被防火墙阻拦超过15次的IP
IP=$(sudo awk '{now=strftime("%d");if($2==now)S[$12]++}END{for(k in S)if(S[k]>15)print k}' $FILE|sed 's#SRC=##g')
for j in $IP
do
  sudo ufw deny from $j to any
done

}

main(){
  while true
  do
    ufwDeny
    sleep 12h
  done
}

main 2>&1 &

你可能感兴趣的:(网管笔记)