利用日志和防火墙防止暴力破解的SHELL脚本

1#!/bin/bash
2
3File=Dange_ip.txt
4[ ! -f File ] && touch File #第一次运行创建记录文件
5
6while :
7do
8 Failed_ip=awk '/Failed/{ip[$11]++;}END{for (i in ip){if (ip[i]>10){print i}}}' /var/log/secure #查看日志中登陆失败超过10次的用户ip
9 for i in $fip #循环取出登陆失败超过十次的ip进行处理
10 do
11 a=awk -F: -v i=$i '$2==i{print}' $File | wc -l #查看处理记录文件如果该ip没有存在处理记录中说明是没有处理过该ip
12 if [ “ a” -ne 0 ]  #如果有查到结果则说明已经处理过该ip  13        then  14            echo “服务器安全” >/dev/null 2 >&1  15        else  16            firewall-cmd –zone=drop –add-source= i && echo "成功将 i >> File #将新的攻击ip加入防火墙阻止
17 fi
18 done
19
20 sleep 120 #120s执行一次
21done

可根据自己的需求加入定时任务。

https://mp.weixin.qq.com/s/U9CMN2Bqv4DjqMPdcKGaGw

猜你喜欢

转载自blog.csdn.net/qq_40907977/article/details/80847819