Description de prelude
A la base, le but d’un IDS est de détecter toutes tentatives d’intrusion, réussies ou non, et d’en faire part à l’administrateur pour qu’il puisse réagir en conséquence (cependant j’ai pu lire qu’il était prévu dans les prochaines versions de Prelude de lui permettre de réagir automatiquement en cas d’attaque, par exemple en changeant les règles du pare feu, etc). Prelude a été conçu dans le but d’être modulaire, souple, et surtout résistant aux attaques. Sa modularité permet notamment de lui rajouter facilement de nouveaux types de détecteurs d’intrusion (Je pense notamment à une libraire appelée ’libsafe’ qui permet de protéger les programmes des buffers overflow en remplaçant certaines fonctions élémentaires, et qui a été modifiée par les concepteurs de Prelude pour en faire aussi un détecteur d’intrusion).
Architecture de prelude
Comme dit plus haut, Prelude utilise notamment deux types de capteurs (qu’on appellera ’sensors’), qui tournent en daemon sur des machines hôtes. Le premier, prelude-nids, offre la possibilité d’écouter le trafic réseau à la recherche d’un schéma d’attaque connu (ou de n’importe quoi d’autre, comme par exemple un Bofh entrain de télécharger des images douteuses). Le second, prelude-lml, analyse constamment les logs de la machine sur laquelle il est lancé, dans le même but que le premier. Ces sensors, lorsqu’ils détectent quelque chose, le rapportent immédiatement au manager.
Prelude-manager
Le manager est un autre daemon généralement associé à une base donnée mysql qui enregistre toutes les alertes données par les sensors. On peut ne pas l’associer à une base de donnée : Dans ce cas, les alertes seront alors enregistrées soit dans un fichier texte, soit dans un fichier xml (les différentes solutions pouvant être utilisées simultanément). Les sensors peuvent envoyer leurs alertes de différentes manières selon les possibilités qu’on leur offre : les deux principales possibilités étant soit par connexions ssl, soit par sockets Unix. Ces alertes sont envoyées dans le format IDMEF qui est un format propre à prelude basé sur le Xml. Une fois l’alerte reçue, le manager peut soit simplement enregistrer celle-ci pour en faire part à l’administrateur, soit faire remonter l’information à un autre manager. Une fois les informations dans la base de données, l’administrateur peut alors utiliser une interface pour en visionner le contenu (l’interface officielle étant actuellement Piwi).
Prelude-nids
Prelude-nids permet d’écouter le trafic réseau à la recherche d’un schéma d’attaque. Si celui-ci est placé sur un routeur, il s’intéressera à tout le trafic qui passe par la machine, et non pas seulement à celui destiné à ladite machine. Il peut être intéressant de savoir que pour réaliser cette petite merveille, les concepteurs de Prelude ont repris les sources de libpcap. Celles-ci ayant été modifiées pour leur besoins, elles ont été directement intégrées à celles de Prelude-nids. Il faut savoir qu’un daemon Prelude-nids ne peut écouter que sur une interface à la fois, et que vous aurez peut-être besoin de lancer plusieurs daemons pour surveiller toutes les interfaces.
Bien entendu, il ne suffit pas d’écouter le trafic, encore faut-il l’analyser : Pour cela, prelude-nids utilise tout un tas de règles (ou rules) dont la syntaxe se base sur celle utilisée pour les règles de Snort (et dont les explications concernant la syntaxe font 5 pages le tout en anglais de barbare).
Prelude-lml
Prelude-lml a pour but d’analyser constamment les nouvelles entrées dans le fichier syslog. Celui-ci offre notamment la possibilité de se comporter comme un daemon syslog (syslogd) pour pouvoir analyser les logs en provenance de diverses machines (comme d’autres Unix, mais aussi éventuellement de systèmes NT).
Pour analyser ces logs, Prelude-lml utilise, comme prelude-nids, un ensemble de règles. Cependant leur syntaxe est propre à prelude-lml et utilise essentiellement des regexps.
Piwi
Il s’agit d’une interface écrite en Perl permettant simplement de visionner les alertes émises, par l’intermédiaire d’un serveur web ainsi que d’un client web. Attention, cette interface ne peut être utilisée que pour visionner les alertes stockées dans une base de données MySQL / PostGreSQL. Si vous choisisez de stocker seulement les alertes dans un fichier texte / xml, vous devrez les manipuler vous-même. Elle permet de supprimer certaines alertes ou de les "reconnaitre", mais elle ne permet pas de configurer un élément de Prelude. Elle propose aussi différents filtres pour ne voir que les alertes qui vous intéressent, la possibilité d’utiliser Geo ::IP pour connaître l’origine géographique des attaques, ainsi que la possibilité de faire, à l’aide de la librairie perl-gd, des graphiques pour se faire une idée des principales attaques. Piwi propose aussi, par l’intermédiaire du fichier .htaccess et des réglages dans le répertoires Profiles, de donner plus ou moins de droits à certains utilisateurs.


Membres : 5296
derniers outils



