Come viene autenticato il server in ssh? [duplicare]

2

Il server non conosce alcun segreto che possa essere usato per autenticarsi.

Inoltre, a che serve un'impronta digitale se si basa sulla chiave pubblica se è fondamentalmente l'hash di qualche nota chiave pubblica.

Quale protezione esiste da un "ssh server spoofing"?

RIASSUNTO E RIFLESSIONI : ho già visto la domanda duplicata prima di postarla. La parte che per me non era chiara, è che anche il server ha una chiave privata. E quando tenti di connetterti a sshd , ti invieremo l'impronta digitale della chiave pubblica sshd (questo probabilmente si troverà in /etc/sshd , diverso da quelli trovati in /home/<users>/.ssh ).

Questo è il motivo per cui le chiavi ssh chiedono di autorizzare un'impronta digitale alla prima connessione. Questo è anche il motivo per cui l'impronta digitale cambia se si esegue una nuova installazione di sshd (è stata generata una nuova coppia di chiavi pubblica-privata).

    
posta aiao 29.09.2015 - 13:47
fonte

2 risposte

2

Tipicamente, i client SSH manterranno traccia dell'impronta digitale della chiave pubblica che hanno visto la prima volta che si connette alla macchina. Infatti, spesso la prima volta che ti connetti a una macchina tramite SSH, il client ti mostrerà l'impronta digitale e ti chiederà di confermare che è corretta.

Questa convalida dovrebbe avvenire fuori banda. In altre parole, l'amministratore di sistema dovrebbe darti l'impronta digitale corretta in modo sicuro. Quindi puoi confrontare l'impronta digitale con cui il server ti presenta e l'impronta digitale conosciuta.

Nelle connessioni successive, purché la chiave pubblica presentata dal server abbia la stessa impronta digitale, la maggior parte dei client SSH la accetteranno e permetteranno alla connessione di continuare. D'altra parte, se l'impronta digitale è cambiata, i client SSH che ho usato in realtà negano la connessione, ti dicono che l'impronta digitale è cambiata e che potresti essere vittima di un attacco.

Se non si verifica correttamente l'impronta digitale iniziale e qualcuno sta attivamente attaccando su quella prima connessione, sarà in grado di falsificare la connessione e possibilmente rubare le credenziali (a seconda del meccanismo di autenticazione utilizzato).

    
risposta data 29.09.2015 - 13:58
fonte
2

L'autenticazione del server SSH dipende essenzialmente dall'utente. Ma ciò che devi ricordare è che tutte queste informazioni vengono trasmesse dopo lo scambio di chiavi sicure.

Sommario

Sì, è possibile stabilire un canale crittografato su un server sconosciuto. Il server non può spoofare la chiave host perché il client produce l'impronta digitale della chiave pubblica utilizzata per stabilire la connessione. L'impronta digitale mostrata sulla connessione viene generata separatamente e non può essere influenzata dal server.

Hai la possibilità di rifiutare la connessione prima che vengano passate le credenziali se l'impronta digitale è diversa dall'impronta digitale che si trova nella cache del client.

Dettagli

SSH stabilisce un canale sicuro, a quel punto il server fornisce la propria impronta digitale di chiave pubblica. Questo è tutto completamente criptato. Durante lo scambio di chiavi ( RFC4253 ) il server firma diversi pezzi di dati con la sua chiave privata per il cliente autenticare. Ciò dimostra che il server ha la chiave privata per la quale il client ha la chiave pubblica.

Ogni cliente dovrebbe mostrare l'impronta digitale con cui è stato stabilito il tunnel. L'autenticazione del server è completamente a carico dell'utente a questo punto. Se non si riconosce l'impronta digitale, non è necessario effettuare il login. Se l'impronta digitale è cambiata dall'ultima volta che hai effettuato l'accesso a quell'indirizzo IP, il client dovrebbe avvisarti prima che eventuali credenziali vengano inviate al server. Che ti permette di ricontrollare con un amministratore del server prima di procedere.

Dico che ogni client dovrebbe perché è completamente dipendente dall'implementazione e ci sono troppe implementazioni di SSH da contare. Generalmente, sebbene le più diffuse implementazioni SSH (PuTTY, OpenSSH, WinSCP) prendano queste precauzioni.

    
risposta data 29.09.2015 - 15:18
fonte

Leggi altre domande sui tag