linux 實現對異常登錄用戶進行自動攔截拉入黑名單功能

實現方法:
對/var/log/secure日誌文件解析,統計每十分鐘登錄超過10次的ip地址,並使用iptables對該IP地址進行攔截,並記錄到日誌。實現腳本如下:
file:/usr/local/bin/blacklist.sh
#!/usr/bin/bash
source ~/.bash_profile
source /etc/profile #引入環境變量,否則crontab執行結果會不正確
list=$(cat /var/log/secure | grep failure | awk ‘{print $14}’ | cut -d = -f 2 | grep -v ssh | sort -r | uniq -c | sort -k 1 -nr | awk ‘{if($1>10) print $2}’)
a=0
for i in list;dob=list; do b=(iptables -L -n -v | grep i);if[!"i); if [ ! "b" ];then
a=1;
iptables -I INPUT -s ijDROP;echo"i -j DROP; echo "(date)add ip: $i into blacklist">>/var/log/blacklist.log;
fi
done;
if [ a==0];thenecho"a==0 ];then echo "(date) not anyint attack source!">>/var/log/blacklist.log;
fi

配置定時器:
crontab -e
*/10 * * * * bash /usr/local/bin/blacklist.sh

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