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
可根据自己的需求加入定时任务。
长按关注,每周更新干货。
版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《利用日志和防火墙防止暴力破解的SHELL脚本》的版权归原作者「我的运维之旅」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458
文章来源: 阅读原文
我的运维之旅微信公众号:Born--To_Die
手机扫描上方二维码即可关注我的运维之旅微信公众号