Configurer Snort IDS et créer des règles

Snort est un système de détection d’intrusion open source que vous pouvez utiliser sur vos systèmes Linux. Ce tutoriel va passer en revue la configuration de base de Snort IDS et vous apprendre à créer des règles pour détecter différents types d’activités sur le système.

Pour ce tutoriel, le réseau que nous utiliserons est : 10.0.0.0/24. Editez votre fichier /etc/snort/snort.conf et et remplacez le « any » à côté de $HOME_NET par vos informations réseau comme indiqué dans l’exemple de capture d’écran ci-dessous:

Alternativement, vous pouvez également définir des adresses IP spécifiques à surveiller séparées par une virgule comme indiqué dans cette capture d’écran :

Maintenant, commençons et exécutez cette commande sur la ligne de commande:

# snort -d -l /var/log/snort/ -h 10.0.0.0/24 -A console -c /etc/snort/snort.conf

Where:
d= indique à snort de montrer les données
l= détermine le répertoire des logs
h= spécifie le réseau à surveiller
A= indique à snort d’imprimer les alertes dans la console
c= spécifie à Snort le fichier de configuration

Lancer un scan rapide depuis un périphérique différent en utilisant nmap :

Et voyons ce qui se passe dans la console snort:

Snort a détecté le scan, maintenant, également à partir d’un périphérique différent attaquons avec DoS en utilisant hping3

# hping3 -c 10000 -d 120 -S -w 64 -p 21 –flood –rand-source 10.0.0.3

Le périphérique affichant Snort détecte le mauvais trafic comme indiqué ici:

Puisque nous avons demandé à Snort de sauvegarder les journaux, nous pouvons les lire en exécutant :

# snort -r

Introduction aux règles Snort

Le mode NIDS de Snort fonctionne sur la base de règles spécifiées dans le fichier /etc/snort/snort.conf.

A l’intérieur du fichier snort.conf, nous pouvons trouver des règles commentées et non commentées comme vous pouvez le voir ci-dessous:

Le chemin des règles est normalement /etc/snort/rules , nous pouvons y trouver les fichiers de règles:

Voyons les règles contre les backdoors :

Il y a plusieurs règles pour empêcher les attaques par porte dérobée, étonnamment il y a une règle contre NetBus, un cheval de Troie qui est devenu populaire il y a quelques décennies, regardons-la et je vais expliquer ses parties et comment elle fonctionne:

alert tcp $HOME_NET 20034 -> $EXTERNAL_NET any (msg : « BACKDOOR NetBus Pro 2.0 connection
established » ; flow:from_server,established;
flowbits:isset,backdoor.netbus_2.connect ; content : « BN|10 00 02 00| » ; depth:6 ; content : »|
05 00| » ; depth:2 ; offset:8 ; classtype:misc-activity ; sid:115 ; rev:9 😉

Cette règle ordonne à snort d’alerter sur les connexions TCP sur le port 20034 transmettant à n’importe quelle source dans un réseau externe.

-> = spécifie la direction du trafic, dans ce cas de notre réseau protégé vers un réseau externe

msg = ordonne à l’alerte d’inclure un message spécifique lors de l’affichage

content = recherche d’un contenu spécifique dans le paquet. Il peut inclure du texte si entre  »  » ou des données binaires si entre | |
depth = intensité de l’analyse, dans la règle ci-dessus nous voyons deux paramètres différents pour deux contenus différents
offset = indique à Snort l’octet de départ de chaque paquet pour commencer à chercher le contenu
classtype = indique quel type d’attaque Snort alerte

sid :115 = identifiant de la règle

Création de notre propre règle

Nous allons maintenant créer une nouvelle règle pour notifier les connexions SSH entrantes. Ouvrez le fichier /etc/snort/rules/yourrule.rules, et à l’intérieur collez le texte suivant:

alert tcp $EXTERNAL_NET any -> $HOME_NET 22 (msg : « SSH incoming »;
flow:stateless ; flags:S+ ; sid:100006927 ; rev :1 😉

Nous disons à Snort d’alerter sur toute connexion tcp de toute source externe à notre port ssh (dans ce cas le port par défaut) incluant le message texte « SSH INCOMING », où stateless indique à Snort d’ignorer l’état de la connexion.

Maintenant, nous devons ajouter la règle que nous avons créée à notre fichier /etc/snort/snort.conf. Ouvrez le fichier config dans un éditeur et recherchez le #7, qui est la section avec les règles. Ajoutez une règle non commentée comme dans l’image ci-dessus en ajoutant :

include $RULE_PATH/yourrule.rules

A la place de « yourrule.rules », mettez votre nom de fichier, dans mon cas c’était test3.rules.

Une fois que c’est fait, exécutez Snort à nouveau et voyez ce qui se passe.

#snort -d -l /var/log/snort/ -h 10.0.0.0/24 -A console -c /etc/snort/snort.conf

ssh à votre appareil depuis un autre appareil et voyez ce qui se passe:

Vous pouvez voir que l’entrée SSH a été détectée.

Avec cette leçon, j’espère que vous savez comment faire des règles de base et les utiliser pour détecter l’activité sur un système. Voir aussi un tutoriel sur Comment configurer Snort et commencer à l’utiliser et le même tutoriel disponible en espagnol sur Linux.lat.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.