Comment monitorer la suppression des fichiers sur Linux ?

By | December 24, 2019

 

Selon certaines situations, des fichiers peuvent être supprimés de façon non autorisée sur votre système. Soit par des malwares qui essaient d’effacer leur trace, ou par des utilisateurs ayant abusé de leur privilège sudo.
auditd est un outil qui peut vous aider à investiguer très facilement tout ce qui se passe sur votre système.

Aujourd’hui, nous verrons comment cet outil très intéressant peut nous servir à monitorer la suppression des fichiers sur Ubuntu Bionic Beaver.

NB:
Notez que auditd est également disponible sur les systèmes basés sur Red Hat.


Installation

Pour installer auditd, il vous suffit d’exécuter la commande suivante :

# apt-get install auditd


Démarrez le service, puis activez son démarrage en même temps que celui du système.

# systemctl enable auditd –now

Vérifiez que le service est bien en marche.

Configuration des règles d’audit

Il existe deux façons de configurer les règles d’audit. Soit de façon temporaire à travers l’exécutable auditctl ou via le fichier /etc/audit/rules.d/audit.rules pour rendre les règles permanentes sur le système.

Ci-dessous le fichier d’aide d’auditctl:

Les lignes ci-dessous insérées dans le fichier /etc/audit/rules.d/audit.rules nous permettront de monitorer tous les fichiers et dossiers supprimés et renommés dans les dossiers /root et /etc.

L’option -a permet d’ajouter une nouvelle règle. Dans notre example nous précisons que cette règle doit être déclenchée à la fin de l’appel système.

L’option -F permet de choisir l’un des 64 champs qui vous permettront de créer vos règles. Dans notre exemple, nous choissons le champ dir à travers lequel nous insérerons le chemin absolu du dossier à monitorer. Huit connecteurs logiques sont également supportés avec ces champs (=,!=,<,>,<=,>=,&, &=).

L’option -S sert à préciser les appels systèmes recherchés. Pour consulter l’ensemble des appels systèmes sur Linux, cliquez sur ce lien.

Enfin l’option -k permet quant à elle de créer une clé de filtrage qui nous permettra d’identifier les règles nouvellement créées.

Après avoir configuré vos règles d’audit, redémarrez le service auditd et assurez-vous que les règles sont bien en exécution à l’aide de la commande auditctl -l.

Pour afficher les évènements liés aux règles que vous avez créées, vous pouvez vous servir de ausearch.

# ausearch -k mot-clé

Respectivement encadrés en rouge:

_ Le nom du fichier supprimé,
_ Le numero de l’appel système (qui correspond ici à la suppression de fichier),
_ L’utilisateur originel (ici à l’id 1000) qui s’est loggué au système et qui a par la suite sans doute élévé ses privilèges,
_ L’utilisateur qui a démarré le processus de suppression du fichier (ici à l’id 0, en occurence root).

 

Forwarding vers syslog

Par défaut les évènements d’audits sont forwardés vers le fichier /var/log/audit/audit.log.

Pour un souci de centralisation de logs et aussi de corrélation de données, vous aurez peut-ête besoin de forwarder les logs vers un serveur syslog centralisé.

Pour transférer localement les messages d’audit vers le fichier utilisé par syslog (/var/log/syslog), il vous faudra modifier tout simplement le fichier /etc/audisp/plugins.d/syslog.conf. Accédez au fichier, puis assurez-vous que la valeur de l’option active est yes.

Un redémarrage du service auditd et les nouveaux logs générés apparaîtront automatiquement dans le fichier /var/log/syslog. Problem solved. 🙂

 

Source: https://linux.die.net/man/8/auditctl

mdestroy

Leave a Reply

Your email address will not be published. Required fields are marked *