Approfondimenti Data pubblicazione: 17-03-2017

FTP, FTP/S e SFTP: quale utilizzare?

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.

  • Attivo: il client apre una porta solitamente casuale e tramite il canale comandi rende noto il numero di tale porta al server e attende che si connetta. Una volta che il server ha attivato la connessione dati al client FTP, quest'ultimo effettua il binding della porta sorgente alla porta 20 del server FTP.
  • Passivo: il server apre una porta solitamente casuale (superiore alla 1023) e tramite il canale comandi rende noto il numero di tale porta al client e attende che si connetta.

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.

  • Mentre con FTP l'invio di dati avviene tramite comandi testuali (ad esempio se voglio cancellare un file il comando da inviare al server sarà “DELE file.txt”) nel secondo la comunicazione è packet-based.
    Sempre facendo l'esempio che io voglia eliminare un file sul server non dovrò mandare un comando testuale ma un file binario, in questo caso 0xBC seguito dal nome del file “file.txt”.
    Il vantaggio di questo meccanismo è che la quantità di dati scambiata è inferiore rendendo quindi più veloci i trasferimenti che coinvolgono un grande numero di file.
  • La seconda differenza è che SFTP non utilizza due connessioni separate ma una unica in cui invia sia comandi che dati. Dal punto di vista della sicurezza questo ha il notevole vantaggio di utilizzare una singola connessione sicura che rende quindi la comunicazione più efficiente e snella.

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:

Parole: 975 | Tempo di lettura: 3 minuti circa

Altre notizie che potrebbero interessarti

Buone feste dallo staff

News Pubblicata il: 20-12-2024

Buone feste dallo staff


I nostri uffici resteranno chiusi dal 23/12/2024 al 06/01/2025 (compresi) per le festività natalizie. In caso di urgenze vi invitiamo ad utilizzare la nostra nuova sezione Assistenza.