Accueil / Articles PiApplications. / Linux.

Compléments au chasseur de rootkits rkhunter.

Le logiciel rkhunter est un logiciel de sécurité basique qui devrait être installé sur toute configuration Linux. En bref, en plus de quelques fonctions spécifiques, il compare le code de hachage des fichiers les plus sensibles à ceux des fichiers courants installés. Il compare également les fichiers systèmes (dont ses propres fichiers de configuration) à ceux installés par le gestionnaire de configuration lorsque ce dernier est déclaré (option PKGMGR par exemple PKGMGR=RPM du fichier /etc/rkhunter.conf).

La vérification du système peut se faire via la commande rkhunter --rwo -c. Cette commande ne devrait rien afficher lorsque tout est correct. Sur une machine qui "vit" cela est rarement le cas. Nous allons examiner le cas de la modification du ficher /etc/rkhunter.conf, celui de l'ajout de sémaphores ou de segments de mémoires partagée (.shm) par certains logiciels comme PostgreSQL et la présence de fichiers cachés "réguliers".

Modification du fichier de configuration.

Il est souvent nécessaire de modifier le fichier /etc/rkhunter.conf comme par exemple pour mettre en adéquation l'autorisation de connexion SSH via le compte root(option ALLOW_SSH_ROOT_USER=yes). La mise à jour de la base de données de rkhunter via l'option --propupdn'est ici pas suffisante car la comparaison se fait via le code de hachage du gestionnaire de paquets. Fort heureusement, il existe une option du fichier de configuration qui permet d'ignorer la comparaison d'un fichier donné avec celui installé par le gestionnaire de paquets : PKGMGR_NO_VRFY. Dans notre exemple il faudrait ajouter au fichier de configuration l'option PKGMGR_NO_VRFY=/etc/rkhunter.conf. Cette option peut être ajoutée autant de fois que nécessaire.

Utilisation de fichiers périphériques "réguliers".

L'emploi de logiciels comme JACK ou PostgreSQL ajoutent des fichiers dits de "périphériques" (note : pour Linux la mémoire partagée ou les sémaphores sont des "périphériques"). De tels fichiers se trouvent sur le sous-répertoire /dev. L'utilisation de l'option ALLOWDEVFILE permet d'autoriser de tels fichiers. L'emploi de caractères joker d'expressions régulières dans les noms de fichier est autorisé. Par exemple la déclaration ALLOWDEVFILE=/dev/shm/PostgreSQL* autorise les segments de mémoire partagée créés par le gestionnaire de bases de données PostgreSQL.

Notez que la modification d'une option exige sa prise en compte via l'emploi du paramètre --propupd.

Utilisation de fichiers cachés "réguliers".

D'autres logiciels utilisent des fichiers cachés (noms de fichiers préfixés par un point). L'utilisation de l'option ALLOWHIDDENFILE permet d'autoriser de tels fichiers. L'emploi de caractères joker d'expressions régulières dans les noms de fichier est autorisé. Par exemple : ALLOWHIDDENFILE=/usr/bin/.hmac256.hmac.

Particularité OpenSuse.

La distribution OpenSuse fournit un certain nombre d'exceptions que l'on trouve généralement (version Leap 42.3) dans le fichier /etc/rkhunter.d/00-opensuse.conf

(c) PiApplications 2015