实时扫描是否有ssh密码暴力攻击
时间:2006-11-04 来源:0217
#!/bin/bash
# 获取前 1 分钟内的 secure 记录,统计 ssh 认证失败的 IP 和其 失败次数
SCANNER=`awk '/Failed/ {print $(NF-3)}' /var/log/secure |sort|uniq -c |awk '{print $1"="$2;}'`
for i in $SCANNER
do
# 取认证失败次数
NUM=`echo $i|awk -F= '{print $1}'`
# 取其 IP 地址
IP=`echo $i|awk -F= '{print $2}'`
# 若其在失败次数超过 5 次且之前没有被阻断过,那么添加一条策略将其阻断,并记录日志
if [ $NUM -gt 5 ] && [ -z "`/sbin/iptables -vnL INPUT|grep $IP`" ]
then
/sbin/iptables -I INPUT -s $IP -j DROP
echo "`date` $IP($NUM)" >> /var/log/scanner.log
fi
done
相关阅读 更多 +