6
S E C U R I N E T S Club de la sécurité informatique I N S A T S E C U R I N E T S Club de la sécurité informatique I N S AT www.securinets.com Tel : 20322191 Atelier IDS Snort Outil de Détection d’intrusion Introduction Les systèmes de détection d’intrusion ou IDS pour (Intrusion Detection System) sont indispensables pour la sécurité du réseau, ils permettent (comme leur nom l’indique) de détecter les tentatives d’intrusions, et ceci en se basant sur une base de signatures des différentes attaques connues, donc leur fonctionnement est semblable à celui des anti-virus. Snort Snort est un système de détection d'intrusions réseau en Open Source, capable d'effectuer l'analyse du trafic en temps réel. On l'utilise en général pour détecter une variété d'attaques et de

Tuto Snort

Embed Size (px)

DESCRIPTION

Tuto Snort

Citation preview

  • S E C U R I N E T S C l u b d e l a s c u r i t i n f o r m a t i q u e

    I N S A T

    S E C U R I N E T S Club de la scurit informatique

    I N S A T www.securinets.com

    Tel : 20322191

    Atelier IDS

    Snort Outil de Dtection dintrusion

    Introduction Les systmes de dtection dintrusion ou IDS pour (Intrusion Detection System) sont

    indispensables pour la scurit du rseau, ils permettent (comme leur nom lindique) de dtecter les tentatives dintrusions, et ceci en se basant sur une base de signatures des diffrentes attaques connues, donc leur fonctionnement est semblable celui des anti-virus.

    Snort Snort est un systme de dtection d'intrusions rseau en Open Source, capable d'effectuer

    l'analyse du trafic en temps rel. On l'utilise en gnral pour dtecter une varit d'attaques et de

  • S E C U R I N E T S C l u b d e l a s c u r i t i n f o r m a t i q u e

    I N S A T

    S E C U R I N E T S Club de la scurit informatique

    I N S A T www.securinets.com

    Tel : 20322191

    scans tels que des dbordements de tampons, des scans de ports furtifs, des attaques CGI, des scans SMB, des tentatives d'identification d'OS, et bien plus.

    Snort permet danalyser le trafic rseau, il peut tre configur pour fonctionner en plusieurs modes :

    Lemodesniffer :danscemode,SNORTlit lespaquetscirculantsur lerseauet lesaffichedunefaoncontinuesurlcran

    Lemodepacketlogger:danscemodeSNORTjournaliseletraficrseaudansdesrpertoiressurledisque

    Lemodedtecteurdintrusionrseau(NIDS):danscemode,SNORTanalyseletraficdu rseau, compare ce trafic des rgles dj dfinies par lutilisateur et tabli desactionsexcuter

    LemodePrventiondesintrusionsrseau(IPS): cestSNORTinline.

    Snort (larchitecture)

    Figure 1: Architecture de Snort

    Larchitecture de SNORT est modulaire (Figure 1), elle est compose de :

    Unnoyaude base : (Packet Decoder) au dmarrage, ce noyau charge un ensemble de rgles, compile,optimise et classe celles-ci. Durant lexcution, le rle principal du noyau est la capture de paquets.

    Une srie de pr processeurs : ceux-ci amliorent les possibilits de SNORT en matire danalyse et de recomposition du trafic captur. Ils reoivent les paquets directement capturs, ventuellement les retravaillent puis les fournissent au moteur de recherche de signatures.

    Un ou plusieurs moteurs de dtection (Detection Engine) applique une srie danalyses aux paquets, ces analyses se composent principalement de comparaisons de diffrents champs des headers des protocoles (IP, ICMP, TCP et UDP) par rapport des valeurs prcises.

  • S E C U R I N E T S C l u b d e l a s c u r i t i n f o r m a t i q u e

    I N S A T

    S E C U R I N E T S Club de la scurit informatique

    I N S A T www.securinets.com

    Tel : 20322191

    Aprs la dtection dintrusion, une srie de output plugins permet de traiter cette intrusion de plusieurs manires : envoie vers un fichier log, envoie dun message dalerte vers un serveur syslog, stocker cette intrusion dans une base de donnes SQL.

    Installation Linstallation de Snort nest pas dune grande difficult, toutefois avant linstallation de

    SNORT, on doit installer :

    Libpcap:LibrairieutiliseparSnortpourcapturerlespaquets Gcc :indispensablepourcompilerlessourcesdeSnort BASE :(BasicAnalysisandSecurity Engine)(optionnel),sertfournirune

    reprsentationvisuelledesdonnesconcernantlesventuellesintrusions.

    On peut dcomposer linstallation en deux parties :

    Installation de loutil SnortCommandes Remarques

    cd/usr/local/snort

    tarxvzfsnort2.3.3.tar.gz

    Dcompactelapplication

    ./configure ConfigurationMake Compilationmakeinstall Installation

    Sinon aussi, on peut installer Snort sous forme de fichier rpm, la commande sera dans ce cas :

    rpm isnort2.3.32.i586.rpm

    Installation des rgles SnortCommandes Remarques

    mkdir/etc/snort CrationdurpertoirecontenantlaconfigurationSnort

    cp/usr/local/snort/snort.conf/etc/snort/snort.conf

    Copiedufichierdeconfigsnortdans/etc/snort

    cpsnortrules.tar.gz/etc/snort MiseenplacedesrglesdanslerpertoiredeconfigurationSnort

    cd/etc/snort OnseplacedanslerpertoiredeconfigurationSnort

    tarxvzfsnortrules.tar.gz Dcompactagedesrgles

  • S E C U R I N E T S C l u b d e l a s c u r i t i n f o r m a t i q u e

    I N S A T

    S E C U R I N E T S Club de la scurit informatique

    I N S A T www.securinets.com

    Tel : 20322191

    Pour un fonctionnement performant, on doit toujours mettre jours les rgles de Snort, pour cela il suffit de tlcharger les mises jours de lInternet (voir www.snort.org ) et procder linstallation de ces rgles comme expliqu ci-dessus.

    Configuration et Lancement Les rgles Snort sont places dans le rpertoire /etc/snort/rules.

    Il faut diter le fichier de configuration snort (/etc/snort/snort.conf) et spcifier le rseau sur lequel l'IDS travaille. Il faut pour cela modifier la variable HOME_NET :

    varHOME_NET[192.168.0.0/24]

    Dans le fichier de configuration de Snort (/etc/snort/snort.conf), il y a une srie de include. Il s'agit des rgles utilises par Snort pour dtecter d'ventuelles intrusions. Il y a des rgles de telnet, ICMP, FTP, ..., On doit commenter les rgles quon ne veut pas appliquer et enlever le commentaire des rgles qui nous intressent.

    Snort est maintenant prt tre lanc avec, par exemple, la commande:

    snortDieth0l/var/log/snortc/etc/snort/snort.conf

    Cette ligne de commande indique que Snort sera lanc en tant que daemon (-D), il regardera l'interface rseau eth0 (-i eth0), utilisera le rpertoire /var/log/snort/ pour enregistrer les logs et le fichier de configuration /etc/snort/snort.conf.

    Remarque : pour lancer Snort chaque dmarrage, il suffit de rajouter la ligne prcdente la fin du fichier /etc/init.d/rc.local.

    Les options de la commande snort Lacommandesnortpossdeplusieursoptions,parmicesoptionsonpeutciter:

    Option Descriptionv Listetouslespaquetsreussur

    lasortiestandard.cfichier ActiveSnortenmode`Dtection

    dintrusion`Ondonneenparamtrelefichierdeconfigurationdesrglesdedtection.Pardfaut,lesalertessontmmorisesdanslefichieralert.

    D Activesnortenmodedmon.lrpertoire Activelemodejournalisationdes

    paquetsetspcifielerpertoireosontstockslesalertesetlespaquetscapturs.Pardfaut,

  • S E C U R I N E T S C l u b d e l a s c u r i t i n f o r m a t i q u e

    I N S A T

    S E C U R I N E T S Club de la scurit informatique

    I N S A T www.securinets.com

    Tel : 20322191

    lerpertoire/var/log/snort.icarte Spcifielacarterseau.b Journaliselespaquetsauformat

    binairetcpdump.rfichier Litunfichierauformattcpdump.hrseau Spcifielerseaulocal,par

    exemple192.168.1.0/24.nnb Traitenbpaquetsetsarrte.

    Lcriture des rgles Snort Snort permet lcriture de rgles personnelles et utilise un langage simple et lger de

    description de rgles qui est flexible et assez puissant.

    Les rgles Snort sont divises en deux sections logiques, l'entte de la rgle et les options de la rgle comme le montre la figure 2. L'entte de rgle contient comme informations l'action de la rgle, le protocole, les adresses IP source et destination et les masques rseau, et les ports source et destination. La section options de la rgle contient les messages d'alerte et les informations sur les parties du paquet qui doivent tre inspectes pour dterminer si l'action de la rgle doit tre accepte.

    Figure2:FormatdelargleSnor t

    Voiciunexempledergle:

    Alerttcpanyany>192.168.1.0/2480(flags:Acontent:passwdmsg:detectionde`passwd`)

    Cette rgle permet de gnrer un message dalerte dtection de passwd lorsque le trafic destination dune machine du rseau local 192.168.1.0/24 vers le port 80, contient la chane passwd (spcifi par lutilisation du mot-cl content ), et que le flag ACK du header TCP est activ (flags : A).

    Tests Notre machine dont on a install Snort est dadresse IP 192.168.0.2

    A partir de la machine dadresse 192.168.0.1, on essaye de scanner notre machine en utilisant la commande nmap avec l'option -sS qui permet de faire un scan de type SCAN FIN

  • S E C U R I N E T S C l u b d e l a s c u r i t i n f o r m a t i q u e

    I N S A T

    S E C U R I N E T S Club de la scurit informatique

    I N S A T www.securinets.com

    Tel : 20322191

    nmapsF192.168.0.2

    On remarque que Snort dtecte cette intrusion et enregistre dans un dossier portant l'adresse de la machine source de l'intrusion (192.168.0.1) les logs suivants :

    [**]ICMPPINGNMAP[**]04/2323:27:37.895549192.168.0.1>192.168.0.2ICMPTTL:46TOS:0x0ID:9937IpLen:20DgmLen:28Type:8Code:0ID:32676Seq:23169ECHO=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

    [**]SCANFIN[**]04/2323:27:49.202929192.168.0.1:59321>192.168.0.2:1TCPTTL:52TOS:0x0ID:38933IpLen:20DgmLen:40*******FSeq:0x26F2832BAck:0x0Win:0x400TcpLen:20=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

    [**]SCANFIN[**]04/2323:27:41.248172192.168.0.1:59321>192.168.0.2:10TCPTTL:42TOS:0x0ID:4473IpLen:20DgmLen:40*******FSeq:0x26F2832BAck:0x0Win:0xC00TcpLen:20=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

    Conclusion Outre la mise en place des pares feu et des systmes dauthentification, il est de nos jours

    ncessaire de mettre en place un systme de dtection dintrusion.

    Nous avons tudi le fonctionnement de ces systmes en particulier nous avons pris comme exemple loutil Open Source Snort qui est le plus rput en terme defficacit et prsente une souplesse en terme de personnalisation.

    Pour une meilleure lisibilit dans la lecture des logs et les alertes il existe plusieurs interfaces graphiques pour Snort les plus connues sont SnartSnort et ACID.

    Aussi pour une meilleure gestion des logs, Snort peut tre interfac avec un SGBD (Systme de Gestion de Base de Donnes) comme par exemple MySQL.