Cette page est en cours de rédaction.
Apportez votre aide…
Ceci est une ancienne révision du document !
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.
Installation
Par dépôt
Par Compilation
Pour ceux qui voudraient faire l'installation en le compilant c'est ici : System-linux.eu (catégorie sécurité)
Configuration
- É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
- 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.
- 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.
- Insérez un commentaire a 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
- Ouvrez un autre terminal en root (sudo -s) et placez vous dans le fichier /etc/snort/rules
cd /etc/snort/rules
- 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 installer Snort sur des centaines de serveurs, on veut toujours gagner un peu plus de temps ici et la.
- É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 detail sur "pourquoi bloquer certaines regles?" 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
- Snort Inline - solution officielle, désormais intégrée dans snort : compiler avec l'option –enable-inline
-
Monitoring compatible snort
Liens
Ressources
Règles :
- (en) Emerging Threats : Communauté maintenant des jeux de règles (rulesets) pour Snort
- (en) Les règles de sagan
- (en) Bleedingsnort
Des interfaces utilisateurs libres (monitoring):
- Sguil - Une interface open source de surveillance de la sécurité réseau
- http://base.secureideas.net/ - Basic Analysis and Security Engine
Tutoriel
Documentation
Contributeurs : David Schwindenhammer