Una sessione SSH su un sito errato è un'esposizione di sicurezza?

40

Alcuni minuti fa ho tentato di ssh su un server che ho nel mio ufficio. Dato che si tratta di un nuovo server, la mia chiave pubblica non è stata impostata lì, quindi ho dovuto digitare la mia password manualmente.

Dopo aver tentato tre volte di accedere senza successo, ho notato che avevo digitato erroneamente il nome del dominio - due caratteri trasposti. Il server che stavo cercando di accedere non era nel mio ufficio ma da qualche altra parte!

La mia domanda: il protocollo SSH espone la mia password in una situazione del genere? In altre parole, se quel server fosse stato deliberatamente impostato in qualche modo per cogliere un errore come questo, potrebbe farlo?

Ho intenzione di cambiare la password in ogni caso, ma mi piacerebbe sapere se quell'incidente è un rischio reale. Qualsiasi commento benvenuto.

    
posta AlanObject 27.12.2013 - 01:06
fonte

3 risposte

40

Sì, il server remoto avrà ora accesso alla tua password. E se lo hanno configurato per registrare quella password (che non è l'impostazione predefinita in qualsiasi prodotto SSH che conosco), dovresti cambiare la tua password ancora più velocemente di quanto tu stia già facendo:)

    
risposta data 27.12.2013 - 01:13
fonte
9

Sì. Il pacchetto contenente la password è crittografato in modo che solo il server previsto possa leggere la password in arrivo, tuttavia una volta che il pacchetto è stato elaborato, la password è lì in chiaro. Il client ssh non sta trasmettendo un hash della tua password (pensavo che fosse così ho controllato la fonte e trovato diversamente), è la tua password completa.

Ovviamente, nessun sshd legit registrerà le password, ma allo stesso modo, nessuno dovrebbe mai fidarsi di qualche server sconosciuto casuale.

    
risposta data 27.12.2013 - 12:26
fonte
6

La documentazione di riferimento pertinente è Sezione 8 di RFC 4252 - Il protocollo di autenticazione Secure Shell (SSH) .

Le parti pertinenti di questo dicono:

Password authentication uses the following packets. All
implementations SHOULD support password authentication.

  byte      SSH_MSG_USERAUTH_REQUEST
  string    user name
  string    service name
  string    "password"
  boolean   FALSE
  string    plaintext password in ISO-10646 UTF-8 encoding [RFC3629]

Note that even though the cleartext password is transmitted in the packet, the entire packet is encrypted by the transport layer.

Quindi, come hanno osservato altre persone qui: la buona notizia è che chiunque abbia intercettato lo scambio non avrebbe dovuto vedere il testo in chiaro della propria password; la cattiva notizia è che hai comunicato le tue password al server SSH in cui hai tentato di accedere, e ti conviene cambiare la password. Meglio ancora, usa autenticazione a chiave pubblica invece.

    
risposta data 02.01.2014 - 20:54
fonte

Leggi altre domande sui tag