FTP, il che significa File Transfer Protocol, è un protocollo di rete standard utilizzato per il trasferimento di file di computer tra un client e un server su una rete basata su TCP/IP come Internet.
Alla fine dell'articolo troverai un piccolo test quello ti permetterà valutare le conoscenze acquisite in questa lettura
FTP è un modo per consentire il trasferimento sicuro di file da una posizione a un'altra e può anche abilitare la gestione dei file sul server.
In FTP sono disponibili due modalità di connessione: FTP attivo e FTP passivo.
FTP attivo
Nell'FTP attivo, la connessione viene avviata dal client a una porta di comando sul server. Quando il client richiede un trasferimento di file, il server avvia nuovamente la connessione dati al client.
Il flusso di informazioni in Active FTP avviene come segue:
- Il client si connette da una porta casuale (N) alla porta 21 sul server (la porta per FTP) e invia il comando PORT al server. Questo comando indica al server a quale porta connettersi (porta N+1).
- Una volta che il server riceve questo comando, si connette dalla sua porta dati (solitamente la porta 20) alla porta specificata dal client (N+1) e inizia il trasferimento dei dati.
Vantaggi dell'FTP attivo
- Semplifica la configurazione del server: L'FTP attivo è più semplice da configurare sul lato server perché è necessario aprire e ascoltare solo una singola porta (porta 21).
Svantaggi dell'FTP attivo
- Problemi relativi al firewall: I client dietro un firewall spesso riscontrano problemi con l'FTP attivo. Questo perché il firewall vede la connessione dati avviata dal server come non richiesta e la blocca.
- Requisiti di sicurezza: Può rappresentare un rischio per la sicurezza poiché il server avvia la connessione dati al client, che potrebbe essere sfruttata da un utente malintenzionato.
In breve, Active FTP è utile e facile da configurare dal lato server. Tuttavia, potrebbe avere problemi con i firewall client e presentare alcuni rischi per la sicurezza.
Per questi motivi, molte organizzazioni scelgono di utilizzare l'FTP passivo che, sebbene possa essere più difficile da configurare sul server, presenta meno problemi con i firewall e fornisce un migliore controllo sulle connessioni dati.
L'FTP attivo viene generalmente utilizzato nei seguenti scenari
Server con rigide restrizioni firewall: Se il server FTP è protetto da un firewall con rigide politiche di sicurezza che limitano le porte che possono essere utilizzate per le connessioni in entrata, l'FTP attivo potrebbe essere un'opzione praticabile poiché deve solo aprire e ascoltare la porta 21.
Limitazioni delle risorse del server: In FTP attivo, il server deve solo aprire e ascoltare una singola porta per tutte le connessioni dati. Ciò può essere utile se il server dispone di risorse limitate e non è in grado di gestire l'apertura di più porte come richiesto nell'FTP passivo.
Controllo della rete: Alcuni amministratori di rete potrebbero preferire l'FTP attivo perché consente un maggiore controllo sulle connessioni dati. In FTP attivo, il server avvia la connessione dati, il che significa che gli amministratori possono avere un maggiore controllo sui trasferimenti di dati.
FTP passivo
L'FTP passivo è stato progettato per superare i problemi di firewall e router nella connessione dati FTP attivo. A differenza dell'FTP attivo, nell'FTP passivo è il client che avvia entrambe le connessioni (la connessione comando e la connessione dati) con il server.
Il flusso di informazioni nell'FTP passivo è il seguente:
- Il client si connette da una porta casuale (N) alla porta 21 del server (la porta per FTP) e invia il comando PASV al server. Questo comando dice al server che è in modalità passiva e sta aspettando una risposta dal server con una porta per la connessione dati.
- Il server risponde dalla porta 21 alla porta N del client, fornendo una porta non privilegiata (maggiore di 1023) per ricevere la connessione dati.
- Il client quindi avvia la seconda connessione da un'altra porta casuale (N+1) alla porta non privilegiata specificata dal server. Una volta stabilita questa connessione, inizia il trasferimento dei dati.
Vantaggi dell'FTP passivo
- Superare i problemi con firewall e router: Firewall e router in genere consentono connessioni avviate dal client, quindi l'FTP passivo generalmente non presenta i problemi del firewall che si verificano con l'FTP attivo.
- Sicurezza avanzata: Poiché è il client ad avviare tutte le connessioni, il rischio di attacchi da parte del server è inferiore.
Svantaggi dell'FTP passivo
- Configurazione del server più complessa: Nell'FTP passivo, il server deve essere in grado di fornire e aprire più porte non privilegiate per le connessioni dati, che possono essere più difficili da configurare e gestire rispetto all'FTP attivo.
- Aumento del carico sul server: Poiché il server deve gestire più connessioni avviate dal client, potrebbe richiedere più risorse del server.
In conclusione, l'FTP passivo fornisce una soluzione ai problemi del firewall che spesso si verificano con l'FTP attivo e può anche fornire una maggiore sicurezza. Tuttavia, può essere più difficile da configurare sul server e potrebbe richiedere più risorse del server.
L'FTP passivo viene generalmente utilizzato nei seguenti scenari
Client dietro un firewall: L'FTP passivo è utile quando il client è protetto da un firewall che non consente connessioni in entrata. Nell'FTP passivo, è il client che avvia tutte le connessioni, quindi i firewall solitamente consentono queste connessioni.
NAT (traduzione degli indirizzi di rete): Se il client è dietro un NAT, potrebbe avere problemi con Active FTP perché il NAT potrebbe non sapere come gestire la connessione dati avviata dal server. L'FTP passivo può evitare questo problema poiché tutte le connessioni vengono avviate dal client.
Sicurezza: Alcune organizzazioni potrebbero preferire l'FTP passivo per considerazioni di sicurezza. Poiché tutte le connessioni vengono avviate dal client, il rischio di attacchi da parte del server è minore.
Trasmissione dati su larga scala: L'FTP passivo può gestire un gran numero di trasferimenti dati simultanei, poiché ogni trasferimento ha la propria connessione dati. Ciò può essere utile negli scenari in cui sono necessari molti trasferimenti di dati simultanei.
Esempi di configurazione su un dispositivo Cisco
Configurazione per FTP attivo
In questo caso, hai definito l'interfaccia da cui il router avvia le connessioni FTP e hai specificato il nome utente e la password da utilizzare per le connessioni FTP.
Router(config)# ip ftp source-interface FastEthernet 0/0
Router(config)# ip ftp username myusername
Router(config)# ip ftp password 0 mypassword
Configurazione FTP passiva
Il comando 'ip ftp passive' configura il router per utilizzare l'FTP passivo invece dell'FTP attivo. Il nome utente e la password per le connessioni FTP possono essere configurati allo stesso modo dell'FTP attivo.
Router(config)# ip ftp passive
Esempi di configurazione su un dispositivo MikroTik
Configurazione per FTP attivo
Questo comando 'fetch' avvia un trasferimento di file dal router MikroTik (client) al server FTP. La modalità predefinita è FTP attivo.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
Configurazione FTP passiva
Aggiungendo l'opzione 'passive: yes', il comando 'fetch' utilizzerà l'FTP passivo invece dell'FTP attivo.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
passive: yes
Tabella comparativa delle modalità di connessione FTP attivo e FTP passivo
FTP attivo | FTP passivo | |
---|---|---|
Vantaggi | 1. Configurazione più semplice sul server: è necessario aprire e ascoltare solo una singola porta. | 1. Meno problemi con firewall e NAT perché il client avvia tutte le connessioni. |
2. Minore richiesta di risorse del server: il server deve solo aprire e ascoltare una singola porta. | 2. Migliora la sicurezza poiché tutte le connessioni vengono avviate dal client. | |
3. Maggiore controllo della rete: il server avvia le connessioni dati. | 3. Può gestire un gran numero di trasferimenti dati simultanei poiché ogni trasferimento ha la propria connessione dati. | |
Svantaggi | 1. Problemi con firewall e NAT lato client: possono bloccare la connessione dati avviata dal server. | 1. Configurazione più complessa sul server: è necessario fornire e aprire più porte. |
2. Possibili rischi per la sicurezza: il server avvia la connessione dati al client. | 2. Aumento della domanda di risorse del server: il server deve gestire più connessioni avviate dal client. |