Perché sshd
richiede un percorso assoluto al riavvio, ad es. /usr/sbin/sshd
Anzichésshd
Ci sono implicazioni per la sicurezza?
PS il messaggio di errore:
# sshd
sshd re-exec requires execution with an absolute path
Perché sshd
richiede un percorso assoluto al riavvio, ad es. /usr/sbin/sshd
Anzichésshd
Ci sono implicazioni per la sicurezza?
PS il messaggio di errore:
# sshd
sshd re-exec requires execution with an absolute path
Risposte:
Questo è specifico per OpenSSH dalla versione 3.9 in poi.
Per ogni nuova connessione, sshd si eseguirà nuovamente, per garantire che tutte le randomizzazioni in fase di esecuzione vengano rigenerate per ogni nuova connessione. Affinché sshd possa rieseguirsi, deve conoscere l'intero percorso verso se stesso.
Ecco una citazione dalle note di rilascio per 3.9:
- Fa rsshd (8) eseguirsi nuovamente accettando una nuova connessione. Questa misura di sicurezza garantisce che tutte le randomizzazioni in fase di esecuzione vengano riapplicate per ogni connessione anziché una volta, per tutta la durata del processo principale. Ciò include mapping mmap e malloc, indirizzamento di librerie condivise, ordine di mapping di librerie condivise, cookie ProPolice e StackGhost su sistemi che supportano tali elementi
In ogni caso, di solito è meglio riavviare un servizio usando il suo script init (es. /etc/init.d/sshd restart
) O usando service sshd restart
. Se non altro, ti aiuterà a verificare che il servizio verrà avviato correttamente dopo il prossimo riavvio ...
( risposta originale, ora irrilevante: la mia prima ipotesi sarebbe che /usr/sbin
non sia nel tuo $ PATH. )
Questo per impedire a qualcuno di iniettare un sshd
programma da qualche parte in una delle directory nella tua PATH
e tu lo esegui inavvertitamente. Questo post del 2004 descrive già il problema.