查今日日志文件禁ip
主要内容为:(封禁ip脚本处理 在最下方)
1、查看今日请求服务ip次数大于19次的ip(防止误封自己)
2、 查出的ip和厉害保存的ip对比,拿出新增加的ip
3、对ip进行处理,执行封禁ip脚本处理
4、写入封禁ip文件,并写入日志
#!/bin/bash
DATE=$(date +%Y/%m/%d%t%H:%M:%S)
DayTime=$(date +%Y/%m/%d)
if [ ! -f ip.log ]
then
touch ip.log
fi
ipStr=""
function getIpStr(){
echo $ipStr
while read lineIp
do
ipStr=${ipStr}${lineIp}" "
done < add_ip.log
}
cat /var/log/nps.log |grep ${DayTime} |grep "port 22"| awk '{print $12}'|awk -F[:" "]+ '{print $1}'|sort | uniq -c |awk '{if ($1 > 19) {print $2} }' > tmp_ip.log &&
[ -s tmp_ip.log ] &&
echo "比对历史数据" &&
grep -v -f ip.log tmp_ip.log > add_ip.log &&
[ -s add_ip.log ] &&
echo "增加过滤ip内容" && getIpStr && sh ~/ip_deny.sh ${ipStr} &&
cat add_ip.log >> ip.log &&
echo -e "\n====>记录时间: "${DATE}"<<====" >> log_ip.log &&
cat add_ip.log >> log_ip.log &&
#rm -f tmp_ip.log &&
echo "ip处理完成"
ip_deny.sh (ip封禁脚本)
#!/bin/bash
echo "-- \$* 封禁ip操作 ---"
for i in "$@"; do
iptables -I INPUT -s $i -j DROP
echo "封禁ip:"$i
done
版权声明:本文为wangzhufei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。