Perché sshd richiede un percorso assoluto?


23

Perché sshdrichiede un percorso assoluto al riavvio, ad es. /usr/sbin/sshdAnzichésshd

Ci sono implicazioni per la sicurezza?

PS il messaggio di errore:

# sshd
sshd re-exec requires execution with an absolute path

Risposte:


20

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/sbinnon sia nel tuo $ PATH. )


Ovviamente è in $ PATH, altrimenti come posso ottenere quel messaggio di errore da sshd ;-P
margherita

6
Intendi il messaggio di errore che non hai menzionato nel tuo post?
Jenny D,

2
Mio cattivo, ha curato il post
daisy il

6

Questo per impedire a qualcuno di iniettare un sshdprogramma da qualche parte in una delle directory nella tua PATH e tu lo esegui inavvertitamente. Questo post del 2004 descrive già il problema.


Mentre quel post descrive correttamente il problema, le conclusioni tratte nella discussione sono errate. Non è un bug, è una caratteristica :-)
Jenny D

@JennyD Perché pensi che sia un bug? Non l'ho mai insinuato.
Timo,

Nel post a cui ti sei collegato, una risposta è stata "Bug che si è insinuato attraverso l'aggiornamento all'ultimo openssh". Nessuna delle risposte in quel thread ha menzionato il vero motivo per richiedere un percorso completo - alcuni hanno menzionato lo stesso motivo per te, il che è molto plausibile e mostra perché è una buona idea usare il percorso completo per qualsiasi programma che apre possibilità di accesso. Ma questa non è la vera ragione per cui questo particolare programma ha quel requisito.
Jenny D,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.