SNORT - Système de détection d'intrusion

Snort, maintenu par Sourcefire, est un système de détection d'intrusion libre pour le réseau (ou NIDS) publié sous licence GNU GPL. Sa configuration est gérée par des règles (rules) qu'une communauté d'utilisateur partage librement.
C'est également le cheval gagnant en matière de détection d'intrusion, utilisé par beaucoup d'entreprises et organisations gouvernementales. Snort est un des plus actifs NIDS Open Source et possède une communauté importante contribuant à son succès.

Snort inline est une version améliorée de snort pour en faire un IPS (Système de prévention d'intrusion ), capable de bloquer les intrusions/attaques.

Installation

Par dépôt

Par Compilation

Pour ceux qui voudraient faire l'installation en le compilant c'est ici pour obtenir les dernières sources et pour trouver de la documentation.

Configuration

  1. Éditez avec les droits d'administration le fichier /etc/oinkmaster.conf.
    Dans la section "Location of rules archive", commentez 1) la ligne :
    #url = http://www.snort.org/dl/rules/snortrules-snapshot-2_2.tar.gz

    et ajoutez juste en dessous la ligne suivante :

    url = http://rules.emergingthreats.net/open-nogpl/snort-2.8.4/emerging.rules.tar.gz
  2. Attention cette commande peut nécessiter une adaptation en fonction de la version de snort. Cette version s'obtient à l'aide de
    snort -V

    et l'URL en allant sur le site rules.emergingthreats.net/open-nogpl.

  3. Saisissez dans un terminal la commande suivante :
    sudo oinkmaster -o /etc/snort/rules

    Si vous avez une erreur du type :

    /usr/sbin/oinkmaster: Error: the temporary directory "/var/run/oinkmaster" does not exist or isn't writable by you.

    Créez alors le dossier temporaire indiqué avec la commande :

    sudo mkdir /var/run/oinkmaster

    puis relancez la commande :

    sudo oinkmaster -o /etc/snort/rules

    Oinkmaster va alors se charger de télécharger les règles depuis le site emergingthreats vers /etc/snort/rules. Ce site change souvent de nom et d'URL car les règles étant publiques, toute personne avec de bonnes comme de mauvaises intentions peut y accéder. Malgré tout, ces règles sont très bien faites et emergingthreats dépense beaucoup de temps et d'énergie à nous faire de bonnes règles de détection.

  4. Lancez la commande :
    crontab -e

    pour y ajouter cette ligne :

    55 13 * * 6 /usr/sbin/oinkmaster -o /etc/snort/rules

    Ctrl+o et Ctrl+x pour sauver et quitter le fichier.

  5. Insérez un commentaire à la fin du fichier snort.conf (pour s'y retrouver avec l'insertion des futures règles):
    sudo -s

    puis :

    echo "#EmergingThreats.net Rules" >> /etc/snort/snort.conf
  6. Ouvrez un autre terminal en root (sudo -s) et placez-vous dans le répertoire /etc/snort/rules
    cd /etc/snort/rules
  7. Saisissez puis validez cette ligne de code pour vous simplifier la vie : édition au 20/06/11 : erratum qui fonctionne vraiment :
    for i in `ls emerging*` ; do echo "include \$RULE_PATH/"$i >> /etc/snort/snort.conf ; done;

    Cela va vous économiser une bonne dizaine de minutes en listant, (affichant) et insérant toutes les règles avec le mot "emerging" dans le fichier de conf de Snort. Très pratique, non ? Après avoir installé Snort sur des centaines de serveurs, on veut toujours gagner un peu plus de temps ici et là.

  8. Éditez avec les droits d'administration le fichier /etc/snort/snort.conf.
    Tout en bas du fichier, en dessous de #EmergingThreats.net Rules vous allez voir toutes les règles insérées avec la méthode ci-dessus, il faut en commenter 2)quelques unes (pour plus de détail sur "pourquoi bloquer certaines règles?" reportez-vous au site officiel snort.org) :
    #include $RULE_PATH/emerging-botcc-BLOCK.rules
    #include $RULE_PATH/emerging-compromised-BLOCK.rules
    #include $RULE_PATH/emerging-drop-BLOCK.rules
    #include $RULE_PATH/emerging-dshield-BLOCK.rules
    #include $RULE_PATH/emerging-rbn-BLOCK.rules
    #include $RULE_PATH/emerging-sid-msg.map
    #include $RULE_PATH/emerging-sid-msg.map.txt

Et voilà SNORT est installé et prêt à fonctionner et à guetter toute intrusion.
Démarrez SNORT avec la commande :

sudo /etc/init.d/snort start

Si vous souhaitez pousser la sécurité à son presque maximum dans la branche intrusion, installez les paquets logcheck logcheck-database rkhunter binutils puis lancez RootKit Hunter :

sudo -s
rkhunter -c

Et veillez à prendre chaque message de mise en garde au sérieux…

Vous trouverez sur ce fil du forum un autre article sur Snort.

Pages connexes

Optimiser snort

  • Barnyard2 : Barnyard permet de prendre en charge l’inscription des événements en base de données et libère donc des resources à Snort qui peut davantage se concentrer sur la détection des intrusions.

IPS reseau

Monitoring compatible snort

  • tutoriel (en) d'installation et de configuration d'AcideBase conjointement à Snort.

Liens

Ressources

Règles :

Des interfaces utilisateurs libres (monitoring):

Tutoriel

Documentation


Contributeurs : David Schwindenhammer

1)
ajoutez un dièse #
2)
ajouter un dièse #
  • snort.txt
  • Dernière modification: Le 28/04/2018, 11:16
  • (modification externe)