Vous êtes sur la page 1sur 29

Mise en place dune sonde snort

Monitoring network

Projets du M3
REALISATION : Slimane Tanji
PROMOTION : TSRITE3 2004 - 2006
Date 03/01/2006
CHEF DE PROJET : Marc CANNAC

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

Tables des matires


I.

Introduction ___________________________________________________________ 3

II.

Synthse des besoins___________________________________________________ 4

III.

Synthse des solutions envisages ________________________________________ 5

IV.

Pourquoi se protger ? _________________________________________________ 7

1.1.

V.

Anatomie dune attaque __________________________________________________ 7

Inventaire du rseau 17 __________________________________________________ 7

VI.

Prsentation _________________________________________________________ 8

1.2.

Les IDS systmes (Host IDS) : _____________________________________________ 8

1.3.

Les IDS rseaux (Network IDS) : ___________________________________________ 9

VII.

Les diffrents types d'IDS ______________________________________________ 9

1.4.

Les IDS signature : _____________________________________________________ 9

1.5.

Les IDS comportementaux : ______________________________________________ 10

VIII.
IX.

O positionner son IDS ?____________________________________________ 10


Prparation linstallation de Snort _____________________________________ 11

1.6.

Mise a jour de votre systme______________________________________________ 13

1.7.

Tlchargement ________________________________________________________ 13

X.

Installer snort _________________________________________________________ 14


1.8.

Variables par dfaut de snort.conf _________________________________________ 15

1.9.

Configuration des pr-processeurs_________________________________________ 16

1.10.

Configurer la destination des rsultats _____________________________________ 17

1.11.

Inclusions de fichiers ____________________________________________________ 17

XI.

Rcuprer les rgles __________________________________________________ 17

1.12.

Fonctionnement des rgles de Snort________________________________________ 18

1.13.

Vrification ____________________________________________________________ 19

XII.

Mode dexcution de snort _____________________________________________ 20

XIII.

Crer la table et les permissions_______________________________________ 20

XIV.

Installation d'ACID __________________________________________________ 23

XV.

Tester ACID ________________________________________________________ 25

XVI.

Autre solution _______________________________________________________ 25

XVII.

Sources __________________________________________________________ 27

XVIII.

Conclusion et perspectives. __________________________________________ 29

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 2 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

I. Introduction

Dans le cadre de la formation de T.S.R.I.T.E, il est demand lors du dernier module


appel module de synthse de raliser un projet.
Aprs rflexion mon choix sest orient vers les systmes dintrusions et de
dtections IDS. Pour deux raisons, pour rpondre un besoin et combls une lacune
dans le domaine de la scurit rseaux Mais surtout avec la conviction que cette
technologie et en pleine expansion et quelle ncessitera du personnel qualifi.
La scurit vise protger laccs et la manipulation des donnes par des
mcanismes dauthentifications, dautorisation, de contrle, etc.
Le bastion Firewall et autres antivirus ne suffisent plus garantir la scurit des
rseaux. Dans ce but, des outils de dtection dintrusion automatique ont t mis en
place. Cette mthode consiste en une surveillance permanente du systme afin de
dtecter toute violation de la politique de scurit et ainsi signaler les attaques (en
temps rel ou en diffr) portant atteinte la scurit du systme informatique.

Ce rapport contient des explications sur la gnralit des systmes de dtection


dintrusion rseaux (IDS) ; et sur la mise en place de snort et de son exploitation.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 3 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

II. Synthse des besoins


Objectifs :
Mettre en place un systme de dtection dintrusion {NIDS}, sur le rseau 17 du
centre 2ISA. Ce dispositif a pour but danalyser le flux transitant sur ce segment et
dtecter toutes violations de la politique de scurit puis dmettre des alertes dans
un fichier log. Il a t stipul dapporter une plus grande vigilance au serveur WEB de
certification Cisco et de mettre en place une console danalyse pour dtection
dintrusion.
Descriptif du serveur WEB
Serveur NT sp6
PIII 866 20Go et 256 Mo de moire vive
Adresse IP : 172.17.8.6
Service : IIS
Les besoins exprims :
Ce projet permettra au centre de se doter dun systme de dtection dintrusion
rseau en temps rel N I D S.


Dtection dactivits anormale

Dtection des petits fragments

Dtection de dnis de service

Pr-processeur http

Fonctionnalits
IP TCP UDP ICMP

Demandeur : 2ISA
Interlocuteur : Marc Cannac,
Dlais de livraison :
Le projet sera livr avec une maquette pour les tests, avec un rapport de
synthse et les explications par rapport la mise en place dans lenvironnement du
centre de formation 2ISA.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 4 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

III. Synthse des solutions envisages


Avant dopter pour une solution particulire, il convient davoir une vision globale du
march de lIDS et des diffrentes solutions apportes par les produits. Pour ce faire
jai effectu une comparaison de quelque IDS.
Panorama du march
Deux leaders se dtachent trs nettement du peloton. A eux seuls, Cisco et ISS se
partagent en effet plus de la moiti du gteau des IDS 55% de part de march.
Cisco propose des solutions hardware, faciles mettre en place, grce une
gamme de botiers dont certains supportent des trafics de 500 Mo.
Le prix est lev pour ce type de solution, soit 10 000 euros pour un NIDS dentre
de gamme et 5000 euros pour un H-IDS
Comparatif
On dispose aujourdhui dune large gamme dIDS, ci dessous un tableau comparatif
de quelques solutions aussi bien commerciales que freeware.
Editeur
Dbits supports

Dragon
Non
communiqu
Script

Tripwire
Non
communiqu
Script

Mthode de dtection

Signature

Signature

accepte
rgles
snort
Signature

Portabilit

La plupart des
os
Non

Linux

Langage
signatures

des

Opration en temps
rel
Rsistance
aux
attaques
Priode de dtection
Open source
Source de reponses
de lIDS

Nfr nid
Rseaux

grande vitesse
Script

snort
Moyenne

Signature

Linux

Signature/anomal
ie
Machine ddie

Non

Oui

Oui

Oui

Non

NON

NON

OUI

NON

Pas en ligne
Non
Analyse
le
system de log

Pas en ligne
Oui
Vrifie lintgrit
du systme de
fichiers.

Modre
Oui

Rapide
Non
Analyse le trafic
SMTP
Collecte
des
statistiques sur le
rseau
Identifie
les
vulnrabilits

Modre
oui
Bad traffic

Analyse
SNMP

prlude
Moyenne

de

Analyse MD5

les
de

Rgle snort

Linux/windows

Dns, Dos,
Rpc, Telnet,
Web-attacks,
Web-cgi
Web-frontpage

En vue du tableau je constate que deux produits ressortent de cette recherche snort
et prlude. Ceux sont tous les deux des outils libres, les projets dont ils sont issus
sont trs actifs, aussi bien dans le dveloppement que dans la mise jour des
attaques. Quelques avantages pour snort sont sa popularit et sa disponibilit sur de
nombreuses plateformes.
Rdaction par : Slimane Tanji
Validation par : Marc CANNAC

Snort

Page 5 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

Les technologies danalyse des trames de snort sont moins performantes que celles
des solutions commerciales.
Prix des solutions commerciales

Mon choix cest donc orient vers snort pour la ralisation de ce projet. Pour les
raisons suivantes snort est un produit dont lefficacit est reconnue, par sa portabilit
sur plusieurs environnements et surtout par sa gratuit et sa disponibilit.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 6 sur 29

Type de document :
Rapport de synthse

TSRITE 03
14/09/2006

Mise en place dune sonde rseaux

IV. Pourquoi se protger ?


Le constat est simple : Il suffit de connecter n'importe quelle machine frachement
installe Internet et cette dernire se retrouve vrole en trs peu de temps. La
dmocratisation du domaine de la scurit entran un phnomne "double
tranchant", dans la mesure o la famille des utilisateurs "mal intentionns" disposent
aussi de l'information. Ainsi, de nombreux programmes de sabotages ont t mis au
point (virus, vers, backdoor, trojan, rootkit, exploits ...) et font parfois preuves d'une
agressivit redoutable.
Historiquement : le vers "code red v2" entran la chute de plus d'un serveur (IIS)
sur 5, lors de sa charge le 19 juillet 2001 (soit une semaine aprs la charge de sa
premire version). On peut alors imaginer les dgts engendrs au niveau des
entreprises concernes, et de leurs pertes financires occasionnes, en si peu de
temps.

1.1. Anatomie dune attaque


Le concept des cinq P : prospecter, pntrer, perdurer, propager et paralyser. Collent
parfaitement au droulement dune attaque quelles soient ralises par un individu
ou de manire automatique par un vers ou un script

V. Inventaire du rseau 17
Tout projet relatif la scurit commence par un inventaire. Jai donc recenser les
systmes prsents dans le rseau 17 et les services qui y sont excuts.
Tableau
serveur
Proxy

Adresse IP
172.16.8.101 172.17.8.3

NT 4
Windows
2003

172.17.8.6
172.17.8.1

service
Firewall proxy
routeur
Web IIs
Exchange 2003

Materiel
PIV 2,4
PIII 866
Xeon

Matriel et logiciel utiliser pour la maquette.


Pentium IV 1.4 Ghz
40 Go de disque dur et 256 MO de mmoire vive
Hub 3com
OS : fedora core
Logiciel : Snort, apache, Mysql, Acid,
Rdaction par : Slimane Tanji
Validation par : Marc CANNAC

Snort

Page 7 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

VI. Prsentation
Les IDS sont des outils permettant de dtecter les attaques/intrusions du rseau sur
lequel il est plac. C'est un outil complmentaire aux firewall, scanneurs de failles et
anti virus. Il existe deux niveaux d'IDS : les IDS systmes et les IDS rseaux.

1.2. Les IDS systmes (Host IDS) :


Analysent le fonctionnement et l'tat des machines sur lesquels ils sont installs afin
de dtecter les attaques en se basant sur des dmons (tels que syslogd par
exemple). L'intgrit des systmes est alors vrifie priodiquement et des alertes
peuvent tres leves. Par nature, ces IDS sont limits et ne peuvent dtecter les
attaques telles que les deny of service DOS.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 8 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

1.3. Les IDS rseaux (Network IDS) :


Quant eux, analysent en temps rel le trafic qu'ils aspirent l'aide d'une sonde
(carte rseau en mode "promiscuous"). Ensuite, les paquets sont dcortiqus puis
analyss. En cas, de dtection d'intrusion, des alertes peuvent tre envoyes.

VII. Les diffrents types d'IDS


Les IDS disposent de deux approches diffrentes, afin de dceler les intrusions.

1.4. Les IDS signature :


Gnralement, les IDS rseaux se basent sur un ensemble de signatures qui
reprsentent chacune le profil d'une attaque. Cette approche consiste rechercher
dans l'activit de l'lment surveill (un flux rseau) les empreintes d'attaques
connues, l'instar de lantivirus.
Une signature est habituellement dfinie comme une squence d'vnements et de
conditions relatant une tentative d'intrusion. La reconnaissance est alors base sur le
concept de "pattern matching" (analyse de chanes de caractres prsente dans le
paquet, la recherche de correspondance au sein d'une base de connaissance). Si
une attaque est dtecte, une alarme peut tre remonte (si l'IDS est en mode actif,
sinon, il se contente d'archiver l'attaque).

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 9 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

1.5. Les IDS comportementaux :


Les IDS comportement ont pour principale fonction la dtection d'anomalie. Leur
dploiement ncessite une phase d'apprentissage pendant laquelle l'outil va
apprendre le comportement "normal" des fluxs applicatifs prsents sur son rseau.
Ainsi, chaque flux et son comportement habituel doivent atres dclars ; l'IDS se
chargera d'mettre une alarme, si un flux anormal est dtect, et ne pourra bien
entendu, spcifier la criticit de l'ventuelle attaque.

VIII. O positionner son IDS ?


Il existe plusieurs endroits stratgiques o il convient de placer un IDS.
Le schma suivant illustre un rseau local ainsi que les trois positions que peut y
prendre un IDS :

Position (1):

Sur cette position, l'IDS va pouvoir dtecter l'ensemble des attaques frontales,
provenant de l'extrieur, en amont du firewall. Ainsi, beaucoup (trop?) d'alertes
seront remontes ce qui rendra les logs difficilement consultables.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 10 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

Position (2):

Si l'IDS est plac sur la DMZ, il dtectera les attaques qui n'ont pas t filtres par le
firewall et qui relvent d'un certain niveau de comptence. Les logs seront ici plus
clairs consulter puisque les attaques bnignes ne seront pas recenses.

Position (3):

L'IDS peut ici rendre compte des attaques internes, provenant du rseau local de
l'entreprise. Il peut tre judicieux d'en placer un cet endroit tant donn le fait que
80% des attaques proviennent de l'intrieur. De plus, si des trojans ont contamin le
parc informatique (navigation peu mfiante sur Internet) il pourront tres ici
facilement identifis pour tre ensuite radiqus.
Idalement, on placerait des IDS sur les trois positions puis on dlguerait la
consultation des logs l'application "acid" (cf http://acidlab.sourceforge.net/) qui
permet d'analyser les alertes et d'en prsenter clairement les rsulats via une
interface web complte.

IX. Prparation linstallation de Snort


Je ne vais pas expliquer linstallation de la fedora core linstallation est trs simple,
mais plutt vous apporter une information sur le package dont nous allons avoir
besoin pour la mise en place de snort et de dsactiver le reste. Pour des raisons de
scurit rien ne sert dinstaller des services si leurs utilits ne sont pas ncessaires.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 11 sur 29

Type de document :
Rapport de synthse

TSRITE 03
14/09/2006

Mise en place dune sonde rseaux

Au niveau de la slection de package dans la rubrique desktops

X Windosw System cliquer sur dtails et dcocher VNC


Gnome Desktop Environment
accepter par dfaut


Au niveau de la slection de package dans la rubrique Applications

Editor
Engineering and Scientific
Graphical Internet
Text Based internet
Sound and video
Authoring and publiszhing
Games and Entertainment
Graphics

choisissez votre diteur favori.


accepter par dfaut.
choisissez votre navigateur favori.
installer un navigateur texte elinks ou wget.
dsactiver
dsactiver
dsactiver
vrifier la prsence des packtage suivant

Gimp
Gimp data extras
Gimp print Plugin


Au niveau de la slection de package dans la rubrique Server.

Server configuration tools


Web server

accepter par dfaut.


vrifier la prsence des packtage suivant.

Mod_auth_mysql
Mod_perl
Mod_ssl
Php
Php_mysql
Mail server
Windows file serveur
Dns serveur
SQL Database serveur
News seveur
Network serveur


non
non
non
installer Mysql-server.
non
non

Au niveau de la slection de package dans la rubrique Development.

Development tools

vrifier la prsence des packtage suivant

Expect
Gcc-objc
Kernel development
X software development
Gnome software development
Rdaction par : Slimane Tanji
Validation par : Marc CANNAC

accepter par dfaut.


accepter par dfaut.
dsactiver

Snort

Page 12 sur 29

Type de document :
Rapport de synthse

KDE sdoftware development




TSRITE 03
14/09/2006

Mise en place dune sonde rseaux


dsactiver

Au niveau de la slection de package dans la rubrique System.

Administration
System Tools

accepter par dfaut.


vrifier la prsence des packtage suivant.

Ethereal
Ethereal gnome
Nmap
Nmap frontend
Printing support

dsactiver

1.6. Mise jour de votre systme


Chaque logiciel que vous installer et oublier de mettre jour est une faille dans la
vulnrabilit de votre systme. Donc une fois les services installs effectuer une
mise jour de votre systme.
Vous tes prt commence linstallation de snort et de tout les logiciels ncessaires.
Voici la liste de tout les packages.

1.7. Tlchargement
Snort
http://www.snort.org/dl/binaries/linux/snort-2.1.3-0.fdr.1.i386.rpm
http://www.snort.org/dl/binaries/linux/snort-mysql-2.1.3-0.fdr.1.i386.rpm
ADODB
http://www.phplens.com/lens/dl/adodb411.tgz
ACID
http://www.acidlab.sourceforge.net/acid-09.6b23.tar.gz
JPGraph
http://www.aditus.nu/jpgraph/downloads/jpgraph-1.14.tar.gz
Libpcap
http://www.tcpdump.org/relase/libpcap-0.8.3.tar.gz
Rdaction par : Slimane Tanji
Validation par : Marc CANNAC

Snort

Page 13 sur 29

Type de document :
Rapport de synthse

TSRITE 03
14/09/2006

Mise en place dune sonde rseaux

PCRE
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-4.4.tar.gz
Zlib
http://www.info-zip.org/pub/infozip/zlib/

Dmarrer et activer les daemons suivant


Chkconfig httpd on
Chkconfig mysqld on
Service httpd start
Service mysql start
Installer PCRE : Expressions Rgulires Compatibles De Perl
# tar xvzf pcre-4.4.tar.gz
cd pcre-4.4
./configure && make && install
Installer zlib : librairie
tar xvzf zlib-1.2.1.tar.gz
cd zlib-.21
./configure && make && install
Installer Libpcap : Librairie utilise par SNORT pour capturer les paquets
tar xvzf libpcap-0.8.1.tar.gz
cd libpcap-0.8.1
./configure && make && install

X. Installer snort

Snort est un IDS gratuit disponible (www.snort.org). A l'origine, ce fut un sniffer qui
connu une telle volution qu'il fut vite adopt et utilis dans le monde de la dtection
d'intrusion en s'appuyant sur une base de signature rgulirement enrichie par le
"monde du libre".
Sous Linux (comme sous windows) son installation est simple et se rsume (pour
linux) par les commandes suivantes.
#rpm ivh snort-2.1.3-0.fdr.1.i386.rpm
#rpm ivh snort-mysql-2.1.3-0.fdr.1.i386.rpm
Rdaction par : Slimane Tanji
Validation par : Marc CANNAC

Snort

Page 14 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

Il faut ensuite configurer le fichier snort.conf, qui se trouve dans le rpertoire


/etc/snort/.
Editer le fichier snort.conf fourni avec la distribution Snort
Ce fichier comprend quatre parties principales :


Les variables rseau

La configuration des pr-processeurs

Les paramtres de journalisation

Les rgles et signatures.

1.8. Variables par dfaut de snort.conf

HOME_NET

DNS_SERVERs ;

SMTP_SERVERS ;

SQL_SERVERS ;

TELNET_SERVERS ;

HTTP_SERVEURS ;

SNMP_SERVERS.

Dans cette configuration je mintresse plus particulirement aux variables


HOME_NET, HTTP_SERVEURS.
La variable HOME_NET doit tre dfinie, par rapport l'interface rseau que vous
voulez couter.
Var HOME_NET 172.17.0.0/24
Nous allons maintenant dclarer sur quel port le serveur reoit ses requtes
Var HOME_PORTS 80
Et aussi lemplacement des rgles snort
var RULE_PATH c:\snort\rules

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 15 sur 29

Type de document :
Rapport de synthse

TSRITE 03
14/09/2006

Mise en place dune sonde rseaux

1.9. Configuration des prprocesseurs


Les pr-processeurs ont plusieurs rles. Ils manipulent les trafics pour tout un
ensemble de services en formatant les donnes contenues dans les paquets de
manire que les signatures aient toutes les chances de reconnatre les informations
quelles recherchent. Ils ont galement en charge la protection de la sonde elle
mme.
Pr-processeurs


Flow ;

Frag2 ;

Stream4 ;

http_INSPECT

Nous allons dclarer la directive http_INSPECT pour quelle corresponde notre


environnement. Le prprocesseur global http_inspect a trois options :
iis-unicode-map : cette option indique au prprocesseur o trouver le fichier qui
contient les tables de traduction des caractres Unicode en une version ASCII qui
sera utilise pour faire correspondre les signatures. Option obligatoire. Activ par
default
Detect-anomalous-servers : gnre une alerte si du trafic http standard est dtect
sur des ports qui ne sont pas normalement associs aux service web.
Proxy_alert : dans le cas ou vous utilisez un serveur mandataire pour contrler
laccs Internet.
Voici la configuration mise en place


Preprocessor http-inspect : global iis-unicode-map unicode.map 1252

Preprocessor http-inspect_servers : server 172.17.8.6 \ profile all ports { 80


8080 8180 } oversize-dir-lenght 500

Snort est maintenant prt tre lanc avec, par exemple, la commande:
snort -D -i eth0 -l /var/log/snort -c /etc/snort/snort.conf
-D spcifie que le programme doit tourner en arrire plan
-i eth1 spcifie l'interface qu'il doit couter
-l donne l'emplacement des fichiers logs
-c donne l'emplacement du fichier de configuration
De nombreuses autres options plus avances sont disponibles
Rdaction par : Slimane Tanji
Validation par : Marc CANNAC

Snort

Page 16 sur 29

Type de document :
Rapport de synthse

1.10.

TSRITE 03
14/09/2006

Mise en place dune sonde rseaux

Configurer la destination des rsultats

Lun des intrts de snort est son aptitude envoyer les alertes et autre informations
de dtection vers plusieurs destinations possibles. Alors je vais configurer le greffon
de sortie vers syslog et une base de donnes mysql. Directive en mettre en place
dans le fichier snort.conf
Output alert_syslog : log_auth log_alert

pour la sorti vers le fichier syslog

output database: log, mysql, user=acid password=acidpwd dbname=acid


host=localhost

1.11.

Inclusions de fichiers

La dernire directive utilise dans un fichier snort.conf est include. Elle permet
comme sont nom lindique dinclure le contenu de fichiers prsents sur le disque du
systme qui excute snort. Le chemin par dfaut a dj t configur.
Voici un ensemble de rgles que jai inclus dans mon fichier snort


include $RULE_PATH/web-cgi.rules

include $RULE_PATH/web-coldfusion.rules

include $RULE_PATH/web-iis.rules

include $RULE_PATH/web-frontpage.rules

include $RULE_PATH/web-misc.rules

include $RULE_PATH/web-client.rules

include $RULE_PATH/web-php.rules

XI. Rcuprer les rgles


Il est dit que les paquetages des sources snort incluent un ensemble de rgles.
Malheureusement pour moi je nen ai pas trouv dans ma distribution, je suis donc
all sur le site de snort pour tlcharger ces rgles. Je me suis donc inscrit sur leur
site, une close de vrification stipulait un dlai de cinq jours avant de recevoir le mot
de passe pour le compte cr.
Jai donc regard sur la version de snort pour Windows ou jai bien trouv les rgles
dans le rpertoire countrib. Jai donc rcupr ces rgles pour mon projet.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 17 sur 29

Type de document :
Rapport de synthse

TSRITE 03
14/09/2006

Mise en place dune sonde rseaux

Garder les rgles jour


Rcuprer rgulirement les dernires versions des rgles disponibles sur le site
web de snort.

1.12.

Fonctionnement des rgles de Snort

Les rgles de snort sont dcrites dans un langage simple et suivent le schma
suivant :
Len-tte de rgle qui contient l'action de la rgle (la raction de snort);
Le protocole qui est utilis pour la transmission des donnes (snort en considre
trois: TCP, UDP et ICMP);
Les adresses IP source et destination et leur masque;
Les ports source et destination sur lesquels il faudra vrifier les paquets.
Les options de la rgle(entre parenthse) qui contiennent
Le message d'alerte; les conditions qui dterminent l'envoi de l'alerte en fonction du
paquet inspect.
Ecriture dune rgle
Pour comprendre le fonctionnement des rgles de snort, un exemple simple sera
employ. Il s'agit ici de dtecter la prsence d'un ping provenant d'une station de
type Windows et de lever une alerte, lorsque celle ci est dtecte.
Pour cela, il nous faut rcolter une trace que pourrait laisser une telle station. Il
convient alors d'effectuer un ping partir de cette station, tout en sniffant les paquets
(tcpdump ou snort -v) afin d'avoir sa trace complte
Une fois les paquets identifis, il s'agit de trouver les chanes redondantes contenues
dans ce paquet
La trace suivante montre un paquet typique provenant d'un tel ping :
0x0000 4500 003c 2f46 0000 8001 895e c0a8 0064 E..</F.....^...d
0x0010 c0a8 0068 0800 ea5b 0400 5f00 6162 6364 ...h...[.._.abcd
0x0020 6566 6768 696a 6b6c 6d6e 6f70 7172 7374 efghijklmnopqrst
0.0030 7576 7761 6263 6465 6667 6869
uvwabcdefghi
Ainsi, nous pouvons remarquer que la chane "abcdefghij..." est prsente dans tous
les paquets gnrs par les ping lancs pour la reconnaissance. On peut alors
dtecter de tels paquets en crant la rgle snort correspondante.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 18 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

Sa syntaxe est simple :


Alert icmp any any -> any any (msg:"Ping Windows dtect"
content:"abcdefghijklmnop"; depth:16;)\

1.13.

Vrification

Jai donc vrifi si la rgle crite rpondait la spcification attendue en effectuant


un ping sur le rseaux17 et jai pu constater que le ping et renvoy par linterface du
proxy qui se trouve ladresse 172.17.8.3

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 19 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

XII. Mode dexcution de snort


Snort dispose de plusieurs modes de fonctionnements qui sont les suivants :

Mode coute :

Ce mode permet de lancer snort en mode sniffer et permet d'observer les paquets
que l'IDS peroit ("snort -v")


Mode "log de paquets" :

Le log de paquet permet l'archivage des paquets circulant sur le rseau de l'IDS. Il
permet, grce ses arguments des oprations intressantes permettant de limiter
les logs certains critres, comme une plage d'adresse IP (ex : "snort -l ../log/snort h 192.168.0.0/24")


Mode "dtection d'intrusion" :

Le mode IDS permet snort d'adopter un comportement particulier en cas de


dtection d'une (succession) de chanes de caractres dans les paquets intercepts ;
selon les rgles dfinies dans les fichiers d'extension ".rules" du rpertoire /rules
("snort -A full -d -l ../log -c $SNORTPATH/snort.conf").

XIII. Crer la table et les permissions


Cette section montre comment crer la table ncessaire pour la base de donnes
snort.
Tout dabord je vais commencer par changer le mot de passe de ladministrateur de
root pour la gestion de Mysql. Puis crer un utilisateur pour grer la table snort et lui
accorder des droits sur cette table.
# mysql u root p
Entrer le password de root

Mysql > SET PASSWORD FOR root@localhost=PASSWORD(password);


query ok, 0 rows affected (0.25sec)
mysql > create database acid;
query ok, 1 rows affected (0.2sec)
mysql > grant INSERT,SELECT on root .* to acid@localhost;
query ok, 0 rows affected (0.02sec)

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 20 sur 29

Type de document :
Rapport de synthse

TSRITE 03
14/09/2006

Mise en place dune sonde rseaux

mysql > SET PASSWORD FOR acid@localhost=PASSWORD(acidpwd);


query ok, 0 rows affected (0.25sec)
mysql > grant CREATE,INSERT,SELECT,DELETE,UPDATE on acid.* to
acid@localhost;
query ok, 0 rows affected (0.25sec)
mysql > grant CREATE,INSERT,SELECT,DELETE,UPDATE on acid.* to acid;
query ok, 0 rows affected (0.2sec)
mysql > exit;
>Bye

Excuter les commandes suivantes pour crer la table snort


Mme problme rencontr pas de script dans la distribution que jai tlcharger. Jai
donc rcupr les scripts ncessaires sur la version de windows.
Script
create_mysql
snortdb-extra.gz
mysql u root p < /usr/share/doc/snort-2.1.3/contrib/create_mysql acid
Entre password : mysql root password
Ensuite installer extra DB tables
zcat /usr/share/doc/snort-2.1.3/contrib/snortdb-extra.gz | mysql p acid
Entre password : mysql root password

Maintenant je vais vrifier que la table a t bien cre


mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| acid |
| mysql |
| test |
+----------+
3 rows in set (0.00 sec)

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 21 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

mysql> use acid

Reading table information for completion of table and column names


You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SHOW TABLES;
+--------------------------+
| Tables_in_acid
|
+--------------------------+
| data
|
| detail
|
| encoding
|
| event
|
| flags
|
| icmphdr
|
| idsAction
|
| idsActionMaster
|
| idsActionStore
|
| idsArchive
|
| idsCollection
|
| idsCommunityBuffer
|
| idsCommunityMain
|
| idsEmail
|
| idsHostnames
|
| idsLicense
|
| idsLogs
|
| idsMain
|
| idsMark
|
| idsModules
|
| idsNotes
|
| idsOps
|
| idsQueries
|
| idsReverseIndex
|
| idsReverseIndexAck
|
| idsReverseIndexCategory |
| idsReverseIndexDip
|
| idsReverseIndexDport |
| idsReverseIndexLen
|
| idsReverseIndexLevel |
| idsReverseIndexModule |
| idsReverseIndexProto |
| idsReverseIndexSensor |
| idsReverseIndexSeq
|
| idsReverseIndexSignature |
| idsReverseIndexSip
|
| idsReverseIndexSport |
Rdaction par : Slimane Tanji
Validation par : Marc CANNAC

Snort

Page 22 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

| idsReverseIndexText
|
| idsReverseIndexTime
|
| idsReverseIndexTtl
|
| idsReverseIndexWin
|
| idsScanner
|
| idsSensor
|
| idsSensorManage
|
| idsSensorManageMessages |
| idsSignatures
|
| idsSignaturesIndex
|
| idsStatus
|
| idsTimezones
|
| idsUsers
|
| iphdr
|
| opt
|
| protocols
|
| reference
|
| reference_system
|
| schema
|
| sensor
|
| services
|
| sig_class
|
| sig_reference
|
| signature
|
| tcphdr
|
| udphdr
|
+--------------------------+
63 rows in set (0.00 sec)
mysql>exit

XIV. Installation d'ACID


La visualisation des logs est assez austre. Il peut donc tre utile d'utiliser un frontend HTML comme ACID, aanval, SnortSnarf, qui va gnrer des pages web partir
de l'analyse des fichiers logs gnrs par Snort.
Installation des diverses applications ncessaires la mise en place du module
ACID

Installer JPGraph
Copy jpgraph dans /var/www/html
Cd /var/www/html
Tar xvzf jpgraph-1.14.tar.gz
Rdaction par : Slimane Tanji
Validation par : Marc CANNAC

Snort

Page 23 sur 29

Type de document :
Rapport de synthse

TSRITE 03
14/09/2006

Mise en place dune sonde rseaux

Installer ADODB
Copy ADODB dans /var/www/html
Cd /var/www/html
Tar xvzf adodb411.tgz
Installer ACID
cp acid-0.9.6b16.tar.gz /var/www/html/
cd /var/www/html $
tar xvfz acid-0.9.6b16.tar.gz
Et voil. Reste maintenant configurer
La configuration d'ACID tient dans un seul fichier : acid_conf.php.
Voici les principales variables qu'il nous faut renseigner :

$DBlib_path : chemin d'accs absolu aux librairies ADODB-> $DBlib_path =


"/var/www/html/adodb";
$DBtype : type de SGBD utilis
"mysql";
$alert_dbname : nom de la base de donnes de journalisation des alertes
"Acid";
$alert_host : nom du serveur MySQL$alert_port : port d'coute du serveur (si
diffrent du port par dfaut)
"localhost";
$alert_user : utilisateur sous l'identit duquel se feront les connexions
"Acid";
$alert_password : mot de passe de cet utilisateur
"Acipwd";
/*Archive DB connection parametres
$archive_dbname = "Acid";
$archive_host = "localhost";
$archive_user = "Acid";
$archive_password = "Acidpwd";

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 24 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

En option, les variables utiles PHPlot :


$ChartLib_path : chemin d'accs aux librairies JPGRAPH
$chart_file_format : "/var/www/html/jpgraph-1.14/src";

XV. Tester ACID

ACID est install, testons-le. A partir de votre navigateur Web prfr, entrez l'URL
suivante
http://server_name/acid/
En toute logique, vous devriez lire cet avertissement :
>The underlying database snort@localhost appears to be incomplete/invalid. >>The
database version is valid, but the ACID DB structure (table: acid_ag) is >not present.
Use the Setup page to configure and optimize the DB.
Dans mon cas je ne voie pas cette ligne quand je me connecte mon serveur. Je ne
sais pas trop pourquoi, ma premier pense t de voir si mon navigateur est
compatible avec acid.
En utilisant un autre navigateur mme problme.

XVI. Autre solution


Jai donc essay une autre solution qui et aanval la procdure dinstallation sest bien
droul. Lapplication vous avertie de votre login et mot de passe provisoire et vous
invite le modifier rapidement.
Un cran se prsente pour la connexion jinscrit le login et mot de passe lapplication
me notifie ma connexion et me renvoie sur la page de connexion.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 25 sur 29

Type de document :
Rapport de synthse

TSRITE 03
14/09/2006

Mise en place dune sonde rseaux

Aprs le peu de recherches effectues en fonction du temps impartie. Je pense que


le problme peut se situer au niveau de la liaison avec ma base de donnes.
Vrification du fichier sonrt.conf pour voir si le greffon de sortie est bien activ
output database: log, mysql, user=acid password=acidpwd dbname=acid
host=localhost
La directive est bien active.
La mise en place dun front-end HTML comme ACID ou aanval, reste poursuivre, le
manque de temps t un des facteurs principal et aussi mon manque de
connaissance sur les bases de donnes pour achever cette mise en place.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 26 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

XVII. Sources
1. Introduction
Mes recherches sur le sujet se sont orientes principalement sur le Web et toutes ces
informations glanes mont permise de voir la difficult que reprsente la scurit
informatique.
Premire confrence internationale RAID'98 (" Recent Advances in Intrusion Detection ")
http://www.urec.cnrs.fr/securite/articles/confRaid98.html

2. Quelques IDS
http://www.cse.sc.edu/research/isl/mirrorSobireys.shtml

3. Prsentation
On appelle IDS (Intrusion Detection System) un mcanisme coutant le trafic rseau
de manire furtive afin de reprer des activits anormales ou suspectes et
permettant ainsi d'avoir une action de prvention sur les risques d'intrusion.
http://www.commentcamarche.net/detection/ids.php3
http://www.urec.cnrs.fr/securite/articles/confRaid98.html
http://www.zdnet.fr/entreprise/service-informatique/serveursstockage/0,50007198,39193530,00.htm
http://www.acme.ibilce.unesp.br/
http://www.nswc.navy.mil/ISSEC/CID/
http://etudiant.univ-mlv.fr/~fcikala/IDS/IDSPres.html

4. Pare-feu et systme de dtection d'intrusions : Une architecture revoir


http://www.01net.com/article/209494.html

5. Snort concurrence les outils de dtection d'intrusion commerciaux.


http://www.01net.com/article/193028.html
http://www.snort.org

5.1 Avenir de snort dans le monde libre?


http://www.net-security.org/article.php?id=840

http://www.secuobs.com/news/20102005-snort-nessus.shtml
http://www.greyhats.org/?2005/10/06/166-checkpoint-rachete-snort

5.2 Forum
Rdaction par : Slimane Tanji
Validation par : Marc CANNAC

Snort

Page 27 sur 29

Type de document :
Rapport de synthse

TSRITE 03
14/09/2006

Mise en place dune sonde rseaux

http://www.linuxforum.com/forums/index.php?s=e4a813ddf7af4c4eab7564c9edbc08b2&sho
wtopic=164230&st=0&#entry711835
http://www.vulnerabilite.com/forum/viewtopic.php?id=141
http://www.idseurope.org/fr/netjoin.htm

5.3 Installation
Snort sinstaller aussi bien sur les plateformes Linux que Microsoft Windows
Guide dinstallation Windows
http://www.winsnort.com/modules.php?op=modload&name=Sections&file=index&req=view
article&artid=4&page=1
http://www.securitydocs.com/library/2708
Guide dinstallation Linux
http://www.linux-pour-lesnuls.com/snort.php
http://www.sans.org/rr/whitepapers/detection/360.php

5.4 Faille
http://www.vulnerabilite.com/actu/20051019015005faille_snort_Back-Orifice.html
http://www.frsirt.com/bulletins/2391
http://www.lesnouvelles.net/articles/vulnerabilites/751-snort-vulnerable-via-back-orifice.html

5.5 Rgle de snort


http://www.groar.org/trad/snort/snort-faq/writing_snort_rules.html

Le livre Snort et les IDS voir au credo

Scurise son rseau, cest avant


tout le connatre.

6. Informations sur les vulnrabilits


http://nvd.nist.gov/
http://cve.mitre.org
http://xforce.iss.net
https://cirdb.cerias.purdue.edu/coopvdb/public/

6.1 Les informations sur lactualit en scurit


http://www.actusecu.info/
http://www.certa.ssi.gouv.fr/

7 Statistique sur les attaques dans le monde


http://www.dshield.org/

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 28 sur 29

Type de document :
Rapport de synthse

Mise en place dune sonde rseaux

TSRITE 03
14/09/2006

XVIII. Conclusion et perspectives.

Ce travail ma permis de dcouvrir un outil libre de dtection dintrusion trs puissant.


De nombreux problmes ont t rencontrs et pour la plupart surmonts pour
llaboration de ce projet. Principalement, des difficults rencontres lors de
linstallation des RPM et le nombre important des paquetages complmentaires
snort quil faut installer et bien configurer.
Ce projet rpond en partie au cahier des charges il manque bien entendu la
visualisation dans un front end. Comme jai dit plus haut un manque de temps pour
mettre cette application en marche.

Comme perspective ce travail, je prconise lintgration de iptables et de


transformer snort vers un IPS systme de prvention dintrusions. Et dinstaller un
systme qui vrifi lintgrit du systme de fichier comme Tripwire, en vue de
scuriser la sonde.

Rdaction par : Slimane Tanji


Validation par : Marc CANNAC

Snort

Page 29 sur 29