La mia password è stata compromessa perché ho dimenticato di premere Invio dopo il nome utente ssh?


142

Ho appena provato ad accedere a un server Fedora (release 13 Goddard) usando SSH (PuTTY, Windows). Per qualche motivo, Enterdopo aver digitato il mio nome utente non è andato a buon fine e ho digitato la mia password e ho premuto nuovamente Invio. Mi sono reso conto del mio errore solo quando il server mi ha salutato con gioia

myusername MYPASSWORD @ password server.example.com:

Ho interrotto la connessione a questo punto e ho cambiato la mia password su quella macchina (tramite una connessione SSH separata).

... ora la mia domanda è: un tale accesso non riuscito è memorizzato in testo normale in un file di registro? In altre parole, ho appena forzato la mia password (ormai obsoleta) davanti agli occhi dell'amministratore remoto la prossima volta che scansiona i suoi registri?

Aggiornare

Grazie per tutti i commenti sulla domanda implicita "cosa fare per impedirlo in futuro". Per connessioni rapide e una tantum userò ora questa funzione PuTTY:

inserisci qui la descrizione dell'immagine

per sostituire l'opzione "nome utente con accesso automatico" dov'era

inserisci qui la descrizione dell'immagine

Inizierò anche a usare i tasti ssh più spesso, come spiegato nei documenti PuTTY .


4
Questa è davvero una buona domanda. Penso che tutti noi abbiamo accidentalmente digitato UsernamePassword in una sorta di servizio ad un certo punto nel tempo. È troppo facile da fare.
user606723

2
Ancora un altro buon motivo per cambiare la password con ragionevole regolarità.
Jonas,

25
Puoi evitarlo dicendo al tuo client ssh di connettersi a username@server.example.com. Quindi ti verrà richiesta solo la password, rendendo impossibile un incidente come questo. Ancora meglio, però, sarebbe usare solo le chiavi pubbliche / private.
Kevin,

1
@Iceman grazie per quel suggerimento - dal momento che sapevo che PuTTY nasconde il nome utente sotto Connection/Data/Login details/Auto-login usernamenon mi è mai venuto in mente che il campo "Nome host (o indirizzo IP)" potesse anche accettare username @ hostname come un client ssh da riga di comando.
Jonas Heidelberg,

4
Usa autenticazione basata su chiave.
Zoredache,

Risposte:


148

In breve: si.

# ssh 192.168.1.1 -l "myuser mypassword"
^C
# egrep "mypassword" /var/log/auth.log
Oct 19 14:33:58 host sshd[19787]: Invalid user myuser mypassword from 192.168.111.78
Oct 19 14:33:58 host sshd[19787]: Failed none for invalid user myuser mypassword from 192.168.111.78 port 53030 ssh2

21

Se ricordo bene, è effettivamente registrato nel registro se il livello del registro è impostato su DEBUG o TRACE.

EDIT: è confermato, ho provato ad accedere al mio server e l'ho trovato nei miei registri.

Oct 19 14:34:24 sd-xxxx sshd[26563]: pam_unix(sshd:auth): authentication failure; logname=     uid=0 euid=0 tty=ssh ruser= rhost=xxx-xxx-xxx-xxx.rev.numericable.fr 
Oct 19 14:34:26 sd-xxxx sshd[26563]: Failed password for invalid user toto from xxx.xxx.xxx.xxx port 56685 ssh2

Nota: gli IP sono nascosti


51
I tuoi IP non sono nascosti, sono solo pubblicati come numeri romani.
Bart Silverstrim,

2
o imprecazioni.
Sirex,

8
o è la mecca degli adolescenti su Internet - l'IP del porno.
DeanWombourne,

10

O sia per maggiore sicurezza che per convenienza, dovresti davvero considerare di impostare le chiavi SSH ...

# ssh-keyget -t rsa
(accetta tutte le impostazioni predefinite)

e ottieni ...

~ / .Ssh / id_rsa
~ / .Ssh / id_rsa.pub

Nota a margine: puoi rinominare i tuoi file chiave se aggiungi ~ / .ssh / config con qualcosa come il seguente contenuto:

# cat ~ / .ssh / config
Ospite *
IdentityFile ~ / .ssh / ddopson_employer_id_rsa

Cat il contenuto della tua chiave pubblica (sarà una riga singola):

# cat ~ / .ssh / id_dsa.pub
ssh-rsa AAAAB3NzaC1kc3MAAACBAOOVBqYHAMQ8J ... BbCGGaeBpcqlALYvA == ddopson @ hostname

Ora accedi alla casella di destinazione e incolla quella riga in ~ / .ssh / authorized_keys.

Nota a margine: la riga pubkey termina con una stringa leggibile come "ddopson @ hostname". Puoi cambiarlo per essere più descrittivo della chiave che stai usando (es. Se hai molte chiavi). Quella stringa NON viene utilizzata come parte dell'autenticazione ed è solo per descrivere la chiave di altri esseri umani.

Questo è tutto. Ora quando si invia ssh all'host, non ti verrà nemmeno richiesta una password.

Se sei preoccupato di archiviare la tua chiave privata (id_rsa), puoi aggiungere una passphrase alla chiave stessa (vedi ssh-keygen), proteggendola dall'uso da parte di chiunque abbia accesso ai tuoi file. È quindi possibile utilizzare ssh-agent per decrittografare la chiave e archiviarla in modo sicuro in memoria in modo che possa essere utilizzata per più connessioni SSH.


Probabilmente avrei dovuto aggiungere un windows-clientstag alla mia domanda. Questo howto spiega come rendere utilizzabili le chiavi ssh con PuTTY.
Jonas Heidelberg,

puoi fare esattamente la stessa cosa con PuTTY. È possibile aggiungere chiavi in ​​PuTTY o utilizzare PuTTYgen per generare le chiavi. Stessa storia, comandi diversi. (Penso che sia nella scheda di autenticazione dei parametri di connessione).
Dave Dopson,

0

La password è stata crittografata quando trasmessa. Sì, è possibile che la password sia stata compromessa perché è stata stampata nel registro sul server di destinazione. Tuttavia, direi anche che ogni volta che inserisci la password sul tuo computer potrebbe essere compromessa poiché potrebbe esserci un software spyware sul tuo computer o un keylogger collegato al tuo computer.

Se sei l'unico amministratore di quel sistema e ritieni che quel sistema non sia stato compromesso, puoi con relativa certezza presumere che la tua password non sia stata compromessa proprio come si presume che non ci siano spyware sul tuo computer perché non hai assistito a qualcosa di sospetto. È possibile modificare il registro su quel server e rimuovere il riferimento alla propria password.

Questo incidente è uno dei motivi per cui è meglio usare le chiavi SSH anziché le password. Quindi, anche se qualcuno ottiene la password immessa sul computer per decrittografare la chiave privata sul computer, non sarà comunque in grado di accedere al server remoto; hanno bisogno anche del file della chiave privata. La sicurezza è tutta una questione di livelli. Niente è perfetto, ma se aggiungi abbastanza livelli allora è abbastanza difficile che l'attaccante si sposterà o li prenderai perché richiede più tempo.

Non farei quanto sopra se la tua password protegge informazioni molto sensibili o risorse critiche. Dipende dalla sensibilità della tua password.

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.