郵件服務器防密碼暴力猜測腳本

    近來郵件服務器郵箱密碼老是受到暴力猜測,所以寫個腳本掛上去,自動擋掉其IP。

腳本工作,定期查詢maillog日誌,統計一定時間段內登錄失敗的IP地址的總數。超過觸發值的調用

iptables將其deny掉。

腳本如下:

#/bin/bash
my_dir="/tools/denymail"
tail -n 100000 /var/log/maillog|grep "LOGIN FAILED"|awk '{print $9}'|sort|awk -F: '{print $4}'|awk -F ] '{print $1}'|uniq -c|awk '$1 > 50 {print $1,$2}' > /$my_dir/tmp.txt
while read LINE
do
COUNT=$(echo $LINE | awk '{print $1}')
IP=$(echo $LINE | awk '{print $2}')
IPSUB=$(echo $IP|awk -F. '{print $1"."$2}')
if [ $COUNT -gt 50 ];then
grep $IP $my_dir/white.txt > /dev/null
if [ $? -gt 0 ];then
grep $IPSUB $my_dir/white.txt > /dev/null
if [ $? -gt 0 ];then
grep $IP $my_dir/black.txt > /dev/null
if [ $? -gt 0 ];then
iptables -I INPUT -p tcp -s $IP -j DROP
echo $IP >> $my_dir/black.txt
fi
fi
fi
fi
done < $my_dir/tmp.txt

        會在腳本所在目錄下生成3個文件,tmp.txt(這個是臨時產生的文件) , white.txt(這個是需要排除的網段或ip地址) , black.txt(這個是用於存儲已經被自動deny掉的IP地址)文件。

    White文件書寫格式:

    192.168.0.0    #腳本這裏我只做192.168前面兩區間的比對,如10.10.X.X

    102.14.7.13

 

然後添加crontab計劃任何每小時執行一次。

vim /etc/crontab

01 * * * *    root    /bin/sh    /tools/denymail/denymail.sh

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章