User Tools

Site Tools


coursieps:20060331

Snort: le standard libre de la détection et prévention d'intrusion réseau.

Snort peut fonctionner dans 3 modes

  • Packet Sniffer
  • Packet Logger (Debian Default)
  • NIDS (Network Intrusion Detection System)

Snort fonctionne selon la méthode BPF (Berkeley Packet Filter)

Logs (au format tcpdump par défaut) :

  • /var/log/snort/alert
  • /var/log/snort

le format de log permet d'ailleurs une analyse “graphique” via Ethereal (faire open ou ctrl+o dans l'interface gtk)

Installtion:

(pascal)
jerome@mac:~$ sudo apt-get install snort
Password:
Lecture des listes de paquets... Fait
Construction de larbre des dépendances... Fait
Les paquets supplémentaires suivants seront installés :
  snort-common snort-rules-default
Paquets recommandés :
  snort-doc oinkmaster
Les NOUVEAUX paquets suivants seront installés :
  snort snort-common snort-rules-default
0 mis à jour, 3 nouvellement installés, 0 à enlever et 4 non mis à jour.
Il est nécessaire de prendre 738ko dans les archives.
Après dépaquetage, 2920ko espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ? o
...
Dépaquetage de snort (à partir de .../snort_2.3.2-5_powerpc.deb) ...
Paramétrage de snort-rules-default (2.3.2-5) ...

1)

Paramétrage de snort-common (2.3.2-5) ...

Paramétrage de snort (2.3.2-5) ...
No snort instance found to be stopped!
Starting Network Intrusion Detection System: snort(eth0)No /etc/snort/snort.eth0.conf, defaulting to snort.conf

Utilisation

Pour pouvoir se servir de snort en tant qu'IDS, il faut le lancer avec le fichier de configuration snort.conf en paramètre

 snort -c /etc/snort/snort.conf

Pour que Snort démarre toujours en tant qu'IDS, on ajoute au fichier etc/snort/snort.debian.conf

DEBIAN_SNORT_OPTIONS="-c /etc/snort/snort.conf"

Comment transformer un IDS (passif) en IPS (actif)

Pour ajouter la fonctionnalité de IPS (Intrusion Prevention), on va installer la dernière version de Snort (2.4.4) et la compiler avec le module FLEXRESP

Recupérer Snort sur 2)

wget http://www.snort.org/dl/current/snort-2.4.4.tar.gz
tar =zxvf snort-2.4.4.tar.gz

Faire ./configure pour voir les dépendances et installer les fichiers dont dépend le programme :

apt-get libpcre3-dev libnet0-dev

libpcap-dev qui est aussi nécessaire est compris dans libnet0-dev

Configurer et compiler Snort:

./configure --enable-flexresp
make

On ne fait pas de make install pour éviter d'écraser la version d'origine de Debian (2.3.3). Il sera toujours temps de la faire plus tard si on voit que tout fontionne bien. On pourra tester la nouvelle version en faisant :

$ sudo  src/snort -c /etc/snort/snort.conf
...
        --== Initialization Complete ==--

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.4.4 (Build 28)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/team.html
           (C) Copyright 1998-2005 Sourcefire Inc., et al.

Pour définir des règles et les actions à entreprendre tel que reset de connections tcp, envoi de port/host unreachable (en cas de connexion udp…) on utilisera un fichier de règles /etc/snort/rules/scan.rules

Définir des variables :

# just stop the offender
var RESP_TCP resp:rst_snd;

# also kill a possible local counterpart
var RESP_TCP_URG resp:rst_all;

# tell'em we're gone ...
var RESP_UDP resp:icmp_port,icmp_host;

Et, par exemple, pour bloquer les scans de type XMAS, ajouter $RESP_TCP; à la règles correspondante:

alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"SCAN nmap XMAS"; flow:stateless; flags:FPU,12; reference:
arachnids,30; classtype:attempted-recon; sid:1228; rev:7; $RESP_TCP; )

Portsentry

Un autre IDS spécialisé sur les scans de port (style nmap). Il permet de configurer les actions à prendre en cas de scans (création de règles iptables DROP ou blocage via la table de routage)

coursieps/20060331.txt · Last modified: 2013/01/30 17:50 by 127.0.0.1