建立檔案dovecotdeny.sh

vi /root/dovecotdeny.sh

#! /bin/bash
cat /var/log/secure|awk '/authentication failure/{print $(NF-1)}'|sort|uniq -c|sed 's/rhost=/ /g'|sed 's/::ffff://g'|awk '{print $2"="$1;}' > /root/blackdovecot.txt
cat blackdovecot.txt |egrep ^[0-9].[0-9]* > /root/blackdovecot1.txt
DEFINE="30"
for i in `cat /root/blackdovecot1.txt`
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 "dovecot:$IP" >> /etc/hosts.deny
echo "vsftpd:$IP" >> /etc/hosts.deny
fi
fi
done

DEFINE="30"是對方IP TRY 30次錯誤就封鎖
再來就是加入排程
crontab -e

50 * * * * /root/dovecotdeny.sh

參考文章

http://www.tshopping.com.tw/thread-201779-1-1.html

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料