Installez les conditions préalables des
dépôts Ubuntu:
sudo apt-get install -y build-essential libpcap-dev
libpcre3-dev libdumbnet-dev bison flex zlib1g-dev
Modifiez /etc/network/interfaces comme un
admin:
sudo nano /etc/network/interfaces
Rajoutez les deux lignes suivantes pour chaque interface
réseau :
post-up ethtool -K ens33 gro off post-up ethtool -K
ens33 lro off
Activez le mode promiscuité sur la carte réseau
qui sera utilisé comme interface d'écoute de SNORT :
ifconfig ens33 promisc
Création d'un répertoire pour enregistrer les
fichiers téléchargé: mkdir /snort_src
cd /snort_src
SNORT utilise la bibliothèque d'acquisition de
données (DAQ) aux appels abstraits par paquets bibliothèques de
capture. DAQ est téléchargé et installer à partir
du site SNORT: cd snort_src
65
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
wget
https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz
tar -xzf daq-2.0.6.tar.gz
cd daq-2.0.6
./configure
make
sudo make install
L'installation de SNORT peut être effectuée :
cd /snort_src
wget
https://snort.org/downloads/snort/snort-2.9.14.tar.gz
tar -xzf snort-2.9.14.tar.gz
cd snort-2.9.14
./configure - -enable-sourcefire -
-disable-open-appid
make
sudo make install
Exécutez la commande suivante pour mettre à jour
des bibliothèques partagées : sudo ldconfig
Placez le binaire local de SNORT dans
/usr/local/bin/snort et créer un lien symbolique vers
/use/sbin/snort : sudo ln -s /usr/local/bin/snort
/usr/sbin/snort
Testez que le binaire SNORT fonctionne avec la commande
snort -V.
Figure 22.1: Test du binaire SNORT
Configuration des règles de SNORT, pour des raisons de
sécurité, afin que SNORT fonctionne en tant qu'utilisateur non
privilégié.
Création de l'utilisateur SNORT et le groupe :
66
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g
snort
Création d'un certain nombre de fichiers et dossier
dont SNORT a besoin lors de son exécution en mode NIDS, on modifier en
suite la propriété de ces fichiers pour le nouvel utilisateur
SNORT. Les fichiers de configuration de SNORT sont stocké dans
/etc/snort, les règles dans /etc/sort/rules
et /usr/local/lib/snort_dynamicrules, et on stocke
ces journaux dans /var/log/snort :
# creation des repertoire de SNORT:
sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/rules/iplists
sudo mkdir /etc/snort/preproc_rules
sudo mkdir /usr/local/lib/snort_dynamicrules
sudo mkdir /etc/snort/so_rules
# Création des fichiers qui stocke les règles :
sudo touch /etc/snort/rules/iplists/default.blacklist sudo touch
/etc/snort/rules/iplists/default.whitelist sudo touch
/etc/snort/rules/local.rules
# Création des repertoires de
journalisation : sudo mkdir /var/log/snort
sudo mkdir /var/log/snort/archived_logs
# Régler les autorisations :
sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775
/var/log/snort/archived_logs
sudo chmod -R 5775 /etc/snort/so_rules
sudo chmod -R 5775
/usr/local/lib/snort_dynamicrules
#changement de propriété sur les
dossiers :
67
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort
/usr/local/lib/snort_dynamicrules
Déplacez les fichiers suivants vers /etc/snort
avec les commandes suivantes :
cd /snort_src/snort-2.9.14/etc/
sudo cp *.conf* /etc/snort
sudo cp *.map /etc/snort
sudo cp *.dtd /etc/snort
cd
/snort_src/snort-2.9.14/src/dynamicpreprocessors/
build/usr/local/lib/snort_dynamicpreprocessor/
sudo cp *
/usr/local/lib/snort_dynamicpreprocessor/
Modification du fichier de configuration SNORT. Le fichier de
configuration SNORT est stocké dans
/etc/snort/snort.conf, et contient tous les paramètres
que SNORT va utiliser quand il est exécuté en mode NIDS. Ceci est
un fichier volumineux (bien plus de 500 lignes), et contient un certain nombre
d'options pour la configuration de SNORT. Nous sommes intéressés
par seulement quelques réglages à l'heure actuelle.
Mettez en commentaire toutes les règles de SNORT avec la
commande suivante : sudo sed -i 's/include \$RULE\_PATH/#include
\$RULE\_PATH/'
/etc/snort/snort.conf
Modifiez quelques lignes dans le fichier
snort.conf, on ouvre le fichier Snort.conf
avec la commande suivante : sudo nano
/etc/snort/snort.conf
La ligne 45 et on modifie la ligne de ipvar $HOME_NET
any comme suit : ipvar HOME_NET 192.168.1.0/24
Insertion des chemins et des répertoires que nous avons
créés plus tôt comme suit :
var RULE_PATH /etc/snort/rules # ligne 104
var SO_RULE_PATH /etc/snort/so_rules # ligne
105
var PREPROC_RULE_PATH /etc/snort/preproc_rules
# ligne 106
var WHITE_LIST_PATH /etc/snort/rules/iplists #
ligne 113
68
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
var BLACK_LIST_PATH /etc/snort/rules/iplists #
ligne 114
Activez les règles qu'on veut utiliser en enlevant le
« # » qui se trouve en début de la
ligne, maintenant on va éditer un seul fichier
règles local.rules et pour que SNORT l'utilise on doit
lui enlever le # qui rend la ligne comme commentaire :
include $RULE_PATH/local.rules
Pour s'assurer du bon fonctionnement de SNORT on exécute
la commande suivante :
sudo snort -T -c /etc/snort/snort.conf
Figure 23.2: Validation du fichier de
configuration
Pour écrire sur le fichier local.rules
on ouvre d'abord le fichier à l'aide de la commande
sudo nano /etc/snort/rules/local.rules, puis on écrit
les règles qui nous intéresse le plus, exemple : alert
icmp any any -> $HOME_NET any (msg:"ICMP test";
sid:10000001;rev:001;)
Cette règle dit que pour tous les paquets ICMP qu'il
voit dans tout le réseau à HOME_NET génère une
alerte avec le test ICMP texte.
Apres avoir apporté des modifications aux fichiers qui
reniflent des charges, on doit tester le fichier de configuration à
nouveau: sudo snort -T -c /etc/snort/snort.conf
Figure 24.3: Validation de la nouvelle règle