MISE EN PLACE DE LA MACHINE IDS STANDARD SOUS DEBIAN WOODY
I. INSTALLATION DE L'OS
Il était demandé d'effectuer une installation par défaut d'une distribution Linux, notre choix s'est donc arrêté
sur une Debian Woody, cela du fait de sa facilité d'installation.
Voici les détails de l'installation de la distribution.
Aucun paramétrages de sécurité particulier, ni d'application de correctifs supplémentaires de sécurité
ont été réalisés sur la machine.
II. CONFIGURATION DE L'ENVIRONNEMENT
Pour une plus grande facilité de mise en place de la machine, un serveur X (XFree86), ainsi qu'un WindowManager
ont(Fluxbox) été installés. En outre, le gestionnaire de package debian (apt-get) a été configuré.
II.1 Configuration du gestionnaire de package
S'assurer que le configuration réseau est correcte (Interface, IP, route).
Dans le cas contraire, voici la marche à suivre (en étant root):
# ifconfig nom_interface IP netmask subnet_mask
# route add default gw IP_gateway
Le binaire apt-get est installé par défaut sur la Debian Woody. Seule reste à faire la configuration de cet
outil.
Tout d'abord il faut exporter certaines variables d'environnement pour pouvoir passer à travers le proxy
de l'école, comme ceci:
# export http_proxy="http://login:pass_socks@proxy.epita.fr:3129"
# export ftp_proxy="http://login:pass_socks@proxy.epita.fr:3129"
On utilise la commande export, car le shell de base sur une Debian est bash.
Pour éviter retaper cela à chaque redémarrage, il est préférable d'ajouter ces deux lignes à son fichier ~/.login.
Ensuite, sous root, il faut éditer le fichier /etc/apt/sources.list et y ajouter les lignes suivantes:
deb http://http.us.debian.org/debian unstable main contrib non-free
deb http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free
# deb http://security.debian.org/ stable/updates main
La ligne aui concerne la sécurité est en commentaire car on ne doit pas appliquer de patch correctif.
On a choisi les packages 'unstable' car aucune contrainte de sécurit´ n'était imposé pour cette machine.
Toutes les commandes relatives à apt-get se font sous root.
Une fois ceci réaliser, il est maintenant possible de mettre à jour la liste des packages disponibles, ainsi
que le numéro de version en tapant:
# apt-get update
Pour chercher un package, sous root:
# apt-cache search nom_de_ce quon_veut
Pour télécharger et installer un package, il suffit de faire:
# apt-get install nom_du_package
Pour retirer un package du système d'exploitation:
# apt-get remove nom_du_package
Pour plus d'information sur apt-get:
http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.fr.html
II.2 Installation de certains packages
La majorité des applications mentionnées dans le sujet nécessitait d'être compilées:
- Le logiciel de détection d'attaques : Snort (http://www.snort.org)
- Le logiciel d'amélioration de Snort : IDS Alert Verification (http://www.cs.ucsb.edu/~wkr/projects/ids_alert_verification/)
- Le logiciel d'analyse de trames : tcpdump (http://www.tcpdump.org)
- Le logiciel de type pot de miel : Honeyd (http://www.citi.umich.edu/u/provos/honeyd)
- Le logiciel d'analyse : Dsniff (http://naughty.monkey.org/~dugsong/dsniff)
- Le logiciel d'analyse : Ettercap (http://ettercap.sourceforge.net)
gcc a donc été installé, par la commande:
# apt-get install gcc
De la même façon, zsh, fluxbox (notre WindowManager fétiche) et emacs ont été intallé
# apt-get install zsh
# apt-get install fluxbox
# apt-get install emacs21
II.3 Installation des différentes applications mentionnées dans le sujet
Voici ce qui a été fait, par ordre chronologique.
II.3.1 Tcpdump
Version installée: 3.8.3
Date de sortie: 30 mars 2004
La tarball a été téléchargée sur http://www.tcpdump.org
tcpdump nécessitant la libpcap, un lien est disponible pour télécharger la bonne version de cette dernière.
Une fois les deux tarballs récupérées, faire:
$> tar zxvf tcpdump-3.8.3.tar.gz
$> tar zxvf libpcap-0.8.3.tar.gz
$> cd libpcap-0.8.3
$> ./configure
$> make
// Sous root
# make install
# exit
$> cd ../tcpdump-3.8.3
$> ./configure
$> make
// Sous root
# make install
tcpdump est à présent installé sur la machine, et près à fonctionner.
II.3.2 Snort
Version installée: 2.1.2
La tarball a été téléchargée sur http://www.snort.org
Une fois celle-ci récupérée, faire:
$> tar zxvf snort-2.1.2.tar.gz
$> cd snort-2.1.2
Snort possède deux dépendances:
Installation de la librairie pcre
Version installée: 4.3
Marche à suivre:
$> tar zxvf pcre-4.3.tar.gz
$> cd pcre-4.3
$> ./configure
$> make
Sous root:
# make install
# exit
Il est nécessaire de modifier la variable d'environnement LD_LIBRARY_PATH de l'user sous lequel on est, afin que la libpcre.so.0
soit trouvée.
$> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Il faut ensuite compiler et installer Snort 2.1.2.
$> cd snort-2.1.2
$> ./configure
$> make
Sous root
# make install
# exit
II.3.3 IDS Alert Verification
IDS Alert Verification quant à lui se présente comme un patch de snort, la version la plus récente est la 0.9.5.1,
or celle-ci nécessite la version Snort 2.1.0. Il faut donc déinstaller Snort 2.1.2.
Fichier téléchargé sur le site de IDS Alert Verification:
* snort-av-2.1.0-0.9.5.1.diff.gz
Puis on récupère la version Snort 2.1.0 sur le site de Snort:
* snort-2.1.2.tar.gz
Application du patch
$> tar zxvf snort-2.1.0.tar.gz
$> cd snort-2.1.0
Mettre le fichier snort-av-2.1.0-0.9.5.1.diff.gz dans le répertoire snort-2.1.0, et faire:
$> zcat snort-av-2.1.0-0.9.5.1.diff.gz | patch -p1
$> ./configure
Installation de IDS Alert Verification
Installer le package wget en faisant sous root:
# apt-get install wget
En effet, lors du configure, des librairies manquantes sont téléchargées grace à wget:
- nessus-libraries version:2.0.8a
- libnasl version:2.0.8a
- nessus-core 2.0.8a
- nessus-plugins 2.0.8a
Les installer à la main.
L'ordre d'installation est le suivant:
- nessus-libraries
- libnasl
- nessus-core
- nessus-plugins
Pour installer:
$> tar zxvf librairie-version.tar.gz
$> cd librairie-version
$> ./configure
$> make<
Sous root:
# make install
Ensuite, il est nécessaire d'éditer sous root le fichier /etc/ld.so.conf et d'y ajouter:
/usr/local/lib/
/usr/lib/
Puis d'exécuter:
# ldconfig
A présent toutes les librairies nécessaires à l'installation de IDS AV sont installées.
Or il n'est pas encore possible de compiler snort-2.1.0, car certaines librairies ne sont pas trouvées, pour palier à ce
problème, il faut des liens symboliques sur certaines librairies (sous root):
# ln -s libssl.so.0.9.6 libssl.so
# ln -s libcrypto.so.0.9.6 libcrypto.so
On est maintenant en mesure de compiler snort-2.1.0:
$> cd snort-2.1.0
$> ./configure
$> make
Sous root
# make install
# exit
I.3.4 Honeyd
Honeyd est un projet ''Pot de miel'' OpenSource développé par Niels Provos. Il permet de déployer des machines virtuelles sur un
réseau (en utilisant les adresses IP laissées libres) et ainsi permet de détecter toute activité frauduleuse sur le réseau.
En allant faire un tour sur le site http://lehmann.free.fr/RapportMain/node60.html,
on apprend que honeyd ne peut fonctionner sans arpd. En effet, celui-ci permet de gérer les adresses IP non attribuées dans le réseau et il redirige les attaques vers Honeyd.
Version installée: 0.8
Installation:
# apt-get install arpd
# apt-get install honeyd
II.3.5 Dsniff
Dsniff est un outil d'audit et de test de réseau. Il permet entre autre de r´cupérer des mots de passe sur le réseau.
Version installée: 2.4
# apt-get install dsniff
II.3.6 Ettercap
Ettercap est un outil d'analyse pour les réseaux switchés.
Il inclus un grand nombre de fonctions pour l'analyse réseau ainsi que d'analyse des hôtes du réseau:
- Os fingerprinting
- Détection des ARP poisoning, et autres poisoning
- Récupérer les mots de passe circulant sur le réseau
Version installée: 0.6b
# apt-get install ettercap
Documentation sur:
II.4 Intégration des applications à l'environnement Debian
Script de lancement de snort
Pour lancer snort au démarrage on ajoute un script dans le répertoire /etc/rcS.d/
Script: /etc/rcS.d/S80snort.sh
#!/bin/sh
/usr/local/bin/snort/ -Dde -c /etc/snort/snort.conf
Script de lancement de honeyd
Pour lancer honeyd au démarrage on ajoute 2 scripts dans le répertoire /etc/rcS.d/, un pour arpd et l'autre pour honeyd:
Script: S91honeyd.sh
#! /bin/sh
/usr/sbin/arpd 192.168.0.0/24
Script: S92honeyd.sh
#! /bin/sh
/usr/bin/honeyd -f /etc/honeypot/honeyd.conf -p /etc/honeypot/nmap-os-fingerprints 192.168.0.6-192.168.0.7 -l /var/honeyd/logfile