Snort:Contre mesure

From aldeid
Jump to navigation Jump to search

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ètreValeurDescription
HostIpAddr192.168.182.132Adresse IP de l’hôte
Interfaceeth1Interface utilisée pour Snort
HostGatewayByte1Dernier octet de l’adresse IP qui fournit l’adresse de la passerelle
LogFile/var/log/guardian.logFichier de logs de Guardian
AlertFile/var/log/snort/alertFichier d’alerte de Snort
IgnoreFile/etc/guardian.ignoreListe des IP à ignorer
TargetFile/etc/guardian.targetListe 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.
TimeLimit86400Temps 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]
Exécution de Guardian