Per FTPS, ci affidiamo al DNS e al PKI pubblico per autenticare il server FTP quando ci connettiamo per la prima volta. Alla prima connessione, foo.example.com si risolve in 1.2.3.4 e la mia connessione ritorna crittografata da una chiave privata che posso validare è di proprietà di foo.example.com (più o meno, dati i problemi con PKI).
Ma come funziona con SFTP (sì, so che è SSH ma non ne ho molta familiarità)?
So che ci sono due modi in cui le persone usano SFTP per quanto riguarda questa domanda:
- Il cliente è a conoscenza della chiave da utilizzare per la connessione in anticipo. Questo ha senso ed è ovvio alla mia domanda. Non te lo chiedo.
- Il client non è a conoscenza della chiave da utilizzare per la connessione in anticipo. Invece hanno un nome utente e una password. Questo è lo scenario in cui ti sto chiedendo specificatamente.
Per quel secondo scenario, quando mi connetto per la prima volta al server SFTP, come posso essere sicuro che sia veramente il mio server e non qualche altro server che esegue un attacco MITM per ottenere la mia password (spero che questo sia hash e non facilmente rubato) e / o dati?
Ho trovato questo domanda ma non sembra affrontare l'argomento dell'autenticazione del server, solo l'autenticazione del client.