madrippeur
19/12/2008, 08h23
oui
cd /root nano BruteForceBlocking.sh
#!/bin/sh PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin #on récupère les ip des vilains pirates à partir du fichier auth.log, et on l'inclus dans le fichier blacklist.log pour le traitement. cat /var/log/auth.log | grep "Failed" | awk -F "from" '{ print $2 }' | awk '{ print $1 }' | sort -u >/var/log/blacklist.log cat /var/log/auth.log | grep "Illegal" | awk -F "from" '{ print $2 }' | awk '{ print $1 }' | sort -u >>/var/log/blacklist.log #pour chaque ip on compte combien il y a eu d'erreurs d'authentification for i in `cat /var/log/blacklist.log` ; do nberreurs1=`cat /var/log/auth.log | grep "Failed" | grep $i | wc -l` nberreurs2=`cat /var/log/auth.log | grep "Illegal" | grep $i | wc -l` let nberreurs=$nberreurs1+$nberreurs2 #si il y a eu plus de 3 erreurs et que l'ip n'est pas déjà blacklistée et bien on la blackliste ! if [ "$nberreurs" -ge "3" ] then if [ "`cat /etc/hosts.deny | grep $i`" = "" ] then echo "ALL: $i" >>/etc/hosts.deny fi fi done
chmod +x BruteForceBlocking.sh
./BruteForceBlocking.sh