LINUX:Rkhunter

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu pour contrer les attaques


But

"rkhunter" (pour Rootkit Hunter) est un programme Unix qui permet de détecter les rootkits, portes dérobées et exploits. En premier temps, il va comparer les empreintes digitales avec une base de données qu'il s'est constituée et ensuite la présence de fichiers, de ports réseaux douteux,...


Installation

Il faut installer le module principal:

dnf install rkhunter

D'autres programmes sont souhaités:

dnf install unhide
dnf install tripwire

Un autre programme n'est pas dans la distribution: "skdet"; il faut donc le télécharger sur le site d'origine. Vérifiez la version du fichier directement sur le site "http://dvgevers.home.xs4all.nl/skdet/" Actuellement, c'est la version: 1.0-1 que l'on télécharge:

wget http://dvgevers.home.xs4all.nl/skdet/skdet-1.0-1.i586.rpm

Il peut être nécessaire d'installer glibc qui lui est cécessaire:

dnf install glibc

Ensuite on installe le logiciel:

rpm -iv skdet-1.0-1.i586.rpm


Configuration

Cet utilitaire est lancé chaque jour via le CRON de Linux. Le fichier "/etc/cron.daily/rkhunter" effectue cette tâche et envoie un mail contenant le rapport. Ce dernier utilise des variables d'environnement contenues dans le fichier "/etc/sysconfig/rkhunter". Là vous pouvez configurer l'adresse mail qui recevra ce rapport (variable MAILTO).


Le fichier de configuration principal se nomme "/etc/rkhunter.conf".

Dans ce fichier, il y a quelques options à considérer:

  • l'option suivante définit les tests à faire: tous sont à faire:

ENABLE_TESTS=ALL

  • j'ai eu deux cas de fichiers spéciaux considérés à problème; on les met sur liste blanche:

ALLOWHIDDENFILE=/usr/share/man/fr/man1/..1.gz
ALLOWHIDDENFILE=/usr/share/man/man5/.dockerignore.5.gz

  • on peut éventuellement activer l'option concernant le mailing. On adapte l'adresse mail réceptrice:

MAIL-ON-WARNING=root@home.dom

Ensuite il faut reconstituer la base de données des signatures digitales avant le premier démarrage et après une mise à jour; on le verra au point suivant.

Avec cette configuration, je n'ai plus d'alarme.


Utilisation

La commande suivante permet de mettre à jour diverses informations se trouvant sur Internet:

rkhunter --update

Notons que cette commande est exécutée d'office lors du traitement par le CRON.

La commande suivante est importante; elle crée la base de données des signatures digitales de divers programmes importants de l'OS:

rkhunter --propupd

Il faut absolument l'exécuter avant la première série de tests. Il est utile de le faire après une mise à jour mais de façon intelligente; faites les tests et comparez ce qui est mis en alarme avec ce qui a été mis à jour.

Enfin on peut faire les tests:

rkhunter --check -sk

ou

rkhunter -c -sk

En plus du rapport succinct qui apparaît à l'écran, le fichier "/var/log/rkhunter/rkhunter.log" vous permet de repérer le détail du problème.

Tout problème est affiché en rouge ou sous forme d'un récapitulatif simple.


Tripwire

Si vous avez installé Tripwire, il faut le configurer pour pouvoir l'utiliser et qu'il soit pris en compte par Rkhunter..


Problèmes de code

Depuis quelques versions sous Fedora, subsiste un problème dans le code.

A l'affichage, nous avons le message d'erreur suivant:


grep: avertissement : + au début de l'expression

Ce message apparaît lors de l'analyse du test "apps" pour le module "sshd".

Pour le corriger, on doit ajouter un caractère d'escape.

La ligne n° 18353 du script "/usr/bin/rkhunter":


if [ -n "`echo \"${VERSION}\" | grep '+'`" ]; then

devient:


if [ -n "`echo \"${VERSION}\" | grep '\+'`" ]; then

On a ajouté un "\" devant le "+" de la commande "grep".


Un autre problème est lié; ce script utilise abondamment le programme "egrep" or celui-ci affiche un message informant que ce script n'est plus à utiliser au profit du programme "grep". On solutionne ce problème en suivant les directives de l'article sur Grep.


Ces deux modifications impliquent des modifications de codes installés via des paquets officiels de la distribution. Ceci implique que dès qu'une mise à jour de ces paquets intervient, nos modifications sont écrasées; il faudra donc recommencer celles-ci.


Autre conséquence: ces programmes "rkhunter" et "egrep" que nous venons de modifier, sont testés par Rkhunter. Ils sont analysés par les tests du groupe "Properties". Ce groupe comporte quatre tests: attributes hashes immutable scripts. Ces deux programmes ne correspondent plus à l'installation d'origine et donc seront toujours affichés comme susceptible de contenir un programme malveillant. On va les exclure de ces tests via le fichier de configuration "/etc/rkhunter.conf".

Voici les options à ajouter au fichier de configuration:


# test : hashes
PKGMGR_NO_VRFY=/usr/bin/egrep
PKGMGR_NO_VRFY=/usr/bin/rkhunter
# test : attributes
ATTRWHITELIST=/usr/bin/egrep
ATTRWHITELIST=/usr/bin/rkhunter
# test : scripts
SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/rkhunter
# test : immutable
IMMUTWHITELIST=/usr/bin/egrep
IMMUTWHITELIST=/usr/bin/rkhunter

Dès que toutes ces adaptations sont faites, il faut recréer la base de données des signatures digitales grâce à la commande suivante vue ci-dessus:

rkhunter --propupd





retour au menu pour contrer les attaques