Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #Look for "already" banned IP
- if tail -n 1 /var/log/fail2ban.log | grep -q already
- then
- IP=$(tail -n 1 /var/log/fail2ban.log | awk 'NF{print $(NF-2); exit}')
- CAT=$(tail -n 1 /var/log/fail2ban.log | awk 'NF{print $(NF-3); exit}')
- case $CAT in
- ("[sshd]") CATEGORY='category=18,22'; COMMENT='comment=Brute-force'; BAN='ip='$IP''; ;;
- ("[apache-fakegooglebot]") CATEGORY='category=19'; COMMENT='comment=FakeGoogleBot'; BAN='ip='$IP''; ;;
- ("[apache-badbots]") CATEGORY='category=19'; COMMENT='comment=BadBot'; BAN='ip='$IP''; ;;
- ("[apache-botsearch]") CATEGORY='category=19'; COMMENT='comment=CrawlerBot'; BAN='ip='$IP''; ;;
- esac;
- else
- exit
- fi
- #Just for debugging purposes
- #echo $CAT
- #echo $CATEGORY
- #echo $COMMENT
- #echo $BAN
- #Look if IP is already in hosts.deny
- if grep -q $IP /etc/hosts.deny
- then
- exit
- else
- #Ban IP permanently
- echo ALL: $IP >> /etc/hosts.deny
- #Report to AbuseIPDB
- RESULT=$(curl --data 'key=YOUR_ABUSEIPDB_APIKEY' \
- --data $CATEGORY --data $COMMENT --data $BAN 'https://www.abuseipdb.com/report/json')
- echo -e "\n Check AbuseIPDB: \n https://www.abuseipdb.com/check/$IP \n Curl result: \n $RESULT" | \
- exit
- fi
- #If you need help, feel free to contact me via Twitter - @edumgui
Add Comment
Please, Sign In to add comment