4.2 Système de détection d'intrusions
(IDS)
Un système de détection d'intrusions (ou IDS :
Intrusion Detection System) est un mécanisme destiné à
repérer des activités anormales ou suspectes sur la cible
analysée (un réseau ou un hôte). Il permet ainsi d'avoir
une action de prévention sur les risques d'intrusion.
4.2.1 Une petite histoire : le voleur, le videur et la
caméra cachée
Pour illustrer ces notions de sécurité, une petite
analogie9 :
Dans cette histoire, le videur peut être faillible et
ne voit pas tout car il y a toujours des malins qui grâce à de
divers techniques tels l'attaque à fragmentation IP, usurpation ou vol
d'identité (adresse IP), trompent le videur.
On peut voir le pare-feu comme un videur devant un casino qui
peut décider d'autoriser ou non en regardant sa tête (ou
en-tête dans le cas d'un pare-feu du type packet filtering)
l'entrée d'une personne, tandis que la détection d'intrusion
serait plutôt une caméra cachée qui peut être
placée à l'entrée ou à l'intérieur du
casino.
Si la caméra cachée filme la personne qui entre et
en procédant à une analyse reconnaît
cette personne, elle va alerter la direction la présence
d'un intrus potentiellement dangereux pour le casino.
La caméra cachée apporte donc un rôle
complémentaire au rôle joué par le videur.
4.2.2 Les deux familles de systèmes de
détection d'intrusion
Il existe deux grandes familles distinctes d'IDS :
|
Les N-IDS (Network Based Intrusion Detection System),
qui surveillent l'état de la sécurité au niveau du
réseau.
Les H-IDS (HostBased Intrusion Detection System), qui
surveillent l'état de la sécurité au niveau des
hôtes.
|
|
Ce qui distingue fondamentalement ces deux types d'IDS, c'est
leur mode de fonctionnement :
Le premier mode s'appuie sur des
bibliothèques de signatures (approche par scénario). La
démarche d'analyse est similaire ã celle de l'antivirus quand
ceux-ci s'appuient sur des signatures d'attaques. Ainsi, l'IDS est efficace
s'il connaît l'attaque, mais inefficace dans le cas contraire. Les outils
commerciaux ou libres ont évolué pour proposer une
personnalisation de la signature afin de faire face à des attaques dont
on ne connaît qu'une partie des éléments. Les outils
à base de signatures requièrent des mises à jour
très régulières.
Le second mode de fonctionnement
des IDS s'appuie sur une analyse comportementale. Un H-IDS se comporte comme un
daemon ou un service standard sur un système hôte qui
détecte une activité suspecte en s'appuyant sur une norme. Si les
activités s'éloignent de la norme, une alerte est
générée. Au préalable, l'IDS doit alors apprendre
le comportement du réseau pour établir la norme. L'analyse porte
sur l'usage du réseau (protocoles, volumétrie, horaires
d'activité, congestion et erreurs), l'activité d'une machine
(nombre et listes de processus et d'utilisateurs, et ressources
9 J'ai trouvé cette petite analogie sur
http://www-igm.univ-mlv.fr/~dr/XPOSE2001/liyun/IDS.html
qui m'a bien
fait comprendre le but d'un IDS.
Monitoring d'une infrastructure Linux sur base
d'outils libres
consommées) et l'activité d'un
utilisateur (horaires et durée des connexions, commandes
utilisées, messages envoyés, programmes activés, etc.).
Ces outils s'appuient essentiellement sur des calculs statistiques.
Un autre type d'H-IDS cherche les intrusions dans le «
noyau » (kernel) du système, et les modifications qui y
sont apportées. Certains appellent cette technique « analyse
protocolaire ». Très rapide, elle ne nécessite pas de
recherche dans une base de signature.
Chacun de ces deux types d'IDS s'adresse ã des besoins
spécifiques. Les H-IDS sont particulièrement efficaces pour
déterminer si un hôte est contaminé et les N-IDS permettent
de surveiller l'ensemble d'un réseau contrairement ã un H-IDS qui
est restreint à un hôte.
Snort est un IDS.
4.3 Nessus
Nessus est un outil de sécurité informatique. Il
signale les faiblesses potentielles ou avérées sur les machines
testées.
Ceci inclut, entre autres :
les services vulnérables à des attaques
permettant la prise de contrôle de la machine, l'accès à
des informations sensibles (lecture de fichiers confidentiels par exemple),
des dénis de service...
les fautes de configuration (relais de messagerie ouvert par
exemple)
les patchs de sécurité non appliqués, que
les failles corrigées soient exploitables ou non dans la configuration
testée
les mots de passe par défaut, quelques mots de passe
communs, et l'absence de mots de passe sur certains comptes systèmes.
Nessus peut aussi appeler le programme externe Hydra pour attaquer les mots de
passe à l'aide d'un dictionnaire.
les services jugés faibles (on suggère par
exemple de remplacer Telnet par SSH) les dénis de service contre la
pile TCP/IP
support multiplateformes : Linux, FreeBSD, Solaris, Mac OS X,
Windows
Site web du produit :
http://www.nessus.org
4.3.1 Pré requis
? nessus-libraries
? libnasl
? nessus-core
? nessus-plugins
4.3.2 Installation
L'installation est rapide et simple. Il faut juste l'installer
dans l'ordre ci-dessus.
4.3.3 Configuration
Tout d'abord, nous devons ajouter des utilisateurs qui
possèderont des droits. Les utilisateurs
peuvent se connecter via mot de passe ou par certificat (non
testé). Nessus permet éventuellement
d'en créer.
Une fois cette tâche accomplie, nous pouvons lancer un scan
des PC que l'on souhaite interroger.
4.3.4 Particularité
Nessus se compose d'un serveur et d'un client. Le serveur est
celui qui va scanner les divers ports du PC cible et le client, quant à
lui, donnera les ordres au serveur. Le client peut se trouver sur le serveur ou
être distant.
Il existe des clients sous Windows, Linux et autres OS avec
interface graphique ou en mode console.
4.3.5 Fonctionnement
Lorsqu'un test (testé avec le client Windows) est
terminé, Nessus nous retourne une page web de
résultats avec les différents ports ã
problèmes trouvés. Nessus est composé d'une multitude
de
plugins qui viennent augmenter le nombre de tests vers la machine
cible.
4.3.6 Deux versions
Il existe deux versions de Nessus. Une payante et une gratuite.
La différence se trouve principalement sur les plugins. Lorsqu'on prend
la version payante (1200$), on a accès directement
Monitoring d'une infrastructure Linux sur base d'outils
libres
aux dernières mises à jour et plugins. La version
gratuite sera toujours sept jours en retard par
rapport à la version payante. De plus, avec la version
payante, nous bénéficions du support technique, un accès
ã un portail d'utilisateurs, la possibilité d'avoir des plugins
pour les périphériques
SCADA, et enfin des tests automatiques réguliers vers les
serveurs.
4.3.7 Tests
Voici différents tests que j'ai effectués contre
Windows et Linux.
4.3.7.1 Contre Windows XP SP2
Comme premier test, j'ai essayé d'attaquer un ordinateur
sur réseau local avec le firewall XP SP2
désactivé. Les résultats ne se sont pas fait
attendre : 4 Open Ports (139 - netbios-ssn, 135 - epmap,
icmp, 137 - netbios-ns), 20 Notes, 2 Warnings, 1 Holes
(445 microsoft-ds).
Deuxième test, réactivons le firewall d'XP SP2... A
l'étonnement de tout le monde, aucun problème n'a
été découvert par Nessus.
Troisième test, Windows XP SP2 avec Kaspersky Security
6.0.2 dont le firewall est réglé en mode protection Maximale
(Bloquer toutes les connexions qui ne sont pas autorisées par les
règles). Résultats similaire. Aucun problème si le
firewall est activé.
4.3.7.2 Contre Windows XP SP2 en
local
Tests suivants, ce test un peu plus particulier car il est
effectué en local sur ma machine disposant de Kaspersky.
Premier test, en local avec Kaspersky désactivé :
6 Open Ports, 21 Notes, 1 Warnings, 1 Holes.
Deuxième test, en local avec Kaspersky activé en
Protection Maximale : 2 Open Ports, 15 Notes, 1 Warnings, 1 Holes.
Dernier test, en local avec Kaspersky activé et en
Bloquant tout les trafics : le scan de Nessus ne
voulait tout simplement pas se lancer.
4.3.7.3 Contre des serveurs Linux
J'ai effectué des tests ã l'encontre des serveurs
de la DMZ de chez Manex.
Nessus détectait les ports volontairement ouverts que se
soit HTTP, IMAP(S), SMTP(S), ... Cela dit, les serveurs sont tous
équipés d'iptables rigoureusement paramétrés et de
l'ASA pour le reste. Les seuls réels problèmes, c'est que Nessus
recommandait de désactiver le service SMTP ou de
passer à un service SMTPS.
4.3.8 Conclusion
Dans le rapport que Nessus nous donne après un scan, s'y
trouve non seulement la liste des ports
ouverts, mais aussi des conseils pour régler ces trous de
sécurité. Il est bien entendu possible d'archiver les
résultats, de définir ses propres tests sur des plages de ports
ou via certains types
d'attaques.
4.3.9 Captures d'écran
4.3-1 : Le client Nessus pour Windows 4.3-2 :
Résultats d'un scan (IMAPS)
4.3-3 : Vérifications des patchs de mise à
jour Microsoft 4.3-4 : Différentes possibilités de
scan
Lemaire Geoffrey 32 Haute Ecole Rennequin Sualem
|