Pourquoi sshd
nécessite un chemin absolu lors du redémarrage, par exemple /usr/sbin/sshd
plutôt quesshd
Y a-t-il des implications pour la sécurité?
PS le message d'erreur:
# sshd
sshd re-exec requires execution with an absolute path
Pourquoi sshd
nécessite un chemin absolu lors du redémarrage, par exemple /usr/sbin/sshd
plutôt quesshd
Y a-t-il des implications pour la sécurité?
PS le message d'erreur:
# sshd
sshd re-exec requires execution with an absolute path
Réponses:
Ceci est spécifique à OpenSSH à partir de la version 3.9.
Pour chaque nouvelle connexion, sshd se réexécutera lui-même, pour garantir que toutes les randomisations au moment de l'exécution sont régénérées pour chaque nouvelle connexion. Pour que sshd se réexécute, il doit connaître le chemin complet vers lui-même.
Voici une citation des notes de publication de la version 3.9:
- Faites que sshd (8) se réexécute en acceptant une nouvelle connexion. Cette mesure de sécurité garantit que toutes les randomisations au moment de l'exécution sont réappliquées pour chaque connexion plutôt qu'une seule fois, pour la durée de vie du processus maître. Cela inclut les mappages mmap et malloc, l'adressage de bibliothèque partagée, l'ordre de mappage de bibliothèque partagée, les cookies ProPolice et StackGhost sur les systèmes qui prennent en charge de telles choses
Dans tous les cas, il est généralement préférable de redémarrer un service en utilisant soit son script init (par exemple /etc/init.d/sshd restart
), soit en utilisant service sshd restart
. Si rien d'autre, cela vous aidera à vérifier que le service démarrera correctement après le prochain redémarrage ...
( réponse originale, maintenant hors de propos: ma première supposition serait que ce /usr/sbin
n'est pas dans votre $ PATH. )
Il s'agit d'empêcher quelqu'un d'injecter un sshd
programme quelque part dans l'un des répertoires de votre PATH
et de l'exécuter par inadvertance. Ce billet de 2004 décrit déjà le problème.