FTP, FTP/S e SFTP: quale utilizzare?

Dove sei: Home > Blog > FTP, FTP/S e SFTP: quale utilizzare?

Approfondimenti | 17-03-2017

Se per lavoro o per passione hai a che fare con siti internet sicuramente ti sarai imbattuto nel protocollo FTP, fondamentale per caricare file sui server che li ospitano.

Forse non sai che esistono anche due varianti del protocollo, ovvero FTP/S e SFTP entrambi focalizzati sul migliorare la sicurezza del protocollo FTP base.

In questo post ti spiegheremo le differenze principali tra queste varianti del protocollo e perché queste sono di assoluta importanza per quel che riguarda la sicurezza dei tuoi siti internet.

FTP

Il protocollo FTP è quello più utilizzato e il suo scopo è sostanzialmente quello di permettere lo scambio di file tra due computer, in cui uno agisce come server e l'altro come client.

Il funzionamento prevede l'utilizzo di due porte: una porta per il controllo della comunicazione e una porta per il trasferimento dei dati veri e propri. Questo è un comportamento leggermente diverso rispetto ad esempio al protocollo HTTP che utilizza una sola porta sia per controllo che dati.

Il server FTP rimane in ascolto sulla porta 21 a cui il client si collega.

La connessione tra client e server inizia con una serie di comandi necessari per autenticare il client tramite uno username e una password. Se l'autenticazione va a buon fine può iniziare il trasferimento dei dati tramite l'utilizzo del canale riservato ai dati che può avvenire in due maniere differenti.

Mentre il canale per i comandi rimane aperto per l'intera sessione di upload/download il canale per i dati viene creato per ogni singolo file. Per questo motivo è consigliato riunire più file in un unico file e lavorarli poi lato server.

Ad esempio i CMS come wordpress sono composti da centinaia di file e caricarli separatamente può richiedere molto tempo. Caricare invece un solo archivio e poi decomprimerlo lato server può farti risparmiare molto tempo.

Il più grande limite relativo alla sicurezza di FTP è che tutte le comunicazioni, sia di controllo che dati, avvengono con testo in chiaro e questo può esporci a un attacco di tipo man-in-the-middle con il quale un malintenzionato potrebbe rubare le nostre credenziali di accesso e avere pieno accesso ai file del nostro sito internet.

Per risolvere questo potenziale problema ci vengono in soccorso i protocolli FTP/S e SFTP che di fatto sono varianti del protocollo base con un occhio in più alla sicurezza.

FTP/S

Questa variante cerca di risolvere il potenziale problema di sicurezza che si presenta nella versione base andando a criptare entrambi i canali di comunicazione tramite il protocollo SSL.

Quindi sia il canale di comando che il canale per i dati possono essere criptati indipendentemente o concorrentemente. Questo è un aspetto da tenere in considerazione in quanto la connessione SSL impiega un certo quantitativo di tempo e può rallentarci nel caso dovessimo trasferire un grande quantitativo di file.

FTP/S può aprire il canale di controllo tramite la classica porta 21 oppure tramite la porta 990. La differenza principale è che la porta 990 viene definita FTP/S implicita, ovvero il server FTP che accetta connessioni su questa porta userà di default una connessione tramite SSL e pertanto il server inizierà fin da subito il processo di handshake del protocollo SSL.

Utilizzando invece la porta standard il client deve specificare che intende trasmettere utilizzando SSL quindi prima del processo di handshake è necessario che il client invii una serie di comandi per specificare la propria intenzione di usare il protocollo SSL.

SFTP

Questo protocollo è relativamente nuovo in quanto sviluppato negli anni '90.

L'idea di fondo è simile a quella di FTP/S in cui la comunicazione tra client e server avviene tramite connessioni criptate utilizzando però in questo caso il protocollo SSH anziché SSL.

Mentre l'idea di fondo rimane la stessa i due protocolli hanno comunque una logica di funzionamento molto diversa.

Un altro vantaggio implicito dell'usare SFTP è che la connessione è sicura per definizione in quanto non è possibile disattivare la criptazione SSL con nessun comando.

Per questi vantaggi rispetto a FTP e FTP/S abbiamo quindi deciso di affidare tutti i trasferimenti di file tra la nostra sede operativa di Ferrara e i server sparsi per il mondo al protocollo SFTP per garantire massima sicurezza ai file, ai dati e ai software in cloud dei nostri clienti e in contemporanea per poterlo fare nella maniera più efficiente possibile.

Fonti:

connessione sftp porta ftp porta sftp porte sftp