{{tag>pare-feu sécurité réseau vétuste BROUILLON }}
====== SNORT - Système de détection d'intrusion ======
[[https://www.snort.org/|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 ====
[[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>snort,oinkmaster,snort-rules-default|oinkmaster snort snort-rules-default]]**
==== Par Compilation ====
Pour ceux qui voudraient faire l'installation en le compilant c'est [[https://www.snort.org/downloads|ici]] pour obtenir les dernières sources et [[https://www.snort.org/docs|là]] pour trouver de la documentation.
===== Configuration =====
- [[:tutoriel:comment_modifier_un_fichier|Éditez avec les droits d'administration]] le fichier **/etc/oinkmaster.conf**.\\ Dans la section "Location of rules archive", commentez ((ajoutez un dièse #)) la ligne :#url = https://www.snort.org/dl/rules/snortrules-snapshot-2_2.tar.gzet ajoutez juste en dessous la ligne suivante :url = http://rules.emergingthreats.net/open-nogpl/snort-2.8.4/emerging.rules.tar.gz
- 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.
- Saisissez dans un [[:terminal]] la [[:commande_shell|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 à 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 répertoire **/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 installé Snort sur des centaines de serveurs, on veut toujours gagner un peu plus de temps ici et là.
- [[:tutoriel:comment_modifier_un_fichier|É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 ((ajouter un dièse #))quelques unes (pour plus de détail sur "pourquoi bloquer certaines règles?" reportez-vous au [[https://www.snort.org/|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, [[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt>logcheck,logcheck-database,rkhunter,binutils|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 [[https://forum.ubuntu-fr.org/viewtopic.php?pid=2647403|ce fil du forum]] un autre article sur Snort.
=====Pages connexes=====
====Optimiser snort====
FIXME
==== IPS reseau ====
* [[Snort Inline]] - solution officielle, désormais intégrée dans snort : compiler avec l'option --enable-inline
* [[IPS]] en conjonction de [[snort]] :
* [[http://www.chaotic.org/guardian/|Guardian]] - Active Response for Snort
* [[http://www.snortsam.net/|SnortSam]]
* [[http://snort2c.sourceforge.net|Snort2c]], un fork de snort2pf
* [[https://sourceforge.net/projects/snort2pf|Snort2pf]]
====Monitoring compatible snort====
* [[Prelude]].
* [[https://help.ubuntu.com/community/SnortIDS|tutoriel]] (en) d'installation et de configuration d'AcideBase conjointement à Snort.
===== Liens =====
==== Ressources ====
Règles :
* (en) [[http://www.emergingthreats.net/index.php/rules-mainmenu-38.html|Emerging Threats]] : Communauté maintenant des jeux de règles (rulesets) pour Snort
* (en) [[http://sagan.softwink.com/|Les règles de sagan]]
* (en) [[http://www.bleedingsnort.com/|Bleedingsnort]]
Des interfaces utilisateurs libres (monitoring):
* [[http://sguil.sourceforge.net/|Sguil]] - Une interface open source de surveillance de la sécurité réseau
* [[http://base.secureideas.net/]] - Basic Analysis and Security Engine
====Tutoriel====
* [[http://arnofear.free.fr/linux/template.php?tuto=11&page=1|Tutoriel]]
==== Documentation ====
----
//Contributeurs : **Racoon97**//