Snort Part 1 : Installation sur CentOs 6 (64bit)

 

VERSION DE L’ARTICLE DEPRECATED, RENDEZ VOUS A CE LIENS :

Snort est un IDS (intrusion detection system) sous GNU GPL, édité par Sourcefire.
Son but va être de sonder le réseau à la recherche d’actions malveillantes tels que le scan de port, le tentatives d’OS fingerprinting, etc, et de nous avertir.

Je vais vous expliquer comment installer Snort sur une machine CentOs 6 ( 64 bit ).

Tout dabord, il faut installer le repo EPEL :

# wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# vi /etc/yum.repos.d/rpmforge.repo
Nous ajoutons les lignes suivantes :
[rpmforge]
name=RPMforge RPM repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el6/en/$basearch/rpmforge/
gpgcheck=1
enabled=0
Nous allons installer tous les packages nécessaires à la bonne installation de Snort :
# yum -y install gcc make rpm-build autoconf automake flex libpcap-devel bison libdnet libdnet-devel mysql-devel mysql* pcre-devel php-mysql
Puis installer le DAQ ( Data AcQuisition library ) qui va servir à snort pour la capture des packets :
# cd /root
# wget http://www.snort.org/downloads/1406
# mv daq-0.6.2-1.src.rpm\?AWSAccessKeyId\=AKIAJJSHU7YNPLE5MKOQ\&Expires\=1331498335\&Signature\=feJnLudotPf4D9bI3OYrbODQKVM\= daq-0.6.2-1.src.rpm
# rpm -Uvh daq-0.6.2-1.src.rpm
# cd rpmbuild/SPECS
# sed -i ‘s/\/lib\//\/lib64\//g’ daq.spec
# rpm -Uvh ../RPMS/x86_64/daq-0.6.2-1.src.rpm
Maintenant, passons à l’installation de Snort :
# wget http://www.snort.org/downloads/1414
# mv snort-2.9.2.1-1.src.rpm\?AWSAccessKeyId\=AKIAJJSHU7YNPLE5MKOQ\&Expires\=1331498624\&Signature\=dpkmcpx3hWmfI9Hqvn8xPuOaIdY\= snort-2.9.2.1-1.src.rpm
# rpm -Uvh snort-2.9.2.1-1.src.rpm
# cd rpmbuild/SPECS
# vi snort.spec
Après ses lignes :
SNORT_BASE_CONFIG=”–prefix=%{_prefix} \
                   –bindir=%{_sbindir} \
                   –sysconfdir=%{_sysconfdir}/snort \
                   –with-libpcap-includes=%{_includedir} \
                   –enable-decoder-preprocessor-rules –enable-targetbased \
Ajouter :
                   –enable-zlib \
                   –enable-ipv6 \
                   –enable-normalizer \
Puis :
# ln -s /usr/lib64/mysql /usr/lib/mysql
# rpmbuild -bb –with mysql snort.spec
# rpm -Uvh ../RPMS/x86_64/snort-2.9.2.1-1.x86_64.rpm ../RPMS/x86_64/snort-mysql-2.9.2.1-1.x86_64.rpm
Ensuite, nous passons à la création de la database snort :
# mysql -u root -p
> create database snort;
> grant all privileges on snort.* to snort@localhost identified by ‘password’;
> flush privileges;
> exit
# mysql -u snort -p snort < /usr/share/snort-*/schemas/create_mysql
Ensuite, nous allons configurer Snort :
# wget http://labs.snort.org/snort/2912/snort.conf
# mv snort.conf /etc/snort/
#vi /etc/snort/snort.conf
// modification ligne 39 :
ipvar HOME_NET 192.168.1.0/24
// modifier la ligne dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/
dynamicpreprocessor directory  /usr/lib64/snort-2.9.2.1_dynamicpreprocessor/
//modifier la ligne /usr/local/lib/snort_dynamicengine/libsf_engine.so
dynamicengine /usr/lib64/snort-2.9.2.1_dynamicengine/libsf_engine.so
// commenter la ligne 177 :
#dynamicdetection directory /usr/local/lib/snort_dynamicrules
// ligne 376, indiquez les paramètres de connexion à la DB.
output database: log, mysql, user=snort password=password dbname=snort host=localhost
puis changer tous les $RULE_PATH en /etc/snort/rules
# vi /etc/sysconfig/snort
// commenter la ligne 69
# ALERTMODE=fast
# vi /etc/logrotate.d/snort
// Ligne 4 : changez comme suit :
/var/log/snort/alert /var/log/snort/*log {
Créer deux fichiers vierges :
# vi /etc/snort/rules/white_list.rules// esc :wq pour enregistrer
# vi /etc/snort/rules/black_list.rules // esc :wq pour enregistrer
S’enregistrer sur le site de Snort, loggez-vous puis allez ici : https://www.snort.org/snort-rules/
Téléchargez, dans la section : registered user, les règles en version 2.9.2.1 ( version de notre Snort ).
Il ne nous reste plus qu’à installer BASE, qui va aller lire les logs de Snort pour les interpréter et nous sortir une lecture claire des logs ainsi que des graphiques :
# yum –enablerepo=epel -y install php-adodb php-pear-Image-Graph
# yum install php-pear php-gd
# pear install Image_Color-1.0.4
# pear install Image_Canvas-0.3.3
# pear install Image_Graph-0.8.0
# wget http://jaist.dl.sourceforge.net/sourceforge/secureideas/base-1.4.5.tar.gz
# tar zxvf base-1.4.5.tar.gz

# mv base-1.4.5 /var/www/base
# chown -R apache. /var/www/base

# cp /var/www/base/base_conf.php.dist /var/www/base/base_conf.php
Puis nous modifions la configuration :
# vi /var/www/base/base_conf.php
// ligne 50: chemin de BASE

$BASE_urlpath = ‘/base’;
// ligne 80: Chemin de adodb
$DBlib_path = ‘/var/www/adodb/’;
// ligne 102 : Paramètres de la DB Snort :
$alert_dbname = ‘snort’;
$alert_host = ‘localhost’;
$alert_port = ”;
// username :

$alert_user = ‘snort’;

// DB password :
$alert_password = ‘password’;
Puis nous créons un fichier pour que nous apache ajoute notre répertoire :
# vi /etc/httpd/conf.d/base.confAlias /base /var/www/base
<Directory /var/www/base/>
   Order Deny,Allow
   Deny from all
   Allow from 127.0.0.1 192.168.1.0/24
</Directory>
Il n’y a plus qu’à redémarrer httpd :
# /etc/rc.d/init.d/httpd restart
Connectez vous à Base : http://votre-ip/base/
Cliquez sur Setup pages, puis ” Create Base AG ” et vous obtiendrez ceci :
BASE sensor Snort
Dans le chapitre suivant, nous étudierons le fonctionnement de Snort, pour l’exploiter au mieux.

About Alexandre Nogard

Check Also

Bash Scripting : Creation de vhosts automatisés avec Certificat Lets Encrypt

Bonjour à tous, Il y a quelques temps, j’avais posté un script bash permettant de …

Owncloud 9.X : Sécurisez votre serveur avec Fail2Ban sur Centos 7.X – Part3

Dans ce tuto, nous allons voir comment protéger Owncloud 9.X des brutes-forces sur les tentatives …

OpenVAS : Configuration & Utilisation sur CentOs 7 – Part 2

OpenVAS est installé sur notre CentOs 7, nous allons maintenant aborder la partie configuration et …

6 comments

  1. Quick, simple, and to the point. I like it.

    A couple of notes though:

    1) We are removing Direct-to-db output in Snort 2.9.3, so you may want to revise your instructions to take advantage of this. Unified2 as output, with barnyard2 reading it and inserting into the db.

    2) Compiling Snort is simply a matter of “./configure –enable-sourcefire”. I’ve ensured everything else is built in now.

  2. Bonjour.j’ai déja essayer d’ installer snort-2.9.2.1 et snort-2.1.0.4 sous centos version
    2.6.32-220.el6.x86_64
    mais je trouve pas le fichier snort dans /etc/sysconfig/

    qu’est ce que je peut faire
    merci d’avance.

  3. HI guys. How can i get second part of this installation ?

  4. Bonjour,
    Dans le cadre d’un travail d’ecole j’ai du installer snort sur un centos 7.2.
    j’ai installé la version 2.9, et cela me semble correct.
    on me demande maintenant de scruter le réseau en cherchant le mot clé “administrator”.
    j’avoue ne pas savoir comment faire.
    merci

Leave a Reply

Your email address will not be published. Required fields are marked *