Archives pour l'étiquette mod_security

Sécurité : Installation de l’IDS Prelude sur debian

Plop à tous …
Aujourd’hui je suis en forme alors … je fait un « gros tuto » ^^ from scratch, comme très peu de tuto sont à jour de ce côté là autant tout faire de zéro ;).

[La super intro trop naze]
Je dois tout d’abord avouer que je savais pas trop ce que c’était un IDS avant que je l’installe ^^ (enfin j’avais une petite idée, mais je ne m’attendais pas à un truc aussi complet avec prelude). Donc voilà ça sert à quoi ?? ça permet d’avoir une idée des menaces/évènement en « temps réel » sur votre réseau/machine, et avec prelude on peut faire pas mal de chose, que ce soit suivre l’authentification des utilisateurs sur le réseau jusqu’à la détection d’attaque sur un service en particulier (http, avec la possibilité de coupler la chose avec le mod_security), ou bien la « préparation » d’une attaque avec la détection des « Services Recognition » et encore plein d’autre réjouissance.

Pourquoi j’installe ça ?? C’est toujours et encore pour le super projet de licence en Dev ^^ (et ouai on fait du réseau en Dev :D). Et comme je savais que j’allais faire un tuto dessus, je me suis mis de côté la manipulation (ça peut toujours me servir).

Donc voilà, pour ce tuto il nous faut au moins un serveur (avec plusieurs se serait le pied, car on peut faire un truc tentaculaire en connectant plusieurs sondes/logger sur le prelude-manager, ce qui peut être très intéressant sur un grand réseau).
[/La super intro trop naze]

Pour commencer l’installation … tout débute par un gentil apt-get install comme toutes les histoires d’amour à la debian … par contre je vous conseil pas d’éxecuter la commande direct … autant y aller paquet par paquet (en suivant le tuto quoi …), parce que certain mettent pas mal de temps à s’installer.

Sinon, pour les barbares …
[sourcecode language=bash]apt-get install mysql-server prelude-manager prelude-lml prelude-correlator prewikka libapache2-mod-python librelude-dev snort-rules-default arpwatch screen[/sourcecode]

Donc vous remarquerez qu’il faut :

  • Un serveur apache (pas vraiment obligatoire, mais c’est super sympa avec prewikka) avec le mod python (et le mod_security si votre serveur est destiné à héberger des applications web)
  • Un serveur mysql (ça c’est malheureusement obligatoire, j’aurais bien voulu m’en passer mais bon …).
  • Prelude-lml est un logiciel qui va parser tous les logs (ou presque … faut configurer la chose quoi) de votre machine (on peut l’installer sur tous les serveurs d’un réseau, histoire d’avoir un bon suivi)
  • Prelude-manager est un logiciel qui s’occupe de tous centraliser (la logique voudrait qu’on en install qu’un seul ^^).
  • ArpWatch permet de détecter certaine attaque de type arp poisonning (assez sympa …)
  • Snort-rules-default qui contient pas mal de règle de détection …
  • Screen qui sera juste utilisé pour l’installation qui peut être longue … très longue 😉

Vous aurez remarqué que l’on installe pas snort … on compilera la version dont on a besoin dans un autre tuto plus tard.
Donc première chose que l’on fait :

[sourcecode language=bash]apt-get install mysql-server prewikka libapache2-mod-python librelude-dev snort-rules-default arpwatch screen[/sourcecode]

Répondez bien à toutes les questions (genre mots de passe de base de données, gardez-les dans un coin)

Installation de prelude-manager
[sourcecode language=bash]
apt-get install prelude-manager
[/sourcecode]
Lorsqu’il en est à :
prelude-manager
ça peut durer plusieurs minutes (pour ma part 20 minutes) … donc vous pouvez aller jouer à WoW … (on peut pas avancer sans lui …).

Installation de prelude-lml
Une fois le truc d’au-dessus terminé :
[sourcecode language=bash]
screen -S registration-lml
prelude-admin registration-server prelude-manager
[/sourcecode]
Cette commande vous donne un mot de passe qu’il faudra noter (c’est un One Time Password, c’est un mdp unique … c’est pour ça qu’il est resté dans le screenshot, il n’est plus valable ;)) … ce qui doit vous donner :
prelude-registration-server
On fait un Ctrl+a et ensuite d pour détacher la console et lancez

screen -S register-lml
apt-get install prelude-lml
prelude-admin register prelude-lml "idmef:w admin:r" 127.0.0.1 --uid 0 --gid 0

et voilà … vous pouvez jouer à WoW pendant une heure ou deux, puis lorsque la dernière commande vous demande un mot de passe :
prelude-otp-lml
Rentrez le mot de passe que vous avez noté, puis faites faite de nouveau Ctrl+a puis d et faite un screen -r registration-lml.
Il vous demandera si vous voulez autoriser la connexion, répondez y :
prelude-manager-otp-registration
Qui vous donnera normalement ceci :
registration-prelude-manager-ok

Tapez exit puis screen -r register-lml et si vous avez un beau Successful qui s’affiche c’est bon …
successful-prelude-lml
Tapez exit et passez à la suite …
C’est bon z’avez suivi ??? On continu ^^.

Installation de prelude-correlator

C’est pareil qu’au-dessus (et il ne me semble pas très utile donc vous pouvez zapper ^^), sinon :
[sourcecode language=bash]
screen -S registration-correlator
prelude-admin registration-server prelude-manager
[/sourcecode]
Notez le mot de passe et faites Ctrl + a puis d pour détacher le terminal et faites :

screen -S register-correlator
apt-get install prelude-correlator
prelude-admin register prelude-correlator "idmef:w admin:r" 127.0.0.1 --uid 0 --gid 0

et voilà … vous pouvez ENCORE jouer à WoW pendant une heure ou deux, puis lorsque la dernière commande vous demande un mot de passe rentrez celui que vous venez de noter.
Puis faites Ctrl + a et d puis screen -r registration-correlator et répondez y … si vous avez un beau Successfull qui s’affiche c’est bon … Je vous avez prévenu c’est du déjà vu ^^.

Donc maintenant on peut faire :
[sourcecode language=bash]
/etc/init.d/prelude-manager start
/etc/init.d/prelude-lml start
/etc/init.d/prelude-correlator start #si vous l’avez installé
[/sourcecode]
Et maintenant on passe à un truc cool histoire de se détendre les yeux avant de passer à la compilation de snort …

Installation de prewikka :

C’est un superbe frontend écrit en perl qui permet d’avoir l’ensemble des informations récupéré d’un coup d’oeil. Normalement, vous l’avez installé avec l’apt-get d’avant donc y’a juste à rajouter le module python dans apache (a2enmod python) et rajouter ce superbe VirtualHost à faire pâlir grand-mère :

Changez bien sûr le servername …


ServerName prewikka.mondomaine.org
ServerAdmin admin@domain.com

SetHandler mod_python
PythonHandler prewikka.ModPythonHandler
PythonOption PrewikkaConfig /etc/prewikka/prewikka.conf


SetHandler none

Alias /prewikka /usr/share/prewikka/htdocs
Alias /htdocs /usr/share/prewikka/htdocs

C’est violent hein ?? AVANT de redémarrer apache (sinon vous tomberez sur une page blanche qui boucle) ouvrez le fichier /etc/prewikka/prewikka.conf donnez les info de votre base de données renseignez normalement lors de l’installation de prelude-manager (si vous ne vous souvenez plus du mot de passe, regardez du côté de /etc/prelude-manager/prelude-manager.conf).

puis un gentil /etc/init.d/apache2 restart et logguez vous sur la page via le compte admin avec le mdp admin. Vous ne devriez pas avoir grand chose pour le moment … si ce n’est les deux logiciels « prelude-manager » et « prelude-lml ».

Voilà … la suite sera pour plus tard … sinon c’est l’indigestion …