Outils pour utilisateurs

Outils du site


snort

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
snort [2023/03/14 17:25] – [Installation de la bibliothèque d’acquisition des données] adminsnort [2023/12/12 15:01] (Version actuelle) – [Configuration pour un switch Cisco] admin
Ligne 24: Ligne 24:
    
  
-==== Installation des paquets nécessaire au fonctionnement de snort ==== +Snort fait partie des packages disponibles dans les sources officielles. 
-Une fois que le système est à jour il faut installer les paquets suivants dont snort a besoin pour fonctionnerVia la commande apt-get install+<code lscript>apt install snort</code>
-  * flex  +
-  * bison  +
-  * build-essential  +
-  * checkinstall +
-  * libpcap-dev  +
-  * libnet1-dev  +
-  * libpcre3-dev  +
-  * libnetfilter-queue-dev  +
-  * iptables-dev +
-  * libdumbnet-dev  +
-  * zlib1g-dev +
-  * tcpdump+
  
-Il est possible d’installer tous les paquets via une seule commande. +<WRAP center round info 60%
-<code lscript>  +[[snortold|Ancienne version]]pour une installation manuelle de snort 
-apt-get install tcpdump flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y +</WRAP>
-</code> +
- +
-==== Installation de la bibliothèque d’acquisition des données ==== +
-Pour installer  snort, il va falloir récupérer les fichiers d’installation présents sur le site officiel, les décompresser, enfin les installer. +
- +
-=== 1 Création du dossier de stockage === +
-Dans un premier temps créez un dossier où seront stockés les fichiers d’installation snort après le téléchargement. +
-La création du dossier se fait par la commande  <code lscript>mkdir /usr/src/snort_src</code> +
- +
-Ensuite placez-vous dans le dossier créé avec la commande <code lscript>cd /usr/src/snort_src</code> +
- +
-=== 2 Téléchargement  la bibliothèque d’acquisition des données === +
-Pour  télécharger le fichier de la bibliothèque d’acquisitions des données il suffit d’utiliser la commande <code lscript>wget https://www.snort.org/downloads/snort/daq-2.0.7.tar.gz</code> +
-  +
-=== 3 Décompression du fichier === +
-Une fois le fichier téléchargé il faut décompresser l’archive  +
-<code lscript> tar xvfz daq-2.0.7.tar.gz</code> +
- +
-=== 4 Installation et configuration de la bibliothèque d’acquisition des données === +
-Apres la décompression, il faut se rendre dans le répertoire crée suite à la décompression. +
-Ensuite il faut lancer l’installation et la configuration  +
-<code lscript> +
-cd daq-2.0.7/ +
-./configure +
-make +
-sudo make install. +
-</code> +
- +
-=== Installation de snort === +
- +
-  - Téléchargement de snort <code lscript>wget https://www.snort.org/downloads/snort/snort-2.9.18.1.tar.gz</code> +
-  - Décompression du fichier snort <code lscript>tar xvfz snort-2.9.18.1.tar.gz</code> +
-  - Installation et configuration de snort <code lscript> cd snort-2.9.18.1</code> +
-  -  Ensuite il faut lancer l’installation et la configuration <code lscript> ./configure --enable-sourcefire; make; make install</code> +
- +
-==== 5 Vérification de l’installation snort ==== +
-Pour vérifier que la bibliothèque partagée soit bien à jour on peut utiliser la commande <code lscript>sudo ldconfig</code> +
-Enfin il est possible de test l’installation snort avec la commande <code lscript>snort –-version</code> +
- le résultat attendu est le suivant. +
-{{ :snortverif.png?500 |}} +
-  +
- +
-==== 6 Création d’un utilisateur snort ==== +
-Afin d’éviter que snort se lance en utilisateur root ce qui donne accès à de nombreux privilèges. Il faut donc créer un utilisateur snort. +
-<code lscript> groupadd snort  +
- useradd snort -r -s / sbin / nologin -c SNORT_IDS -g snort </code> +
- +
-==== 7 Création des dossiers de configuration ==== +
-Les commandes suivantes vont créer des fichiers dans des répertoires différents. +
-  * dossier qui contient les fichiers de configuration snort :<code lscript>mkdir /etc/snort </code> +
- +
-Les commandes suivantes vont créer des dossiers pour différents types de règles. +
-<code lscript> mkdir /etc/snort/rules +
-mkdir /etc/snort/preproc_rules +
-touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules +
-mkdir /usr/local/lib/snort_dynamicrules +
-</code> +
- +
-Enfin il faut créer le dossier qui va contenir les logs. +
-<code lscript>mkdir /var/log/snort</code> +
- +
-=== Attribution des droits === +
-Suite à la création des différents fichiers il faut leur donner des droits sur les dossiers.  +
-Utilisateur : lecture/écriture/exécution +
-Groupe : lecture/écriture/exécution +
-Autre : lecture/exécution +
- +
-<code lscript>chmod -R 5775 /etc/snort +
-chmod -R 5775 /var/log/snort +
-chmod -R 5775 /usr/local/lib/snort_dynamicrules +
-</code> +
- +
-On ajoute l’utilisateur snort et groupe aux différents dossiers. +
-<code lscript>chown -R snort:snort /etc/snort +
-chown -R snort:snort /var/log/snort +
-chown -R snort:snort /usr/local/lib/snort_dynamicrules +
-</code> +
- +
-==== 8 Copie des fichiers de configuration ==== +
- +
-Lors de l’installation les fichiers ont été crééqsdans le répertoire // /usr/src/snort_src/ // on va donc  copier vers le dossier /etc/snort.  +
-<code lscript>cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort +
-sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort +
-</code> +
- +
-===== Configuration snort ===== +
- +
-==== 1 Configuration du réseau a sécurisé ==== +
-Dans le fichier snort.conf il va falloir configurer la variable //ipvar HOME_NET// avec l’adresse IP réseau. +
- +
-Le fichier se trouve dans le répertoire //** /etc/snort/ **// pour ouvrir le fichier //snort.conf//+
- +
-De plus il faut laisser la variable //ipvar EXTERNAL_NET// avec l’option //any//. Cette variable concerne le réseau externe. +
-{{ :snortfichconf.png?600 |}} +
-  +
-Il est possible de lister les adresses IP des serveurs dns présents sur le réseau avec la variable //ipvar DNS_SERVERS//+
- +
-==== 2 Configuration des chemins snort ==== +
-Les fichiers sont dans un répertoire il faut donc indiquer le chemin pour aller récupérer.  +
- +
-Les chemins a configurer sont les suivants dans les encadrés jaune. +
-{{ :snortchemins.png?500 |}} +
-  +
-Les cinq chemins qu’il faut modifier avec les répertoires suivants. +
-<code apache>var RULE_PATH /etc/snort/rules +
-var SO_RULE_PATH /etc/snort/so_rules +
-var PREPROC_RULE_PATH /etc/snort/preproc_rules +
-var WHITE_LIST_PATH /etc/snort/rules +
-var BLACK_LIST_PATH /etc/snort/rules +
-</code>+
  
-De plus Il va falloir commenter les règles **à partir de la ligne 548 jusqu’à la ligne 652** du fichier //snort.conf//. 
-{{ :snortcommentaires.png?400 |}}  
 ==== 3 Test de la configuration snort ==== ==== 3 Test de la configuration snort ====
 Afin de vérifier la bonne configuration du fichier snort.conf il est possible d’utiliser la commande suivante  Afin de vérifier la bonne configuration du fichier snort.conf il est possible d’utiliser la commande suivante 
Ligne 167: Ligne 43:
  
 ==== Configuration pour un switch Cisco ==== ==== Configuration pour un switch Cisco ====
-Le mirroring de port(s) sur Cisco passe par des **//sessions//** qui prennent une ou plusieurs **//sources//** vers une **//destination//**+Le mirroring de port(s) sur Cisco passe par des **//sessions//** qui prennent une ou plusieurs **//sources//** vers une **//destination//**.
  
-La **//source//** peut être un **//port//**, une **//plage de ports//** ou un **//vlan//**.+La syntaxe est :  
 +<code lscript> 
 +//pour les ports source 
 +monitor session <numero_session_mirroring> source interface <nom_interface> <sens_trafic> 
 +//pour le port destination 
 +monitor session <numero_session_mirroring> destination interface <nom_interface>  
 +</code>
  
-On peut rediriger le trafic reçu (**//rx//**), transmis (**//tx//**) ou les deux (**//both//**).+  * La **//source//** peut être un **//port//**, une **//plage de ports//** ou un **//vlan//**. 
 +  * On peut rediriger le trafic reçu (**//rx//**), transmis (**//tx//**) ou les deux (**//both//**) 
 +  * La **//destination//** est un port unique.
  
 +**__Exemples__**
 <code lscript> <code lscript>
-#monitor session 1 source interface fa 0/1 both +monitor session 1 source interface fa 0/1 both 
-#monitor session 1 source interface fa0/2 - fa0/4 tx +monitor session 1 source interface fa0/2 - fa0/4 tx 
-#monitor session 1 source interface fa0/6 - fa0/8 rx +monitor session 1 source interface fa0/6 - fa0/8 rx 
-#monitor session 1 destination interface fa0/2+monitor session 1 destination interface fa0/2
 </code> </code>
  
Ligne 211: Ligne 96:
 |L’option msg | Elle va permettre d’entrer un message spécifique afin que l’utilisateur puisse comprendre rapidement.| |L’option msg | Elle va permettre d’entrer un message spécifique afin que l’utilisateur puisse comprendre rapidement.|
 |Sid | C'est l’identifiant unique pour identifier les règles il y a trois types : \\   * <100 Réservé pour une utilisation future \\ 100-999,999 Règles incluses dans la distribution de Snort \\ >1 000 000 Utilisé pour les règles locales \\ Dans notre cas la règle a un Sid 1 000 000 2 pour signifier que c’est la deuxième règle .| |Sid | C'est l’identifiant unique pour identifier les règles il y a trois types : \\   * <100 Réservé pour une utilisation future \\ 100-999,999 Règles incluses dans la distribution de Snort \\ >1 000 000 Utilisé pour les règles locales \\ Dans notre cas la règle a un Sid 1 000 000 2 pour signifier que c’est la deuxième règle .|
-|La révision | Elle permet aussi d’identifier de manière unique la règlela révision et le Sid sont donc liés. +|La révision | Elle indique un numéro de versionpermettant de faire évoluer une règle dans le temps \\ Il faut faire très attention lors de la création de règle, c’est sensible à la casse, et le lancement d’analyse ne se lance pas. |
-Il faut faire très attention lors de la création de règle, c’est sensible à la casse, et le lancement d’analyse ne se lance pas. |+
  
 Voici ci-dessous des exemples de règles locales : Voici ci-dessous des exemples de règles locales :
  {{ :snortregles.png?700 |}}  {{ :snortregles.png?700 |}}
  
-La règle numéro une va analyser les tentatives d’accès root aux nas, pour ce qui est de la seconde règle c’est l’analyse des scans port sur le serveur de portefeuille. Et enfin la dernière règle va analyser les ports non autorisés sur le serveur portefeuille. +La règle numéro une va analyser les tentatives d’accès root aux nas, pour ce qui est de la seconde règle c’est l’analyse des scans port sur le serveur de portefeuille. Et enfin la dernière règle va analyser un accès FTP (port 21) non autorisé sur le serveur portefeuille. 
  
 Liste des liens internet intéressant pour la construction de règles snort. Liste des liens internet intéressant pour la construction de règles snort.
Ligne 234: Ligne 118:
  
 ==== Lecture des logs ==== ==== Lecture des logs ====
-Les fichiers Logs sont stocké dans le répertoire //** /var/log/snort**// au format //Tcpdump log// pour lancer la lecture d’un fichier il faut utiliser la commande <code lscript>Tcpdump –r <nomdufichier></code>+Les fichiers Logs sont stocké dans le répertoire //** /var/log/snort**// au format //Tcpdump log// pour lancer la lecture d’un fichier il faut utiliser la commande <code lscript>tcpdump –r <nomdufichier></code>
  
 {{ :snortlogs.png?600 |}} {{ :snortlogs.png?600 |}}
snort.1678814720.txt.gz · Dernière modification : 2023/03/14 17:25 de admin