Blacklister les vilains

ce script permet de blacklister les ip des personnes qui font du brute force sur votre ssh.

#!/bin/bash
#on commence par UCH ! récupérer l ip des vilains pirates a partir du log, et on met dans un fichier
grep "Failed" /var/log/auth.log | awk -F "from" '{ print $2 }' | awk '{ print $1 }' | sort -u >/var/log/ipmechants.log
grep "Illegal" /var/log/auth.log | awk -F "from" '{ print $2 }' | awk '{ print $1 }' | sort -u >>/var/log/ipmechants.log
#pour chaque ip on compte combien il y a eu d'erreurs d'authentification
for i in `cat /var/log/ipmechants.log` ; do
  nberreurs1=`grep "Failed" /var/log/auth.log | grep $i | wc -l`
  nberreurs2=`grep "Illegal" /var/log/auth.log | 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 eh ben 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

No Comment

No comments yet

Leave a reply