In Internet, così come in altre reti, la co­mu­ni­ca­zio­ne tra persone e di­spo­si­ti­vi avviene per mezzo di pro­to­col­li. È come se sta­bi­lis­se­ro quelle che sono le regole della co­mu­ni­ca­zio­ne: chi deve mandare una de­ter­mi­na­ta in­for­ma­zio­ne e quando? Cosa succede se i dati non rag­giun­go­no il de­sti­na­ta­rio? Come si protegge la tra­smis­sio­ne da disturbi e in­tro­mis­sio­ni? Dunque, ogni qualvolta na­vi­ghia­mo in Internet, vengono adoperati dei pro­to­col­li denl modello ISO/OSI. I più noti sono HTTP e HTTPS, ovvero i pro­to­col­li che di solito uti­liz­zia­mo per ri­chia­ma­re i siti web. Un altro pro­to­col­lo im­por­tan­te è quello FTP. Ma per che cosa viene usato?

Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

A che cosa serve il File Transfer Protocol?

Il File Transfer Protocol (FTP) è uno dei pro­to­col­li più vecchi di Internet. Già a partire dal 1974 si inizia a lavorare con la tec­no­lo­gia di tra­smis­sio­ne dei file completi. Nel 1985 si definisce con esattezza il FTP nel documento Request For Comments 959. Il pro­to­col­lo viene pensato per l’ese­cu­zio­ne dei comandi di download e upload, così da poter tra­smet­te­re file dal proprio di­spo­si­ti­vo (pc, smart­pho­ne, ecc.) a un server e viceversa. Sempre con FTP si possono scaricare file da un server sul proprio di­spo­si­ti­vo.

L’utente dispone così di un sistema di gestione dei file ri­co­no­sciu­to 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 ge­rar­chi­ca delle directory.

Il File Transfer Protocol viene spesso uti­liz­za­to nella creazione dei siti web. At­tra­ver­so l’accesso FTP è possibile tra­smet­te­re file HTML a un server. Allo stesso modo, sempre grazie al FTP, i gestori di siti web possono rendere fruibili file mul­ti­me­dia­li ai propri utenti.

Come funziona il FTP?

Il File Transfer Protocol viene eseguito all’interno del livello ap­pli­ca­ti­vo dello stack TCP/IP, ossia nello stesso livello di HTTP o POP. Questi pro­to­col­li si ca­rat­te­riz­za­no per il loro fun­zio­na­men­to in com­bi­na­zio­ne con i programmi, come browser o client di posta elet­tro­ni­ca, grazie ai quali svolgono la propria funzione. Anche per il File Transfer Protocol esistono dei software FTP dedicati.

Di norma questi programmi hanno due com­po­nen­ti: 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. Pra­ti­ca­men­te anche i browser e la riga di comando del sistema operativo possono essere uti­liz­za­te grazie al FTP.

Fatto

Per poter uti­liz­za­re il FTP bisogna conoscere le in­for­ma­zio­ni di accesso (nome utente e password), di cui so­li­ta­men­te dispone il provider del server.

Per stabilire una con­nes­sio­ne 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 de­si­de­ra­ti da una parte all’altra. Il pro­to­col­lo controlla eventuali errori. Nel caso in cui una con­nes­sio­ne venga in­ter­rot­ta durante il tra­sfe­ri­men­to, il trasporto dei file può ri­pren­de­re non appena si sarà ri­sta­bi­li­to il contatto.

È ne­ces­sa­rio di­stin­gue­re però tra FTP attivo e passivo. Nella variante attiva è il client a stabilire la con­nes­sio­ne, come spiegato, at­tra­ver­so la porta 21 e a co­mu­ni­ca­re 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 con­nes­sio­ni esterne sono bloccate. Proprio per questi casi è stata svi­lup­pa­ta 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 con­nes­sio­ne, il firewall non blocca il tra­sfe­ri­men­to dei dati.

Il File Transfer Protocol dispone di vari comandi e codici di stato. Grazie a ben 32 comandi totali - non sempre ne­ces­sa­ria­men­te tutti im­ple­men­ta­ti dal server - il client istruisce il server su qual è l’ope­ra­zio­ne de­si­de­ra­ta: caricare o scaricare file, or­ga­niz­za­re cartelle, o can­cel­la­re 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.

So­li­ta­men­te si ne­ces­si­ta­no i dati di accesso per poter uti­liz­za­re il FTP su un server, ma c’è anche la pos­si­bi­li­tà che un server offra un FTP anonimo. In quest’ultimo caso, l'am­mi­ni­stra­to­re 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 pro­to­col­lo FTP

Il File Transfer Protocol originale venne creato senza misure di sicurezza pre­ven­ti­ve. All’epoca Internet era ancora molto piccolo e la cy­ber­cri­mi­na­li­tà non esisteva ancora. Ma col passare del tempo i rischi di sicurezza associati all’utilizzo del FTP sono diventati numerosi, venendo le in­for­ma­zio­ni trasmesse senza essere state pre­ce­den­te­men­te criptate. Perciò sono state svi­lup­pa­te due varianti sicure, che da allora con­ti­nua­no a farsi con­cor­ren­za: FTPS e SFTP. La prima variante consiste nel FTP over SSL. La con­nes­sio­ne viene stabilita uti­liz­zan­do 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 tra­smis­sio­ne sicura dei dati. Anche in questo caso la con­nes­sio­ne è criptata. Ma mentre il FTPS necessita di due con­nes­sio­ni, al SFTP ne basta una sola. In compenso però bisogna uti­liz­za­re un programma ag­giun­ti­vo.

N.B.

Esiste un ulteriore pro­to­col­lo, anch’esso ab­bre­via­to con “SFTP”: il Simple File Transfer Protocol. Questa variante cor­ri­spon­de a un’al­ter­na­ti­va sem­pli­fi­ca­ta del normale FTP e, esat­ta­men­te come questo, non dispone di alcun mec­ca­ni­smo di sicurezza. Questo SFTP non si è mai affermato e per questo ha ben poca rilevanza, anche storica.

Vai al menu prin­ci­pa­le