Rischio di connettere l'host ssh sbagliato?

5

Ho una configurazione di login della chiave host ssh in un server remoto, per qualche motivo, il DNS di quell'host è mappato su un altro server.

Quindi supponiamo che l'host sbagliato non possa essere considerato affidabile, dovrei cambiare la mia chiave?

    
posta Ryan 22.06.2014 - 12:38
fonte

2 risposte

4

Quando ti connetti al server sbagliato, questo dovrebbe innescare un avvertimento sul lato client molto evidente, perché il server sembra utilizzare una chiave distinta dalla chiave che stava usando nelle sessioni precedenti. Il client ricorda le chiavi dei server. Per un classico client OpenSSH , l'avviso ha il seguente aspetto:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.

Naturalmente, questo si basa sul fatto che il tuo client si sia già connesso almeno una volta al server giusto; in caso contrario, il client non saprà anticipatamente la chiave del server corretta.

Supponendo che tu abbia fatto "clic-through" l'avviso (cioè modificato il tuo .ssh/known_hosts per aggirarlo), allora sei connesso al server sbagliato. Quando si utilizza l'autenticazione basata su chiave, il client calcola una firma digitale su una stringa che contiene il "key hash di scambio", un valore specifico della sessione ottenuto dal meccanismo di scambio delle chiavi attraverso una funzione hash; il server verifica la firma per quanto riguarda la chiave pubblica del client previsto (in .ssh/authorized_keys ).

In nessun modo la chiave privata del client viene mai rivelata al server. Inoltre, l'inclusione dell'hash di scambio delle chiavi in quello che è firmato impedisce al server ricevente (quello sbagliato / falso) di riutilizzare la firma per impersonare l'utente sul server giusto. Pertanto, la chiave privata del tuo cliente è sicura; non è necessario cambiarlo.

(Il meccanismo di autenticazione del client basato sulla chiave è descritto in sezione 7 di RFC 4252 .)

    
risposta data 22.06.2014 - 13:52
fonte
1

Se sei preoccupato di aver perso la tua chiave privata, in nessun momento la tua chiave privata viene inviata all'altro server. Come spiega Thomas nella sua risposta Come funziona l'autenticazione della chiave pubblica ssh? :

The core concept remains the same: the client proves its control of the private key by performing an operation which requires knowledge of that key, but such that the "inverse" operation can be done with the public key which is located in the .ssh/authorized_keys on the server.

    
risposta data 22.06.2014 - 13:41
fonte

Leggi altre domande sui tag