Connexion Telnet à la machine Debian refusée
J'essaie de connecter la machine Debian 8 via telnet mais j'obtiens une erreur de connexion indiquée ci-dessous
# telnet 192.168.88.48
Trying 192.168.88.48...
Connected to 192.168.88.48.
Escape character is '^]'.
Debian GNU/Linux 8 login: Cannot possibly work without effective root
Connection closed by foreign host.
Lorsque je vérifie le serveur telnet, il fonctionne sur la machine.
# netstat -tulpn | grep :23
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 1817/inetd
Quel problème peut être?
Réponses
Le in.telnetdbinaire du package telnetds'exécute par défaut en tant que processus sans privilège avec l'utilisateur telnetd , probablement pour des raisons de sécurité et de séparation des privilèges:
# grep telnet /etc/inetd.conf
telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
Il utilise ensuite un processus d'assistance pour gérer la connexion réelle. Ce processus d'assistance est setuid root. Sur un système Debian 8 qui donnerait (sauf la date et la taille du fichier, les mêmes que sur Debian 10):
# dpkg -S /usr/lib/telnetlogin
telnetd: /usr/lib/telnetlogin
# ls -l /usr/lib/telnetlogin
-rwsr-xr-x. 1 root telnetd 8112 Jul 22 2008 /usr/lib/telnetlogin
Si vous supprimez le bit setuid de cet assistant, vous obtenez exactement le message d'erreur OP.
Ce bit setuid est normalement défini lors de la post-installation du paquet dans /var/lib/dpkg/info/telnetd.postinst:
if [ -z "$(dpkg-statoverride --list /usr/lib/telnetlogin)" ]; then chown root:telnetd /usr/lib/telnetlogin chmod 4754 /usr/lib/telnetlogin fi
Par exemple, le bit set-uid pourrait avoir été supprimé manuellement, remplacé dans la base de données de dpkg-statoverride ou le package n'a pas été complètement installé. Ou in.telnetd d'OP fonctionne dans un environnement restreint. Certains exemples peuvent être un système de fichiers monté avec nosuid , incluant peut-être des conteneurs, ou des paramètres inadéquats avec AppArmor ou SELinux.
Bien sûr, l'utilisation de telnetd lui-même ne devrait jamais être effectuée. Il y avait une version SSL disponible pour le client et le serveur telnet , mais étant donné qu'elle n'est pas disponible dans Debian stable (mais uniquement Sid ), elle peut avoir des problèmes en elle-même.