Lorsque je numérise ma machine avec chkrootkit
je remarque que cela dit toujours pour l'un d'eux:
Checking `syslogd'... not tested
Pourquoi cela n'est-il pas testé? Faut-il tester cela? Et si c'est une bonne chose à tester, comment puis-je le faire tester?
Description: Ubuntu 14.10
Release: 14.10
chkrootkit:
Installed: 0.49-5ubuntu1
Candidate: 0.49-5ubuntu1
Version table:
*** 0.49-5ubuntu1 0
500 http://gb.archive.ubuntu.com/ubuntu/ utopic/universe AMD64 Packages
100 /var/lib/dpkg/status
Cela se produit car chkrootkit
recherche un exécutable nommé syslogd
dans plusieurs emplacements courants, mais comme Ubuntu utilise rsyslog , son démon syslog est à la place appelé rsyslogd
.
Pour vérifier que le démon syslog sur votre machine s'appelle spécifiquement rsyslogd
plutôt que syslogd
, vous pouvez exécuter locate syslogd
(bien sûr, si vous aviez un rootkit, cela pourrait également entraîner des résultats incorrects):
ek@Io:~$ locate syslogd
/etc/apparmor.d/usr.sbin.rsyslogd
/etc/apparmor.d/disable/usr.sbin.rsyslogd
/etc/apparmor.d/local/usr.sbin.rsyslogd
/usr/sbin/rsyslogd
/usr/share/man/man8/rsyslogd.8.gz
Pour vérifier que c'est la raison pour laquelle chkrootkit
ne teste pas le démon syslog, vous pouvez exécuter chkrootkit
avec le -d
flag (pour debug mode) et envoyer une copie de la sortie dans un fichier:
Sudo chkrootkit -d |&tee ~/chkrootkit.log
Ouvrez ensuite le fichier journal dans un éditeur de texte et examinez la sortie de débogage entre le Checking `syslogd'...
et not tested
messages. Sur ma machine, cela ressemble à ceci (sur le vôtre, je pense que ce sera similaire):
Checking `syslogd'... + chk_syslogd
+ STATUS=1
+ SYSLOG_I_L=/usr/lib/pt07|/dev/pty[pqrs]|/dev/hd[als][0-7]|/dev/ddtz1|/dev/ptyxx|/dev/Tux|syslogs\.h
+ loc syslogd syslogd /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /sbin /usr/sbin /lib /usr/lib /usr/libexec .
+ thing=syslogd
+ shift
+ dflt=syslogd
+ shift
+ :
+ test -f /usr/local/sbin/syslogd
+ :
+ test -f /usr/local/bin/syslogd
+ :
+ test -f /usr/sbin/syslogd
+ :
+ test -f /usr/bin/syslogd
+ :
+ test -f /sbin/syslogd
+ :
+ test -f /bin/syslogd
+ :
+ test -f /sbin/syslogd
+ :
+ test -f /usr/sbin/syslogd
+ :
+ test -f /lib/syslogd
+ :
+ test -f /usr/lib/syslogd
+ :
+ test -f /usr/libexec/syslogd
+ :
+ test -f ./syslogd
+ [ / = / ]
+ echo syslogd
+ exit 1
+ CMD=syslogd
+ [ ! -r syslogd ]
+ return 2
+ STATUS=2
+ [ = t ]
+ echo not tested
not tested
Puisqu'un fichier appelé syslogd
n'existe dans aucun de ces emplacements (ou pas du tout), il n'a rien à tester.
Une solution de contournement partielle possible serait de créer un lien symbolique à l'un de ces emplacements vers l'exécutable réel ryslogd
. Je considère cela uniquement comme une solution partielle parce que je ne connais pas les détails de ce que chkrootkit
vérifie (ou devrait vérifier), ou s'il y a quelque chose de spécial à faire pour inspecter correctement rsyslogd
, ou si cela fonctionne vraiment correctement lors de l'inspection des liens symboliques et des fichiers récemment créés. chkrootkit
ne signale pas avoir vérifié avec succès syslogd
quand je fais cela, cependant:
ek@Io:~$ Sudo ln -s /usr/sbin/rsyslogd /usr/local/sbin/syslogd
ek@Io:~$ Sudo chkrootkit | grep syslogd
Checking `syslogd'... not infected
Le sous-répertoire sbin
de /usr/local
n'existe peut-être pas déjà, auquel cas vous pouvez le créer. Quoi qu'il en soit, je suggère de supprimer le lien symbolique syslogd
après l'avoir utilisé.
Dans tous les cas la vraie solution est comme bodhi.zazen dit - cela devrait être signalé comme un bogue contre le package chkrootkit
dans Ubuntu. La façon dont je vous suggère de signaler le bogue est de:
ubuntu-bug chkrootkit
.chkrootkit
lorsque le problème se produit. Je recommande de joindre un journal montrant sa sortie, y compris de préférence la sortie de débogage. Vous pouvez joindre le fichier journal créé si/lorsque vous avez exécuté Sudo chkrootkit -d |& tee ~/chkrootkit.log
(voir au dessus). Vous pouvez également reproduire la petite partie la plus pertinente du texte du rapport de bogue lui-même.De http://www.chkrootkit.org/README :
"non testé": le test n'a pas été effectué - cela peut se produire dans les situations suivantes:
a) le test est spécifique au système d'exploitation;
b) le test dépend d'un programme externe qui n'est pas disponible;
c) certaines options de ligne de commande spécifiques sont données. (par exemple, -r).
En supposant que vous n'avez pas passé une option de ligne de commande spécifique, je suppose que c'est "spécifique au système d'exploitation" d'une certaine manière.
Je voudrais déposer un rapport de bogue avec Ubunt .
J'ai écrit aux auteurs de chkrootkit à ce sujet en vérifiant syslogd et non sur syslogd, présent dans les distributions basées sur Ubuntu.
Voici la partie pertinente de la conversation:
--- coupure ---
Je comprends qu'il s'agit exclusivement d'un problème de distribution basé sur Ubuntu, mais est-il possible que rsyslog devienne éventuellement une cible?
Oui, tous les binaires linux peuvent être infectés (rsyslogd inclus), mais pour le vérifier, j'ai besoin de voir le binaire infecté. Après 20 ans depuis la création de chkrootkit, je n'ai jamais vu un rsyslogd infecté. --- coupure ---
Ce n'est donc pas un bug.
À votre santé.