Architecture
Le type d'IDS que nous avons decidés de mettre en place, par rapport
aux consignes et a l'architecture réseau du mid-lab pendant le rush, est
un "network IDS" (NIDS).
Les machines de chaque VLAN sont reliées par un réseau commuté (switch)
ce qui rend impossible l'installation d'un IDS en parallèle des machines
d'administration.
La solution est donc de placer l'IDS sur une machine en "amont", c'est à dire,
dans notre solution, sur le "routeur" du réseau d'administration.
Avantages:
- Visibilité du traffic réseau pour tout le(s) réseau(x) adressé(s) par
le routeur.
- Détection plus aisée des scans.
- L'IDS ne tombe pas en même temps que la machine attaquée.
Inconvenients:
- L'IDS, sans outils complémentaires, ne peut servir comme rapporteur du
succès ou de l'échec d'une attaque sur une des machine du réseau.
-
Nombre de faux-negatifs plus élevé.
- Quantité d'information plus difficile à analyser.
Schéma du VLAN de défense (administration) comprenant le système IDS:
Configuration du routage:
Afficher la route:
ids# route -n
Ajouter une route:
ids# route add -net 192.168.10.0 netmask
255.255.255.0 gw 10.251.3.145 dev eth0
Retirer une route:
ids# route del -net 192.168.10.0 netmask 255.255.255.0 gw 10.251.3.145 dev
eth0
Configuration du VLAN:
Pour cela, il faut installer le paquet "vlan".
La configuration s'effectue comme ce suit:
ids# vconfig set_name_tye VLAN_PLUS_VID_NO_PAD
ids# vconfig add eth0 2 # VLAN#2
ids# ifconfig vlan2 up
ids# ifconfig vlan2 192.168.10.1 netmask 255.255.255.0
Système
Introduction
Il s'agit d'une base GNU/Linux Debian 3.0 Woody.
Objectif de l'installation:
- Installer un système de détection d'intrusion
sur le routeur
- Rendre sa fonction la plus discrète possible.
- Sécuriser le routeur pour maintenir le
fonctionnement de l'IDS en cas d'attaque.
Configuration
Modification majeures apportées (hors applications IDS) au système de base
pour répondre aux objectifs:
- Utilisation de apt-get pour mettre à jour les dernières versions
des packages ainsi que les mises à jour de sécurité connues pour Debian.
- Mise en place du package GRSec, désactivation de tous les services non
utilisés.
- Application d'un patch "maison" pour rendre l'IDS moins visible depuis
l'extérieur.
- Recompilation Noyau
Patch maison:
Le noyau fourni avec la Debian stable est ancien. De plus, le noyau Linux
est par défaut assez peu securisé. C'est pourquoi, nous avons choisi pour
le pot de miel et l'ids de recompiler un noyau.
La version choisie est la dernière version disponible dans la branche 2.4.
Nous aurions pu choisir la dernière branche stable, a savoir la 2.6,
cependant, deux problèmes se sont posés. Tout d'abord la branche 2.6 est
relativement récente. Elle est donc plus exposée a d'éventuels trous de
sécurité. Ensuite, afin d'améliorer la sécurité du noyau, nous avons décidé
d'appliquer un patch de sécurité.
Il s'agit du patch
grsec. Malheureusement, ce
patch n'est pas encore stable pour la branche 2.6. Nous avons donc installé
la noyau 2.4.25.
De plus, afin de renforcer la sécurité de notre machine, nous avons fait
quelques modifications "personnelles" au noyau.
Notre IDS est sur le routeur des cibles. Un traceroute permet donc de voir
qu'une machine existe entre la cible et l'attaquant. Afin d'etre plus
discret, nous avons modifié notre noyau afin qu'il ne décrémente plus le
ttl des paquets ip qu'il recoit. Ainsi, un traceroute vers la machine cible
ne révèle plus le routeur, et pas conséquent, ne révèle plus notre IDS.
Cependant, en effectuant quelques test, nous nous sommes aperçus qu'une
option de la commande ping, permettait de demander aux routeurs, d'ajouter
au paquet ip reçu, leur ip. Notre précédent patch était donc inutile.
Nous avons donc apporté une seconde modification au noyau afin qu'il
n'ajoute aucune information. Notre machine est donc totalement transparente.
Elle reste cependant disponible directement via son ip.
Options de compilation noyau utilisées sur les IDS:
- activation du support VLAN
- activation du support iptables
- activation du support iptables Masquerading
- activation du support Decnet
- activation du support Netlink
Mesures de sécurisation:
- Suppression des services non utilisés: inetd, rpcs, ...
- Accès à Apache et Exim uniquement en local.
- ssh non accessible en tant que "root"