- Introduction
- Installation de snort
- Installation des règles SNORT
- Lancement de SNORT
Introduction
Snort est utile pour recueillir des informations en cas d’intrusion de réseau, scan de ports etc…….Snort_inline est un systeme concu pour bloquer des attaques en temps_réel. Nous allons voir comment installer et tester snort_inline.
Installation
Vous aurez besoin pour un système tel que RedHat ou mandrake du code source du noyau de votre distribution. Il vous faudra en outre faire tourner un serveur web. Vous aurez aussi besoin d’iptables disponibles en rpm (deja installé sur les dernieres distros mandriva), de la librairie libipq qui permet a snort_inline de communiquer avec iptables, de libnet et de pcre, la bibliothèque d’expressions régulières compatible avec Perl. Tous ces paquetages sont disponibles en rpm sous mandriva ,se renseigner pour les autres distributions.
Vous devez obtenir maintenant le dernier paquetage de snort_inline. À titre d’information, j’ai employé snort_inline-2.3.0-RC1.tar.gz dans cet article. À présent, exécutez les commandes décrites ci-dessous.
mv /home/snort/snort_inline-2.3.0-RC1.tar.gz /usr/local/
cd /usr/local
tar xzvf snort_inline-2.3.0-RC1.tar.gz
cd snort_inline-2.3.0-RC1
./configure
make
Configuration
Nous allons maintenant modifier quelques parametres dans le fichier de configuration snort_inline, avant qu’il soit prêt à être lancé. Tout d’abord, il faut modifier le fichier de configuration de snort_inline, en le faisant pointer sur le chemin correct pour pouvoir obtenir ses règles.
cp /usr/local/snort_inline-2.3.0-RC1/etc/classification.config /usr/local/snort_inline-2.3.0-RC1/rules/
cp /usr/local/snort_inline-2.3.0-RC1/etc/reference.config /usr/local/snort_inline-2.3.0-RC1/rules/
Déplaçons les fichiers de configuration et de définition de règles dans le répertoire /etc, où résident habituellement les fichiers de ce type:
mkdir /etc/snort
cp /usr/local/snort_inline-2.3.0-RC1/etc/* /etc/snort/
cp /usr/local/snort_inline-2.3.0-RC1/rules /etc/snort/ -R
Modifiez maintenant le fichier de conf snort_inline dans votre éditeur de texte favori :
var RULE_PATH /etc/snort_inline/drop_rules deviendra: var RULE_PATH /etc/snort/rules
Créons maintenant un répertoire pour snort_inline, pour enregistrer l’activité malveillante dans un journal :
mkdir /var/log/snort
Par défaut, tout le trafic s’écoulant vers le noyau et refluant vers l’espace utilisateur doit être intercepté par snort_inline, pour vérifier la présence de paquets de réseau malveillants. Le noyau s’en charge en poussant les données dans une file d’attente à l’aide du module ip_queue. Vous pouvez charger ip_queue et vérifier sa présence comme suit :
modprobe ip_queue lsmod | grep ip_queue
Ensuite, iptables doit être configuré pour envoyer le trafic à ip_queue. iptables -I INPUT -p tcp –dport 80 -j QUEUE
Lancer maintenant snort_inline:
snort_inline -c /etc/snort/snort.conf -Q -N -l /var/log/snort/ \ -t /var/log/snort/ -v
Vous devriez voir du texte défiler et snort_inline afficher un message semblable à celui-ci:
__== Initialisation Complete ==__
Dans l’affirmative, félicitations. Si vous recevez un message similaire à celui ci-dessous, c’est que vous avez oublié de charger le module ip_queue:
Reading from iptables Running in IDS mode Initializing Inline mode InitInline: : Failed to send netlink message: Connection refused
Regles
La dernière étape consiste à modifier tous les fichiers de règles, en transformant les règles d’alerte en règle de rejet. Une commande simple peut suffire, mais il faut la saisir avec exactitude. Si vous n’êtes pas sûr, faites une sauvegarde de votre dossier de règles avant de saisir cette commande, chose que vous devriez faire régulièrement.
cd /etc/snort/rules/ for file in $(ls -1 *.rules) do sed -e ‘s:^alert:drop:g’ ${file} > ${file}.new mv ${file}.new ${file} -f done
Il ne reste plus qu’à lancer snort en faisant: /usr/local/snort*/src/snort -c /etc/snort/snort.conf Ne pas oublier de fermer snort et d’annuler les regles iptables si vous voulez faire revenir votre système à la normale: Citation : iptables -D INPUT -p tcp –dport 80 -j QUEUE