Des fichiers inhabituelles apparaissent sur votre serveur ? Vous vous demandez comment faire pour découvrir les fichiers PHP ou ASP ajoutés ou modifiés à votre insu ? Ici je vous montre une astuce simple pour découvrir ce genre d’intrusion.


Sachant qu’un site web contient plus des centaines de fichiers ranger dans des dizaines de dossiers, parcourir tout les fichiers du site et lire les centaines de lignes de code/fichier pour détecter un éventuel nouveau code est carrément impossible.

Cependant, comment arriver à surveiller de façon structurée que tel ou tel fichier n’a pas été modifié sur votre serveur ?

C’est la que je vais vous présenter l’outil : AIDE (Advanced Intrusion Detection Environment).

Cet logiciel permet de surveiller l’intégrité d’un système en comparant l’ensemble des fichiers avec une base de données de fichier préalablement créé.

 Le principe d’AIDE est simple. Il s’agit de construire une sorte de base de données de signatures de l’ensemble des fichiers se trouvant sur votre serveur. Aide va créer une base de signatures grâce à des algorithmes d’empreinte cryptographique des fichiers. Périodiquement, AIDE va recalculer les empreintes des fichiers qui peuvent régulièrement changer afin d’avoir une base de données de signatures constamment à jour.

Si les empreintes sont différentes (au niveau du fichier, de sa date, de ses droits d’accès, …), le logiciel détectera une modification de fichiers et en avisera l’administrateur par mail ou par fichier de log suivant la configuration que vous avez mis en place.

Comment installer et utiliser AIDE ( Linux – Debian) ?

1)  Pour installer AIDE, tapez la commande suivante:

#apt-get install aide

2) Nous allons ensuite spécifier quels sont les fichiers et les éléments à surveiller en éditant le fichier de configuration aide.conf.

Exemple pour la ligne : /sbin p+u+md5

Avec cette ligne, AIDE va vérifier les droits (p), le propriétaire (u) et la somme Md5 des fichiers de l’arborescence /sbin.

Le MD5 permet de calculer un hash sur vos fichiers. Si ces fichiers sont modifiés ne serait-ce que d’un bit, le hash deviendra complètement différent.

Pour trouver votre fichier de configuration, vous pouvez utiliser la commande find de la manière suivante :

find / -name aide.conf

3) Ensuite, il faut créer la base donne qui contiendra les empreintes des fichiers. Cette étape risque de prendre une bonne dizaine de minutes.

Notre BDD est maintenant créée.  Comme la base de données peut également être modifiée par le méchant pirate, je vous recommande de placer cette base de données sur une clé USB.

Cas pratique :

Enfin pour tester notre script, on lance la commande suivante afin de vérifier l’intégrité des fichiers indiquées dans le fichiers de configuration :

#aide –check

Si votre fichier de configuration se situe à un autre endroit, vous pouvez le préciser comme ceci :

#aide –check -c /etc/aide/aide.conf

Et là, comme par magie, il vous liste les fichiers qui ont été modifiés ! 🙂

Nous pouvons donc voir qu’AIDE à bien détecté les changements qui ont eu lieu. Bien sur, il est possible d’automatiser ces actions grâce à CRON et même de se faire notifier par mail. Pour les mails, il est nécessaire de démarrer le démon sendmail et de l’installer s’il n’est pas présent sur la machine:

# apt-get install sendmail
# /etc/init.d/
# sendmail start