LeaBook Reseau SNORT

  • Upload
    mvondo

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

  • 8/14/2019 LeaBook Reseau SNORT

    1/4

    Installation de l'IDS SNORT

    par julien Lecubin

    Introduction

    Ce document va tenter d'expliquer les diffrentes tapes pour mettre en place le dtecteur d'intrusions SNORT partir des sources. Un dtecteur

    d'intrusions s'appelle aussi "IDS" pour Intrusion Detection System. SNORT est un systme de dtection d'intrusions rseau en OpenSource, capabled'effectuer l'analyse du trafic en temps rel. On l'utilise en gnral pour dtecter une varit d'attaques et de scans tels que des dbordements detampons, des scans de ports furtifs, des attaques CGI, des scans SMB, des tentatives d'identification d'OS, et bien plus.

    Avant de commencer l'installation de SNORT, vous devez avoir install :

    PACKAGES REMARQUES

    MySQL La base de donnes MySQL

    MySQLclient La partie cliente de mysql (connexion BD)

    phpmysql le module php de mysql

    Apache Le serveur web Apache

    mod_php Le module php pour Apache

    libpcap/libpcap0devel Librairie utilise par SNORT pour capturer les paquets (rpm tlchargeable sur rpmfind.net)

    gccindispensable pour compiler les sources de SNORT

    Si vous n'avez pas encore install le trio Apache/PHP/MySQL, il y a un article sur Lea vous expliquant comment le faire. C'est ici.

    Les tapes pour l'installation de SNORT sont les suivantes :

    Installation de l'outil SNORTInstallation des rgles SNORTLiaison Mysql et SNORTMise en place de ACID (Interface php pour visualiser les logs SNORT)

    Installation de SNORT

    Tlchargez la dernire release de SNORT l'adresse suivante : http://www.SNORT.org/dl . La compilation de ce programme reste traditionnelle :

    COMMANDES REMARQUES

    cd /usr/local/snort ...

    tar xvzf SNORT1.9.*.tar.gz Dcompacte l'application

    ./configure withmysql=/usr/lib/mysql Retirez l'argument withmysql si vous ne souhaitez pas rediriger les logs SNORT versune base de donnes mysql *

    make Compilation

    make install Installation

    Pour l'argument withmysql, vous pouvez l'adapter si vous utilisez une base de donnes autre que MySQL :

    withodbc=$PATH_ODBC : pour une base de donnes Microsoft SQL serverwithpostgresql=$PATH_POSTGRE : pour une base PostegreSQLwithoracle=$ORACLE_HOME : pour une base de donnes Oracle.

    Installation des rgles SNORT

    Maitenant, il faut tlcharger les rgles de SNORT. En effet, SNORT utilise des rgles pour dtecter les intrusions. Il existe aujourd'hui environ 1200rgles diffrentes. Ces rgles se caractrisent par un ensemble de fichiers (ftp.rules, p2p.rules,telnet.rules etc...). Vous devez tlchargez les sourcesde ces rgles l'adresse suivante :http://www.SNORT.org/dl/signatures

    Crez le rpertoire de configuration SNORT, et installezy les rgles :

    COMMANDES REMARQUES

    mkdir /etc/snort Cration du rpertoire contenant la configuration SNORT

    cp /usr/local/snort*/etc/snort.conf /etc/snort Copie du fichier de config snort dans /etc/snort

    cp snortrules.tar.gz /etc/snort Mise en place des rgles dans le rpertoire de configuration SNORT

    cd /etc/snort On se place dans le rpertoire de configuration SNORT

    tar xvzf snortrules.tar.gz Dcompactage des rgles

    Les rgles SNORT sont alors places dans le rpertoire /etc/snort/rules .

    Installation de l'IDS SN

    1

    http://www.snort.org/dl/signatureshttp://www.snort.org/dl/signatureshttp://www.snort.org/dlhttp://apache_php_mysql.php3/http://www.rpmfind.net/mailto:guitarparts%20chez%20fr%20point%20st
  • 8/14/2019 LeaBook Reseau SNORT

    2/4

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

    var HOME_NET [10.1.1.0/24] # SNORT travaille sur le rseau 10.1.1.0

    var HOME_NET (10.1.1.0/24,192.168.1.0/24] # Si votre carte rseau possde 2 alias

    Dans le fichier de configuration de SNORT (/etc/snort/snort.conf ), vous avez toute 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, ... Bref, commentez celles que vous ne voulez pas etdcommentez celles qui vous parait utile. Conseil : Dcommentez les rgles ICMP, car elles ne cessent pas de vous remonter des alarmes trssouvent inutiles.

    Pour des explications plus dtailles concernant les rgles SNORT, allez voir ici.

    Lancement de SNORT

    Deux possibilits s'offrent nous. Soit vous lancez SNORT tout seul, et dans ce cas, il gnerera ces logs dans un fichier plat. Soit vous dcidez del'interfacer avec une base de donnes. Suivant le cas, SNORT ne se lancera pas de la mme faon.

    Sans Mysql :/usr/local/snort*/src/snort c /etc/snort/snort.conf i eth0 D

    Avec Mysql :/usr/local/snort*/src/snort c /etc/snort/snort.conf

    Remarque : Si vous souhaitez interfacer SNORT avec une base de donnes, ne lancez pas SNORT avec l'argument L qui spcifie l'emplacement deslogs.

    Lier les logs SNORT avec MySQL

    Maintenant, nous allons diter le fichier de configuration de SNORT afin de lui indiquer qu'il faut rediriger les logs dans une base de donnes (iciMySQL). Avec vos yeux de lynx, retrouvez la ligne suivante dans le fichier de configuration SNORT /etc/snort/snort.conf :

    #output database:log,mysql,user=root password=test dbname=SNORT host=localhost

    Dcommentez et modifiez cette ligne par :

    output database:log,mysql,user=user_snort password=snort_pwd dbname=snort host=localhost

    Ici, l'utilisateur MySQL accdant la base de donnes s'appelle "user_snort", son password associ est "snort_pwd", le nom de la base MySQL utilisepar snort est "snort" et la machine qui fait tourner la base Mysql est la mme que celle o SNORT tourne.

    Cration de la base de donnes SNORT

    Au pralable, assurezvous d'avoir install :

    PACKAGES REMARQUES

    MySQLclient* partie cliente de MySQL

    MySQLdevel*

    Astuce : La commande "rpm qa | grep client" vous permet de vrifier que votre station Linux possde bien ces packages installs.

    Suivez alors les instructions suivantes :

    COMMANDES REMARQUES

    cd /usr/local/snort*/contrib on se place l'endroit du fichier contenant les tablesSQL de SNORT

    mysql u root p Connexion la base de donnes en tantqu'administrateur (au passage, si ce n'est pas encorefait, dfinissez un password pour l'administrateur de labase par la commande 'set password forroot@localhost=PASSWORD('totomdp');

    create database SNORT; Cration de la base de donnes SNORT

    use mysql; On se place ici pour crer l'utilisateur MySQL qui grerala base de donnes snort

    insert into user values('localhost', 'user_snort',

    password('snort_pwd'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',

    'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '',

    '', '', 'Y', 'Y', 'Y');

    Cration utilisateur MySQL "user_snort". Attention lenombre de 'Y' dpend de votre version de MySQL. (faites

    un select * from user; pour voir combien il faut enmettre)

    Lancement de SNORT

    2

    http://www.groar.org/trad/snort/snort-faq/writing_snort_rules.htmlhttp://www.groar.org/trad/snort/snort-faq/writing_snort_rules.html
  • 8/14/2019 LeaBook Reseau SNORT

    3/4

    grant ALL PRIVILEGES ON SNORT.* TO user_snort@localhost IDENTIFIED

    BY 'snort_pwd' WITH GRANT OPTION;

    Attribution des droits de la base "snort" l'utilisateur"user_snort"

    flush privileges; Recharge les tables de droits pour prendre en compteles nouvelles modifications

    use snort; on se place dans la base o l'on veut crer les tablespour SNORT

    Source create_mysql Cration des tables pour SNORT

    Vrifiez que les tables sont bien cres. Allez voir dans /var/lib/mysql/snort et vous y verrez tout un tas de fichiers correspondant au nom destables de la base de donnes SNORT (il doit y avoir 3 fichiers par tables).

    Lancez SNORT. Dsormais, SNORT envoie les informations dans la base de donnes (astuce : installez PhpMyAdmin, et vrifiez la taille de la base dedonnes SNORT. Si tout fonctionne, vous la voyez augmenter si bien videmment il y a du trafic !).

    Installation/Configuration ACID

    ACID est une interface PHP qui permet de visualiser les remontes d'alarmes gnres par SNORT. Cette partie sousentend que vous avez unebase de donnes qui rcupre les informations envoyes par SNORT. Avant de suivre l'installation de cette application, assurezvous d'avoirtlcharg :

    Adodb : Contient des scripts PHP gnriques de gestion de bases de donnes. L'installer dans la racine d'apache (/var/www/html/adodbpar exemple)

    PHPlot : librairie de scripts PHP utilise par ACID pour prsenter graphiquement certaines donnes statistiques (optionnel)

    Le tlchargement de ACID se fait ici. Imaginons que la racine de votre serveur web est /var/www/html. Installez ACID dans la racine d'apache :

    COMMANDES REMARQUES

    cd /var/www/html Placezvous dans la racine du serveur web

    tar xvzf acid* Dcompactage de ACID

    tar xvzf adodb* Dcompactage de AdoDB

    tar xvzf phplot* Dcompactage de PHPlot

    vi /var/www/html/acid/acid_conf.php Renseignez les champs suivants :

    $DBlib_path="../adodb";

    $Chartlin_path="../phplot";alert_dbname="snort"

    alert_host="localhost"

    alert_user="user_snort"

    alert_password="snort_pwd"

    Voil, maintenant vous pouvez vrifier que ACID est bien configur (allez voir sur http://localhost/acid). Si vous le souhaitez, L'accs peut se faire viacertificat SSL de manire crypter l'change entre vous et le dtecteur d'intrusions.

    Sachez que ce document a pour but de vous apporter quelques lments de rponse concernant l'installation et la configuration de l'IDS SNORT. Il estloin d'tre parfait. Vos remarques sont les bienvenues. Je prvois de modifier le prsent document suivant les remarques que vous y apporterez.

    Pour me contacter : guitarparts chez fr point st

    Installation/Configuration

    3

    http://php.weblogs.com/adodbmailto:guitarparts%20chez%20fr%20point%20stmailto:guitarparts%20chez%20fr%20point%20sthttp://localhost/acidhttp://www.andrew.cmu.edu/~rdanyliw/snort/snortacid.htmlhttp://www.phplot.com/http://php.weblogs.com/adodb
  • 8/14/2019 LeaBook Reseau SNORT

    4/4

    Installation/Configuration ACID

    4