FTP: che cos’è e come funziona il File Transfer Protocol

In Internet, così come in altre reti, la comunicazione tra persone e dispositivi avviene per mezzo di protocolli. È come se stabilissero quelle che sono le regole della comunicazione: chi deve mandare una determinata informazione e quando? Cosa succede se i dati non raggiungono il destinatario? Come si protegge la trasmissione da disturbi e intromissioni? Dunque, ogni qualvolta navighiamo in Internet, vengono adoperati dei protocolli denl modello ISO/OSI. I più noti sono HTTP e HTTPS, ovvero i protocolli che di solito utilizziamo per richiamare i siti web. Un altro protocollo importante è quello FTP. Ma per che cosa viene usato?

A che cosa serve il File Transfer Protocol?

Il File Transfer Protocol (FTP) è uno dei protocolli più vecchi di Internet. Già a partire dal 1974 si inizia a lavorare con la tecnologia di trasmissione dei file completi. Nel 1985 si definisce con esattezza il FTP nel documento Request For Comments 959. Il protocollo viene pensato per l’esecuzione dei comandi di download e upload, così da poter trasmettere file dal proprio dispositivo (pc, smartphone, ecc.) a un server e viceversa. Sempre con FTP si possono scaricare file da un server sul proprio dispositivo.

L’utente dispone così di un sistema di gestione dei file riconosciuto anche dal proprio sistema operativo. I file possono essere inseriti all’interno di cartelle, le quali a loro volta possono essere contenute in altre cartelle, dando così vita a una struttura gerarchica delle directory.

Il File Transfer Protocol viene spesso utilizzato nella creazione dei siti web. Attraverso l’accesso FTP è possibile trasmettere file HTML a un server. Allo stesso modo, sempre grazie al FTP, i gestori di siti web possono rendere fruibili file multimediali ai propri utenti.

Come funziona il FTP?

Il File Transfer Protocol viene eseguito all’interno del livello applicativo dello stack TCP/IP, ossia nello stesso livello di HTTP o POP. Questi protocolli si caratterizzano per il loro funzionamento in combinazione con i programmi, come browser o client di posta elettronica, grazie ai quali svolgono la propria funzione. Anche per il File Transfer Protocol esistono dei software FTP dedicati.

Di norma questi programmi hanno due componenti: una che serve a mostrare la struttura di directory locale con tutti i file contenuti nel disco rigido, e l’altra che mostra la memoria del server con i relativi file e cartelle. Il software permette all’utente di spostare i file da una memoria virtuale a un'altra, in entrambe le direzioni. Praticamente anche i browser e la riga di comando del sistema operativo possono essere utilizzate grazie al FTP.

Fatto

Per poter utilizzare il FTP bisogna conoscere le informazioni di accesso (nome utente e password), di cui solitamente dispone il provider del server.

Per stabilire una connessione FTP vengono aperti due canali. Per prima cosa client e server creano un canale di controllo tramite la porta 21, tramite il quale il client invia comandi al server e questo risponde con i codici di stato. Dopodiché entrambi possono creare un canale dati che trasporta i file desiderati da una parte all’altra. Il protocollo controlla eventuali errori. Nel caso in cui una connessione venga interrotta durante il trasferimento, il trasporto dei file può riprendere non appena si sarà ristabilito il contatto.

È necessario distinguere però tra FTP attivo e passivo. Nella variante attiva è il client a stabilire la connessione, come spiegato, attraverso la porta 21 e a comunicare al server su quale porta lato cliente questo può inviare la propria risposta. Ma se il client è protetto da un firewall, allora il server non potrà inviare alcuna risposta in quanto tutte le connessioni esterne sono bloccate. Proprio per questi casi è stata sviluppata una modalità passiva, che prevede che sia il server a rendere nota la porta tramite la quale il client può creare il canale dati. In questo modo, essendo il client a iniziare la connessione, il firewall non blocca il trasferimento dei dati.

Il File Transfer Protocol dispone di vari comandi e codici di stato. Grazie a ben 32 comandi totali - non sempre necessariamente tutti implementati dal server - il client istruisce il server su qual è l’operazione desiderata: caricare o scaricare file, organizzare cartelle, o cancellare file. Il server risponde ogni volta con un codice di stato che serve a informare se il comando può essere eseguito o meno con successo.

Solitamente si necessitano i dati di accesso per poter utilizzare il FTP su un server, ma c’è anche la possibilità che un server offra un FTP anonimo. In quest’ultimo caso, l'amministratore del server permette a ciascun utente di spostare o scaricare file sul server tramite FTP, senza dover aver bisogno di una password. Tuttavia, i server con FTP aperto corrono dei rischi di sicurezza, motivo per il quale si pongono dei limiti agli utenti.

Sicurezza con il protocollo FTP

Il File Transfer Protocol originale venne creato senza misure di sicurezza preventive. All’epoca Internet era ancora molto piccolo e la cybercriminalità non esisteva ancora. Ma col passare del tempo i rischi di sicurezza associati all’utilizzo del FTP sono diventati numerosi, venendo le informazioni trasmesse senza essere state precedentemente criptate. Perciò sono state sviluppate due varianti sicure, che da allora continuano a farsi concorrenza: FTPS e SFTP. La prima variante consiste nel FTP over SSL. La connessione viene stabilita utilizzando i Secure Socket Layers (SSL), ossia il Transport Layer Security (TLS), che serve a criptare lo scambio di dati.

Il SSH File Transfer Protocol (SFTP), al contrario, utilizza il Secure Shell (SSH) per garantire una trasmissione sicura dei dati. Anche in questo caso la connessione è criptata. Ma mentre il FTPS necessita di due connessioni, al SFTP ne basta una sola. In compenso però bisogna utilizzare un programma aggiuntivo.

N.B.

Esiste un ulteriore protocollo, anch’esso abbreviato con “SFTP”: il Simple File Transfer Protocol. Questa variante corrisponde a un’alternativa semplificata del normale FTP e, esattamente come questo, non dispone di alcun meccanismo di sicurezza. Questo SFTP non si è mai affermato e per questo ha ben poca rilevanza, anche storica.


Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.