#!/bin/bash
# 文件名: ssh_deny.sh
# 描述: 采样SSH 失败日志,将源IP 加入禁止列表中
# 作者: 树辉

log_file=/var/log/secure
black_list=/tmp/black.txt

cat ${log_file}|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' >${black_list}
DEFINE="20"

for i in `cat ${black_list}`
do
    IP=`echo $i |awk -F= '{print $1}'`
    NUM=`echo $i|awk -F= '{print $2}'`
    
    if [ $NUM -gt $DEFINE ];
    then
        grep $IP /etc/hosts.deny > /dev/null
        if [ $? -gt 0 ];
        then
            echo "sshd:$IP" >> /etc/hosts.deny
        fi
    fi
done
