Snort:Contre mesure
Partie contre-mesure
Description
Ce paragraphe traite de la partie « action » : le blocage des adresses IP remontées dans les logs.
Plusieurs possibilités sont offertes :
- Utilisation de scripts Perl (Guardian) pour ajouter des règles Ipchain, Iptables, etc ;
- Snortsam (http://www.snortsam.net/)
- Mise en place de Snort Inline, outil basé sur Snort, afin de doter Snort de capacités d’IPS.
Nous retiendrons la première solution pour le présent article.
Installation et paramétrage de Guardian
Installation de Guardian
Pour télécharger et installer Guardian, procédez comme suit :
# cd /usr/local/src # wget http://www.chaotic.org/guardian/guardian-1.7.tar.gz # tar xvzf guardian-1.7.tar.gz # cd guardian-1.7
Dans un second temps, il est nécessaire de copier le fichier de configuration à la racine de /etc :
# cp guardian.conf /etc
Puis de créer une liste d’adresses qui ne seront pas concernées par le blocage :
# vim /etc/guardian.ignore
Entrez dans cette liste les adresses des serveurs DNS et votre passerelle (une adresse par ligne, sans aucun séparateur ni caractère de fin de ligne). Sauvegardez le fichier puis fermez-le.
Copiez ensuite le fichier guardian.pl dans /usr/local/bin :
# cp guardian.pl /usr/local/bin
Scripts de blocage et déblocage
Créez un script guardian_block.sh dans /usr/local/bin pour bloquer les adresses IP détectées par Snort :
# vim /usr/bin/guardian_block.sh
Et copiez-y les lignes suivantes :
#!/bin/sh source=$1 interface=$2 /sbin/iptables -I INPUT -s $source -i $interface -j DROP echo -e $"***BANNED IP: $source***" \ $"\n----------\n" \ $"`whois -h whois.cymru.com $source`" \ $"\n----------\n" \ $"`grep $source /var/log/guardian.log`" \ | mail -s "Blocage IP" [email protected]
Ce script a pour but de bloquer les adresses IP remontée par Snort en ajoutant des règles dans le firewall iptables (le paramètre –I ajoute la règle) puis d’envoyer un mail1 à l'adresse [email protected] afin de l’en avertir .
Créez ensuite un script guardian_unblock.sh de déblocage (le paramètre –D supprime la règle) de la même manière, dans le répertoire /usr/bin, et ayant le contenu suivant :
#!/bin/sh source=$1 interface=$2 /sbin/iptables -D INPUT -s $source -i $interface -j DROP
Ce script a pour but de supprimer la règle de blocage d’une adresse IP sur une interface, dans iptables. Il est appelé par le script Perl guardian.pl lorsque le paramètre TimeLimit est écoulé (temps de blocage défini dans le fichier de configuration).
Paramétrage de guardian.conf
Le fichier /etc/guardian.conf contient la définition des paramètres suivants :
Paramètre | Valeur | Description |
---|---|---|
HostIpAddr | 192.168.182.132 | Adresse IP de l’hôte |
Interface | eth1 | Interface utilisée pour Snort |
HostGatewayByte | 1 | Dernier octet de l’adresse IP qui fournit l’adresse de la passerelle |
LogFile | /var/log/guardian.log | Fichier de logs de Guardian |
AlertFile | /var/log/snort/alert | Fichier d’alerte de Snort |
IgnoreFile | /etc/guardian.ignore | Liste des IP à ignorer |
TargetFile | /etc/guardian.target | Liste d’adresses IP de l’hôte, dans l’éventualité où il y en aurait plus qu’une. Si ce fichier n’existe pas, la configuration par défaut est retenue. |
TimeLimit | 86400 | Temps de blocage en secondes. |
Paramétrez le fichier selon vos besoins puis enregistrez le fichier.
1. Pour pouvoir utiliser la fonction mail, vous devez avoir au préalable installé le package mailutils.
Barnyard
|
[Sommaire] |
[Suivant]
Exécution de Guardian
|