Surveiller les accès au fichier /etc/passwd avec auditd

I. Présentation

Je vais ici vous présenter une méthode pour surveiller les accès au fichier "/etc/passwd". Je note que je viens de découvrir l'outils qui a l'air de contenir des contextes d'utilisation vraiment étendues et intéressants et qui sert globalement à surveiller (auditer) les accès aux fichiers sous une distribution Linux (En sachant que sous Linux, tout est fichier). Notre contexte d'utilisation sera ici le fichier "/etc/passwd" mais on pourrait tout à fait adapter le tutoriel pour un autre fichier.

II. Installation

Nous allons maintenant installer l’outil (qui est nativement présent sur les distributions CentOS/RHEL).
Sous CentOS :

yum install auditd

Sous Debian :

apt-get install auditd

On retrouvera donc ensuite la configuration d'auditd dans "/etc/audit/auditd.conf" (Je pense que je ferais un tutoriel plus complet pour décrire complètement auditd un peu plus tard) et l'état des règles qui régissent le périmètre de surveillance d'auditd dans "/etc/audit/auditd.rules". On peut noter les règles dans ce fichier puis recharger la configuration ou alors les noter à la volée, auquel cas elles ne survivront pas à un relancement du daemon ou à un redémarrage. Cela suit un peu le fonctionnement d'IPtables pour les connaisseurs.

III. Utilisation concrète

Nous allons maintenant configurer quelques règles qui vont nous permettre de surveiller les accès au fichier "/etc/passwd". On va pour cela aller rajouter quelques lignes dans le fichier contenant les règles de surveillance ("/etc/audit/auditd.rules"). Celui-ci contient déjà deux lignes :

Auditd01

On ajoute donc à la suite de ces lignes la ligne suivante

-w /etc/passwd -p wra -k fichier_login

Concrètement, on demande à audit de regarder ("w" pour watch) les actions "write", "read" et "append" sur le fichier que l'on résumera par "fichier_login". Une fois cette ligne ajoutée, on pourra recharger la configuration d'auditd avec la ligne suivante :

service auditd restart

On pourra regarder que nos règles sont bien prises en compte via la commande suivante :

auditctl -l
  • "-l" pour lister les règles actives

Auditd02

Nous allons alors déclencher un évènement auditd en allant lire le fichier /etc/passwd par exemple avec la commande suivante :

cat /etc/passwd

On va ensuite aller afficher les logs auditd via la commande suivante

ausearch -f /etc/passwd -i

On regarde avec cette commande les évènements loguer par auditd concernant la surveillance du fichier ("-f") /etc/passwd en interpretant les GID et UID affichés ("-i"). Voici le résultat que nous pouvons avoir :

Auditd03

Nous voila avec beaucoup d'informations, on retrouve le fichier lu, on connait le lecteur (UID et GID), l'heure de lecture, etc ... Voilà pour une utilisation brève de cet outil qui, je pense, peut être d'une grande utilité au niveau sécurité si bien maîtrisé !

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d'IT-Connect.fr et d'Information-security.fr. Auditeur sécurité chez Amossys.

    mickael a publié 475 articles sur IT-Connect.See all posts by mickael

    2 réactions sur “Surveiller les accès au fichier /etc/passwd avec auditd

    • 22/02/2014 à 06:39
      Permalink

      Hello,

      apt-get installation –> apt-get install
      audtid –> auditd
      auserach –> ausearch

      Je connaissais pas, fort intéressant ! Merci !

      Tcho !

      Répondre

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *