SFTP – sicurezza nella trasmissione dei dati
L‘SSH File Transfer Protocol garantisce un trasferimento sicuro dei dati tra due partner di comunicazione. Ciò è diventato essenziale per molti processi lavorativi nelle aziende: ad esempio, il personale sul campo invia i risultati del lavoro alla sede dell’azienda, l’architettura server di una rete aziendale viene mantenuta aggiornata e protetta tramite la manutenzione remota o le istruzioni di riparazione vengono richiamate online dal riparatore in loco. Per fare questo i dati devono essere trasferiti in modo bidirezionale da e verso il server aziendale tramite una connessione Internet. In questo modo anche i file per i siti web vengono trasmessi nello spazio web corrispondente. Per questo scambio di dati esiste già dal 1971 il File Transfer Protocol o FTP, nella sua forma abbreviata.
La gestione pratica dei dati via FTP è simile a quella di Windows Explorer, Mac Finder o Linux Nautilus. La differenza è che i dati vengono trasferiti da e verso server molto distanti. Il percorso di trasmissione dall’utente (client FTP) al server (server FTP) e viceversa offre sempre una potenziale superficie d’attacco per il furto e la manipolazione dei dati o per l’infiltrazione di malware nel sistema degli utenti. E più basso è lo standard di sicurezza, maggiore è il rischio. Nel protocollo FTP lo standard di sicurezza è molto basso: il nome utente e la password d’accesso vengono trasmessi con il testo in chiaro, ovvero non crittografati. I potenziali hacker possono leggere i dati di accesso e ottenere un accesso non autorizzato al client e al server FTP, con le relative conseguenze.
Per poter escludere queste possibilità di attacco, è stato sviluppato in alternativa l’SFTP, che presenta una sicurezza notevolmente migliorata.
Cos’è l’SSH File Transfer Protocol?
Il protocollo di trasmissione SSH, “Secure Shell”, è stato sviluppato, tra l’altro, per migliorare la protezione della trasmissione di dati FTP. Questo protocollo garantisce un’autenticazione sicura dei partner di comunicazione. Non appena viene avviato un accesso da un client, il server verifica l’identità del client tramite e con SSH. L’autenticazione reciproca avviene tramite certificati e attraverso la procedura di chiave pubblica e privata. L’accesso è consentito solo se la chiave del client SFTP combacia con la “serratura” del server SFTP e il server verifica se il client ha “sbloccato” l’autostrada informatica con una chiave adeguata.
Questa chiave consiste in una sequenza casuale di lettere, numeri e caratteri speciali con un numero specificato di bit. Si chiama protocollo crittografico. Può essere utilizzato per comunicazioni crittografate anche con una connessione Internet non protetta.
SSH File Transfer Protocol: Questo protocollo, abbreviato in SFTP, in italiano “Protocollo di trasferimento file sicuro”, garantisce il trasferimento crittografato di dati tra sistema client e sistema server e viceversa con una sola connessione. Sia i dati per stabilire la connessione che i dati trasmessi sono crittografati utilizzando le cosiddette chiavi basate sul protocollo SSH.
Come funziona SFTP?
Un prerequisito per una connessione funzionante con l‘SSH File Transfer Protocol è l’accesso SSH sul server dell’host. I dati di accesso per l’utente SFTP sono quindi disponibili lì: indirizzo del server, nome utente e password. Questi dati vengono inseriti nel programma (S)FTP utilizzato dal client. La prima volta che viene stabilita la connessione, la chiave per la verifica viene visualizzata e memorizzata nel programma FTP per uso futuro. Il client si autentica quindi sul server ogni volta che viene stabilita una connessione. Se una pagina o un terzo non autorizzato “identifica” sé stesso in questa comunicazione senza chiave o con una chiave errata, la connessione viene immediatamente interrotta.
Esiste un cosiddetto tunnel SSH tra client e server e sulla via del ritorno, attraverso il quale vengono effettuate l’autenticazione e la trasmissione dei dati. Questo tunnel è crittografato in modo tale che nessun hacker possa accedere ai dati, quindi i dati arrivano al destinatario senza essere manipolati. Tuttavia, se un utente terzo tenta di modificare i dati su questa via di trasmissione, SSH rileva questa manipolazione e si disconnette immediatamente.
Il trasferimento dei dati con l‘SSH File Transfer Protocol protegge pertanto da:
- modifiche dell’indirizzo IP di un pacchetto dati, chiamato anche IP spoofing;
- reindirizzamento del nome dell’host, originariamente indirizzato, all’indirizzo IP di un terzo (DNS spoofing);
- intercettazione dei dati di accesso con testo in chiaro da parte di terzi;
- manipolazione dei dati trasmessi da parte di terzi.
SFTP non protegge gli utenti dalla gestione negligente dei dati e delle chiavi degli utenti!
Utilizzo dell‘SSH File Transfer Protocol
Nel programma (S)FTP il protocollo viene selezionato nell'area in cui vengono immessi i dati di accesso. Nell’applicazione client FileZilla, mostrata di seguito, si tratta del cosiddetto server manager. Nella maggior parte dei casi non è necessario specificare una porta, poiché questa viene automaticamente impostata su 22 quando si seleziona SFTP.
Nel nostro articolo “I 10 migliori programmi FTP per Windows & Mac” abbiamo compilato una panoramica di programmi (S)FTP consigliati.
La prima volta che si tenta di stabilire una connessione con l‘SSH File Transfer Protocol, il client SFTP riceve un messaggio che riflette lo standard di sicurezza SSH.
In seguito controllate nuovamente che l’indirizzo del server sia giusto. L'utilizzo della porta 22 corretta può anche essere riconosciuto dalla voce per il server: “home….-data.host:22”. Con un segno di spunta nella casella “Conferma sempre questo server, salva questa chiave” e un clic sul pulsante “OK” i dati di connessione vengono salvati e viene stabilita la connessione crittografata.
Non verrà effettuata una nuova interrogazione di questi dati al successivo collegamento, poiché il client SFTP si identifica sul server SFTP con la chiave una tantum. Questa firma digitale crittografa tutte le trasmissioni, inclusi i dati di accesso per stabilire la connessione. I messaggi nella finestra di stato del programma FTP forniscono informazioni sull’avanzamento dei download e upload.
Per il salvataggio o il trasferimento dei dati IONOS offre server SFTP con account personali, backup e gestione delle app.
Qual è la differenza tra SFTP e FTP?
La differenza principale è che nella trasmissione SFTP l’autenticazione e l’intero traffico di dati tra client e server sono crittografati. Anche se un hacker riesce ad accedere ai dati, non li può utilizzare. L’SSH File Transfer Protocol reagisce ai dati di accesso manipolati o ai tentativi di attacco interrompendo la connessione. In breve ci sono le seguenti differenze tra FTP e SFTP:
FTP | SFTP | |
---|---|---|
Numero dei canali utilizzati | 2 separati | 1 |
Standard di crittografia | nessuno | SSH2 |
Crittografia di autenticazione | ||
Crittografia della trasmissione dati | ||
Opzioni di attacco (lettura, attacco) |
Questa sicurezza tecnica della trasmissione crittografica dovrebbe essere aumentata sia sul lato client che sul lato server con ulteriori funzionalità di sicurezza. Ciò vale, ad esempio, per le decisioni relative alla posizione geografica e alla sicurezza fisica dei server SFTP, nonché alla memorizzazione protetta dei dati per l’accesso ai client. Qualsiasi disattenzione nel trattamento dei dati viene solitamente punita prima o poi.