Upload
maude-lemaitre
View
106
Download
2
Embed Size (px)
Citation preview
Les IDS
Philippe Sèvre le 10/01/2009
Introduction
• IDS : Intrusion Détection System (Système de détection d’Intrusion)
• Ce sont des logiciels permettant de mettre en évidences les intrusions dans les systèmes
• Il existe actuellement deux types d’IDS :– Les HIDS (Host based IDS)– Les NIDS (Network IDS)
Les HIDS
• Ils sont installés sur une machine et vont permettre de vérifier l’intégrité des fichiers systèmes (binaire, fichiers de configuration, etc)
• Il calculent des sommes md5 des fichiers sensibles et stockent le résultat dans un fichier crypté. Périodiquement, on lance un nouveau calcul d’intégrité ce qui permet de détecter les changement survenus dans les fichiers
HIDS – Suite
• On devrait installer un HIDS sur chaque serveur exposé (en particulier ceux qui se trouvent dans la DMZ)
• C'est le seul procédé sûr permettant de mettre en évidence une intrusion
• Quelques exemples d’HIDS :– Tripwire (http://tripwire.org) : versions Linux et
Windows– Aide (http://www.cs.tut.fi/~rammer/aide.html)– OSSEC
Installation de Tripwire
• Installer le paquetage tripwire• Lancer /etc/tripwire/twinstall.sh• Donner les passphrases • Editer le fichier /etc/tripwire/twpol.txt pour l’adapter
aux besoins• Lancer tripwire –init pour générer la base• Lancer tripwire –check pour vérifier • Pour obtenir un rapport texte :twprint –m r –twrfile /var/lib/tripwire/report/nomdureport.twr
Les fichiers de configuration• tripwire :Permet de créer la base, de vérifier l'intégrité du système,
mettre à jour la base.• twadmin : Permet de créer les clés (du site et local), de créer les
fichiers tw.pol et tw.cfg à partir de leur version texte. Permet de signer des fichiers.
• twprint : Permet de générer le rapport ou la base en texte clair.• twcfg.txt : Fichier de configuration de tripwire. Inchangé
Il se transforme une fois crypté en tw.cfg. • twpol.txt : Fichier contenant les règles de police à appliquer.
Attention aux modifications.Se transforme en tw.pol une fois crypté• twinstall.sh : script qui crée les clés si elles n'existent pas, et qui
crypte les deux fichiers précédents. A réutiliser à chaque modification de l'un d'eux.
Tripwire - Suite• En case de mise à jour des règles (pol) : modifier la version en
claire de ce fichier twpol.txt, puis recréer le fichier crypté avec la commande :
twadmin --create-polfile -S site.key /etc/tripwire/twpol.txt.Puis regénérer la base : supprimer l’ancienne, puis tripwire --init.
• Mise à jour de la base• Pour mettre à jour votre base de données après des modifications
et à partir du rapport d'intégrité, utiliser la commande :tripwire --update --twrfile /var/lib/tripwire/report/nomdurapport.twr . S'ouvre alors le rapport dans l'éditeur vi.
• Cocher les cases pour accepter la mise à jour ou ne pas l'accepter. Sauvegardez et quittez vi avec :x on vous demande alors la passphrase. Une fois cela fait, les fichiers acceptés ne seront plus dans les rapports.
Les NIDS• Ils consistent à analyser les paquets entrant sur
une interface et à détecter en temps réel des motifs répertoriés dans une base (+ de 1200 pour Snort)
• Utilisés en général pour détecter une variété d'attaques et de scans tels que des débordements de tampons, des scans de ports furtifs, des attaques CGI, des scans SMB, des tentatives d'identification d'OS, des DOS, attaques applicatives (SQL injection, …) et d’autres ….
Les NIDS – Suite
• Nécessitent beaucoup de puissance (Attention sur les liens à 100 Mb/s ou Gigabit)
• Doivent être placés sur le port d’entrée • Un NIDS doit être branché sur un HUB après le routeur
ou bien sur un port SPAN (Switch Port Analysis) pour pouvoir récupérer tous les paquets
• Génèrent un gros (ou très gros) volume de log• Produisent également des faux positifs (fausses alertes)• Importance des bases de signatures ...
Les NIDS – suite - 2
• Détection active : en cas de détection d'alerte, on met en oeuvre des règles de protection (filtrage pare-feu iptables, TCP wrapper) : IPS (Intrusion Prevention System)
• Ces actions sont délicates à mettre en oeuvre ..
• Ou passive
Les NIDS - Quelques exemples
• Snort : très utilisé
• Prelude : architecture modulaire
SNORT• Cf http://www.snort.org
• Snort utilise un fichier téléchargeable de règles mises à jour une permanence pour détecter les attaques (+ de 2700 à ce jour)
• Snort peut utiliser mysql ou postgresql pour stocker les logs
• ACID est un add-on permettant d’obtenir des statistiques depuis une interface Web
SNORT – Installation
• Installer le paquetage :– Snort
– Et éventuellement les paquetages mysql et Acid
• Récupérer sur le site de snort le dernier fichier de règles (.tar.gz) et le décompacter dans le répertoire /etc/snort/rules
• En cas d’utilisation de base de données lancer le script create_mysql dans /usr/share/doc/snortxxx
• Éditer le fichier snort.conf
Snort – Paramétrage
• Éditer snort pour adapter :var HOME_NET [172.16.0.0/16]
• Changer éventuellement la redirection des logs pour envoyer dans mysql :
#output database:log,mysql,user=root password=test dbname=SNORT host=localhost
• Décommenter et modifier cette ligne par :output database:log,mysql,user=user_snort
password=snort_pwd dbname=snort host=localhost
SNORT utilisation
• Snort peut fonctionner en renifleur simple :
snort –v
• En NIDS, simplement taper
service snort start
• Ou peut alors aller examiner les logs après avoir lancé un scan avec nmap ou nessus