Cos'è ftp?

FTP (File Transfer Protocol)

FTP (File Transfer Protocol) è un protocollo di rete standard utilizzato per trasferire file tra un client e un server su una rete TCP/IP, come Internet. È uno dei protocolli applicativi più antichi di Internet, creato prima dell'avvento del World Wide Web.

Funzionamento:

Il protocollo FTP funziona stabilendo due connessioni tra il client e il server:

  • Connessione di Controllo (porta 21): Questa connessione viene utilizzata per inviare comandi (ad esempio, per navigare tra le directory, elencare i file, richiedere un file) e ricevere risposte.
  • Connessione Dati (porta 20 o una porta negoziata): Questa connessione viene utilizzata per il trasferimento effettivo dei dati dei file. Può operare in due modalità principali:
    • Modalità Attiva: Il client comunica al server l'indirizzo IP e la porta su cui è in ascolto per la connessione dati. Il server avvia la connessione dati al client. Questa modalità può causare problemi con i firewall client.
    • Modalità Passiva: Il server apre una porta casuale e comunica al client la porta su cui è in ascolto. Il client avvia la connessione dati al server. Questa modalità è più firewall-friendly.

Autenticazione:

FTP richiede generalmente l'autenticazione, ovvero l'utente deve fornire un nome utente e una password per accedere al server. Tuttavia, alcuni server FTP supportano l'accesso anonimo (vedi https://it.wikiwhat.page/kavramlar/FTP%20Anonimo) dove gli utenti possono accedere al server senza autenticazione, spesso utilizzando "anonymous" come nome utente e il proprio indirizzo email come password.

Sicurezza:

FTP originale è un protocollo non crittografato. Questo significa che i nomi utente, le password e i dati trasferiti vengono inviati in chiaro sulla rete, rendendoli vulnerabili all'intercettazione (sniffing). Per questo motivo, si sconsiglia l'utilizzo di FTP non sicuro per la trasmissione di dati sensibili.

Esistono alternative più sicure a FTP, tra cui:

  • FTPS (FTP Secure): Aggiunge un livello di sicurezza TLS/SSL (vedi https://it.wikiwhat.page/kavramlar/TLS/SSL) per crittografare i dati e le credenziali.
  • SFTP (SSH File Transfer Protocol): Un protocollo di trasferimento file sicuro che opera sopra SSH (Secure Shell). Utilizza la porta 22 per impostazione predefinita. Offre una crittografia forte e autenticazione robusta. Vedi https://it.wikiwhat.page/kavramlar/SSH.

Client FTP:

Un client FTP (vedi https://it.wikiwhat.page/kavramlar/Client%20FTP) è un software che consente agli utenti di connettersi a un server FTP e trasferire file. Esempi di client FTP includono FileZilla, Cyberduck, WinSCP (quest'ultimo supporta anche SFTP) e comandi FTP integrati in sistemi operativi come Linux, macOS e Windows.

Utilizzo:

Anche se sempre meno utilizzato a favore di alternative più sicure, FTP può essere utile per:

  • Trasferire file di grandi dimensioni (ma solo con FTPS o SFTP).
  • Gestire file su un server web.
  • Eseguire backup di file (ma solo con FTPS o SFTP).
  • Scaricare file da server FTP pubblici (ad esempio, archivi di software, immagini ISO).

In sintesi: FTP è un protocollo di trasferimento file obsoleto e non sicuro nella sua forma originale. Se si deve utilizzare un protocollo basato su FTP, FTPS o SFTP sono le alternative raccomandate.