Server FTP domestico – Introduzione, nozioni di base e tutorial

Der Artikel rund um FTP beschreibt Grundlagen, Betrieb eines eigenen FTP-Servers, FTP-Clients sowie Tipps und Tricks zur Fehlersuche.

Server FTP domestico – Introduzione, nozioni di base e tutorial

FTP-Programm
  1. Rivista
  2. »
  3. Articolo
  4. »
  5. Rete
  6. »
  7. Server FTP domestico – Introduzione, nozioni di base e tutorial

In questo tutorial esaminiamo il principio di funzionamento con le basi di un server FTP, spieghiamo come far funzionare il proprio server FTP utilizzando varie soluzioni gratuite e shareware e, infine, affrontiamo la risoluzione di problemi come “server FTP dietro router” e “server FTP e firewall”.

  • Imparare cos’è e come funziona un server FTP.
  • Imparate a configurare il vostro server FTP in questa guida.
  • Suggerimenti e trucchi per il vostro server FTP completano questa guida.

Fondamenti di FTP, programmi consigliati

Nella prima sezione vi insegniamo le basi dell’FTP e vi presentiamo alcuni programmi per server FTP e client FTP.

Cos’è un server FTP

Con il proprio server FTP, è possibile mettere a disposizione degli altri utenti i file da scaricare e farli caricare sul proprio server.

Principio di funzionamento

FTP sta per File Transfer Protocol ed è un protocollo per il trasferimento di dati. È stato introdotto nel 1970 ed è uno dei protocolli più vecchi di Internet. Il protocollo FTP si basa sul noto protocollo TCP e funziona secondo il principio client-server. Vengono stabilite due connessioni.

In primo luogo, viene stabilita una connessione di controllo (canale di comando). Come suggerisce il nome, viene utilizzata per la comunicazione tra il server e il client. La comunicazione avviene con un certo numero di comandi. Vedremo alcuni comandi più avanti, quando introdurremo i client FTP durante la creazione della connessione. Dopo che la connessione è stata stabilita tramite il canale di controllo, è possibile avviare il trasferimento dei dati, che avviene tramite il canale dei dati.

Rappresentazione schematica del principio di un trasferimento FTP:

FTP-Server
server FTP

Inserire: porta piccola cliente

Le porte sono interfacce che consentono di effettuare più connessioni logiche quando si è fisicamente collegati a una rete (compresa Internet). Le porte sono numerate da 0 a 65535 e possono essere utilizzate da processi o programmi.
Le porte da 0 a 1023 appartengono al gruppo delle “porte ben note” e sono assegnate dalla IANA. Ogni sistema sa quali protocolli operano in questo intervallo di porte.
Le porte da 1024 a 49151 appartengono al gruppo delle “porte registrate”, che sono utilizzate da processi e applicazioni e possono essere registrate dagli sviluppatori di applicazioni per i propri protocolli.
Le porte da 49152 a 65535 appartengono al gruppo delle “porte dinamiche e/o private”. Come suggerisce il nome, sono assegnate dinamicamente dall’host su richiesta dei processi e non sono assegnate direttamente ad alcuna applicazione.

Modalità di connessione attiva e passiva

Esistono due approcci diversi per inizializzare un trasferimento da un client: la modalità di connessione attiva e quella passiva. Entrambe hanno in comune il fatto che prima viene stabilita una connessione di controllo (prima freccia), attraverso la quale vengono inviati i comandi FTP, e poi viene stabilita una connessione per il trasferimento dei dati (seconda freccia). La differenza tra le due modalità di connessione sta in chi stabilisce queste connessioni: il client o il server. In dettaglio, ecco come funziona:

Modalità di connessione attiva

Aktiver FTP-Modus
Modalità FTP attiva

Procedura: Il client riserva 2 porte TCP dell’intervallo 1024-65535 per il proprio uso, stabilisce la connessione di controllo alla porta 21 del server tramite la prima porta e informa il server del numero della seconda porta su cui il client attende i dati.

Nota: negativo per il client, perché un trasferimento di dati è potenzialmente impedito da un filtro di porta, poiché in linea di principio tutte le porte >1024 dovrebbero essere aperte. Bene per l’amministratore del server, perché deve liberare solo 2 porte.

Modalità di connessione passiva

Passiver FTP-Modus
Modalità FTP passiva

Procedura: Il client riserva 2 porte TCP dell’intervallo 1024-65535 per il proprio uso e stabilisce la connessione di controllo alla porta 21 del server tramite la prima porta. Poiché si desidera una connessione passiva, il client invia il comando PASV dal set di comandi FTP indirizzato. In questo modo il server viene informato: Si desidera una connessione passiva, quindi riserva una porta TCP dall’intervallo 1024-65535 per il trasferimento dei dati e informa il client di questa porta. Il trasferimento dei dati può ora iniziare, perché la porta per il trasferimento dei dati è stata negoziata.

Nota: è un bene per il client, perché entrambe le connessioni vengono stabilite dal lato client, quindi le porte vengono aperte solo quando necessario; è un male per l’amministratore del server, perché deve consentire la connessione a tutte le porte del server o ha bisogno di un gateway a livello di applicazione che segua la comunicazione tra server e client e apra la porta selezionata quando necessario.

Modalità di trasferimento

Il protocollo FTP comprende due modalità di trasferimento: ASCII e binaria. La modalità ASCII può e deve essere utilizzata per trasferire file di testo (TXT, HTML, ecc.). Tra l’altro, le interruzioni di riga vengono adattate al sistema operativo di destinazione. Questa modalità di trasporto richiede più tempo a causa della ricodifica, ma garantisce una corretta visualizzazione dei contenuti su tutti i sistemi. In modalità binaria, i dati vengono trasferiti byte per byte così come sono, cioè senza modificare il contenuto. Tutti gli altri file che non contengono testo devono essere trasferiti in modalità binaria, ad esempio gli archivi o la grafica. Nel client FTP si deve cercare una funzione di selezione automatica, che di solito è attiva anche per impostazione predefinita.

Autenticazione

Ogni utente deve autenticarsi al server FTP con un nome utente e una password. Esiste anche l’opzione di un login anonimo, di solito senza password o con un indirizzo di posta elettronica dell’amministratore come password. L’uso di questo account standard consente di accedere facilmente al server FTP, ma deve essere usato con cautela su un server FTP domestico, poiché chiunque può accedere al server. I diritti di accesso e le aree di accesso devono essere scelti con attenzione. I server FTP pubblici di solito offrono questo accesso.

Sicurezza

Tenete presente che l’FTP funziona in modo completamente non criptato ed è quindi suscettibile di intercettazioni. Le alternative sono illustrate più avanti in questa serie di articoli con SFTP (utilizza SSH) e FTPS (utilizza SSL/TLS). Un’altra opzione è quella di impostare preventivamente un tunnel VPN crittografato verso il sistema di destinazione, se possibile.

Che cos’è l’SSL?

SSL, acronimo di Secure Sockets Layer, è un protocollo di crittografia ibrido per la trasmissione sicura dei dati su Internet ed è utilizzato principalmente per crittografare le connessioni web sicure tramite https.

Nome del server DNS per il server FTP

Innanzitutto, c’è un problema fondamentale (almeno per quasi tutti gli utenti): Un server FTP può essere raggiunto solo tramite un indirizzo IP. Ma ogni volta che la connessione a Internet viene stabilita e terminata, il provider di solito assegna un nuovo indirizzo IP (indirizzo IP dinamico). Il problema: i client FTP non riescono più a trovare il server FTP con il vecchio indirizzo IP.

Per risolvere questo problema, esistono provider che permettono di riservare un nome fisso. Questo nome si riferisce al vostro indirizzo IP quando viene richiamato. Probabilmente il servizio più noto si chiama DynDNS e può essere trovato qui: http://www.dyndns.org. Se si desidera utilizzare un server FTP sul proprio computer, è necessario un client di aggiornamento per informare il servizio DynDNS dell’indirizzo IP corrente.

Nota: la maggior parte dei proprietari di router può fare a meno del client di aggiornamento, poiché questa funzionalità è oggi integrata nella maggior parte dei router. A seconda del modello di router, è possibile gestire uno o più account DynDNS. Il modo più semplice per farlo è consultare il manuale del router. Con il Fritz!Box, la funzione DynDNS è già possibile tramite MyFRITZ! e non è necessario alcun software o servizio di terze parti.

Per ulteriori informazioni sull’impostazione di DynDNS, consultate il nostro articolo Aggiornamento DNS dinamico per la homepage locale.

A questo punto l’indirizzo del server DNS dovrebbe essere pingabile da Internet. Se non funziona, anche il server FTP non sarà accessibile.

Server FTP

Il solo nome del server non è sufficiente, perché manca ancora il server FTP stesso.

Di seguito vengono descritti, a titolo di esempio, 2 pacchetti software per server. È meglio decidere da soli quale sia il più adatto alle proprie esigenze. La gestione e le caratteristiche determinano la scelta. FileZilla Server è ampio, ma in lingua inglese, Quick ‘n Easy FTP Server è più piccolo, ma di più facile accesso, soprattutto per gli utenti Windows, e disponibile anche in tedesco. Nel nostro archivio software, nella sezione server FTP, troverete altri server FTP gratuiti e a pagamento.

Prima, però, alcune nozioni di base:

Percorsi virtuali

Purtroppo, non sempre i dati sono memorizzati sul disco rigido nella struttura che si vorrebbe offrire all’utente. La soluzione è l’uso di percorsi virtuali. Il sistema è semplice e geniale allo stesso tempo. Si definisce un secondo percorso, gli si dà un nome e lo si fa visualizzare in un altro percorso. La seguente illustrazione dovrebbe chiarire il principio:

Virtuelle Pfade
Percorsi virtuali

Caricare o scaricare

Tra le quattro mura di casa, con un server FTP si raggiungono rapidamente i limiti della connessione Internet. La velocità di download del client è pari alla velocità di upload della vostra linea. Poiché la maggior parte delle linee non sono sincrone e le velocità di download e upload differiscono, è necessario orientarsi sempre sulla propria velocità di upload. Per gli utenti di DSL 16000, di solito si tratta di una velocità compresa tra 1.024 kbit/s e 2.400 kbit/s, a seconda del provider.

L’ideale sarebbe quindi un server che offra da 128 kbit/s a 256 kbit/s; la navigazione simultanea su Internet sarebbe quindi fuori discussione. Un limite di 100 KByte/s si è dimostrato utile a questa velocità di upload. Se si devono gestire più utenti, ha più senso impostare il limite nelle opzioni del gruppo. In questo caso ha senso limitare anche le connessioni simultanee massime, perché gli utenti devono condividere la larghezza di banda in caso di connessione simultanea al server.

Avvio automatico

Sconsiglio di inserire un link al server FTP nell’avvio automatico, perché in questo modo si tiene sempre aperta la porta 21 del computer. Il software del server deve essere usato con cautela e avviato quando necessario. Un’alternativa potrebbe essere quella di configurare un PC server che non sia utilizzato come PC workstation, con diritti molto restrittivi in tutte le aree.

Server FileZilla

FileZilla Server si trova nell’archivio software di WinTotal.

Quando si installa questo pacchetto server, non bisogna cliccare alla cieca, perché ci sono opzioni piuttosto importanti già incluse nel programma di installazione. A questo punto è necessario impostare il tipo di avvio del server (come servizio che si avvia con Windows, come servizio da avviare manualmente o la variante di avvio automatico come una normale applicazione). Inoltre, è necessario selezionare la porta con cui l’interfaccia Config si connetterà successivamente al server.

FileZilla Server
FileZilla Server

La schermata seguente chiede quando avviare l’interfaccia del server. Dopo l’installazione, viene stabilita una connessione locale al server. L’interfaccia appare inizialmente spartana, ma visualizza il file di log e si riempie presto. La voce di menu “Modifica” contiene le impostazioni. Le voci sono accessibili anche tramite i pulsanti della barra dei menu. Per prima cosa creo un gruppo.

FileZilla Server
FileZilla Server

Già a questo punto è possibile definire varie restrizioni (ad esempio i limiti di banda) e gli accessi alle directory. La directory home è contrassegnata da una “H” davanti al percorso. Quando si condividono le directory, bisogna fare attenzione a non concedere accessi non necessari. Per il momento sono sufficienti gli attributi standard Read e List. È possibile aggiungere altri percorsi, mentre i percorsi virtuali possono essere definiti solo in seguito tramite il menu contestuale del percorso, utilizzando la voce “Modifica alias”. La sintassi è leggermente diversa da quella di altri server FTP, ma consente una maggiore flessibilità. L’alias è composto dal percorso di destinazione + l’alias effettivo, nel mio caso “C:WINDOWSWebWallpaperaltreimmagini”.

FileZilla Server – Verzeichnisse
FileZilla Server – directory

Ora è necessario creare un utente. La password può essere attivata e definita solo dopo la creazione di un utente.

FileZilla Server – Benutzer anlegen
FileZilla Server – creare un utente

In precedenza ho creato un gruppo e vi ho già definito i percorsi. Qui ho impostato solo l’appartenenza al gruppo “gruppo di prova” e il login è già possibile. In questo modo, tuttavia, è possibile gestire più utenti in modo centralizzato, poiché il FileZilla Server offre il segnaposto “:u” per il nome dell’utente.

Un altro caso interessante è quello di rendere disponibile una cartella di upload, cioè una cartella in cui un utente FTP può caricare qualcosa. Ha senso fornire una cartella propria, poiché i permessi di scrittura devono essere scelti con attenzione per non perdere traccia della propria struttura di cartelle.

FileZilla Server – Upload-Ordner bereitstellen
FileZilla Server – Fornire una cartella di upload

In questo esempio, la cartella “C:Upload” viene visualizzata come cartella virtuale nella cartella iniziale dell’utente FTP con il nome “Upload”. A questo scopo, l’utente riceve i diritti di scrittura (Write), di creazione (Create) e di append (Append). Questi ultimi diritti vengono utilizzati anche per continuare un upload. Le impostazioni di questa cartella sono ereditate dalle sottocartelle (+ sottodirectory). Ecco come appare il risultato sul lato client:

Virtueller Ordner mit Subdirs
Cartella virtuale con sottocartelle

Alla voce di menu “Impostazioni” si trovano le impostazioni specifiche del server, l’intervallo di porte per le connessioni passive, la porta del server, i timeout, il comportamento all’avvio, la compressione, ecc. Il supporto SSL/TLS dovrebbe essere menzionato in modo più dettagliato (Secure-FTP). Con l’aiuto della procedura guidata, è possibile creare il proprio certificato o integrarne uno esistente. In questo modo è possibile effettuare un’autenticazione sicura. La procedura verrà descritta più avanti in questo articolo.

FileZilla Server – Settings
FileZilla Server – Impostazioni

Server FTP facile e veloce

Un altro server FTP molto facile da usare viene dai Paesi Bassi e si chiama Quick’n Easy FTP Server. Potete trovare Quick’n Easy FTP Server nell’archivio software di WinTotal.

L’interfaccia è molto simile a quella di Windows, il che rende la navigazione facile, soprattutto per i principianti. Non è necessaria alcuna installazione, le impostazioni sono memorizzate in un file XML. Il server può quindi essere avviato praticamente da qualsiasi posizione sul disco rigido. È sufficiente disimballarlo e iniziare. Quando si avvia il server per la prima volta, si viene accolti da una procedura guidata che chiede il nome utente, la password, la home directory del nuovo utente e i diritti di accesso ad essa. Dopodiché, il server è pronto per essere avviato.

Il primo passo consiste nell’accedere all’amministrazione degli utenti, raggiungibile a sinistra nell’area delle attività alla voce “Account utente”. Fare quindi clic sul nuovo utente per visualizzare le opzioni corrispondenti.

Quick’n Easy FTP Server
Quick’n Easy FTP Server

È il riquadro delle attività a sinistra che rende l’amministrazione così semplice. I percorsi virtuali sono visualizzati in basso a destra. È possibile definire nuovi percorsi tramite il menu contestuale o l’area operativa (sotto “Directory virtuali”). Ecco come si presenta:

Quick’n Easy FTP Server – Virtuelle Pfade
Quick’n Easy FTP Server – Percorsi virtuali

La schermata mostra anche che il limite di download è stato impostato a 10 (KB/s).

Le impostazioni dell’intero server sono accessibili facendo clic su “Configurazione” nell’area delle attività. Qui è possibile definire, ad esempio, il comportamento all’avvio, i messaggi del server e la home directory predefinita. Facendo clic sul grande pulsante verde “Avvia” in alto a sinistra, il server viene messo online.

Altri server FTP

Un server esclusivamente in lingua tedesca è Personal FTP Server. Nella versione gratuita, la gamma di funzioni è limitata. Altre alternative ai server presentati sono CesarFTP e TYPSoft FTP Server, ma quest’ultimo non offre alcuna limitazione di banda. Non appena qualcuno scarica qualcosa, la sua linea è in gran parte bloccata. Chi vuole utilizzare il proprio computer come server web e FTP dovrebbe dare un’occhiata al pacchetto XAMPP per Windows, che include il server FileZilla.

Per le esigenze più elevate, si è dimostrato valido il server tedesco PSFTP, offerto in varie edizioni.

Una buona panoramica, anche se in inglese, dei 20 migliori server FTP gratuiti per Windows si trova anche nell’articolo di comparitech.com.

Client FTP

Con un client FTP è possibile collegarsi a un server FTP e scaricare e caricare dati.

FileZilla

FileZilla non è disponibile solo come server FTP, ma anche come client FTP, con un vantaggio decisivo rispetto a molti altri: È possibile installarlo o scegliere una variante pacchettizzata che funziona senza installazione. La versione impacchettata, detta portatile, può essere inserita in una chiavetta USB o masterizzata su un CD (ovviamente non è possibile modificare i preferiti o le impostazioni). Il download del client FTP (anch’esso portatile) è disponibile qui.

In Modifica – Impostazioni – Impostazioni interfaccia – Lingua è possibile cambiare la lingua in tedesco. “Impostazioni interfaccia” ora si chiama “Impostazioni interfaccia”. Fare clic su di esso e selezionare “Visualizzazione cartella server”. In questo modo è possibile navigare rapidamente tra le sottostrutture sul lato server.

FileZilla
FileZilla

L’interfaccia del programma dall’alto verso il basso: Per prima cosa viene la barra degli strumenti. L’icona all’estrema sinistra conduce al gestore dei server, paragonabile ai preferiti/segnalibri del browser. I simboli all’estrema destra, prima del punto interrogativo, facilitano la comunicazione con il server FTP. Si usano per annullare un’azione e per disconnettersi e riconnettersi al server. I simboli intermedi servono alla rappresentazione visiva del client.

Al di sotto di questi, è presente una barra che consente una connessione rapida. Sono necessari l’indirizzo del server, il nome utente e la password. La porta non deve essere inserita, solo se differisce da quella standard.

L’area sottostante viene utilizzata per visualizzare i comandi di stato durante la connessione al server. Questa finestra è particolarmente importante se si verifica un errore. Nell’area centrale sono visualizzati gli alberi delle directory/contenuti del client (a sinistra) e del server (a destra). Nella finestra inferiore sono visualizzati i trasferimenti in corso.

Ora è possibile testare il server FTP. A tale scopo, avviare un client FTP – in questo caso FileZilla – sul computer su cui è in esecuzione il server FTP. Questo dovrebbe funzionare in ogni caso, perché nessun componente tra il server e il client può interferire con la comunicazione. Inserite “localhost” come indirizzo. Il mio utente si chiama “Test”, ha anche una password, quindi la connessione può essere avviata. Ecco il risultato di una connessione riuscita:

FileZilla – Verbindungsaufbau
FileZilla – stabilire una connessione

Dal proprio computer è possibile connettersi al server con “localhost” o “127.0.0.1”. Da un altro computer all’interno della propria rete, è possibile raggiungere il server FTP tramite indirizzo IP, nome NETBIOS o, se il programma di aggiornamento DynDNS è in esecuzione sul computer, anche tramite il nome del server (dall’articolo DynDNS). Da Internet, è necessario utilizzare il nome del server registrato, indipendentemente dal fatto che il client DynDNS sia in esecuzione sul computer o in un eventuale router esistente.

SmartFTP

SmartFTP è uno dei migliori client FTP ed è disponibile per una prova di 30 giorni. Dopo 30 giorni, viene visualizzata solo una schermata di avviso per indicare il tempo di esecuzione del programma. SmartFTP è multilingue e può essere scaricato dal nostro archivio software WinTotal.

L’interfaccia si presenta come segue:

SmartFTP
SmartFTP

La struttura dell’interfaccia è la stessa di FileZilla: barra degli strumenti, barra di connessione rapida e coda di trasferimento in basso. L’area grigia mostra l’albero delle directory/il contenuto quando ci si connette a un server. La visualizzazione può essere modificata tramite le voci di menu Visualizza e Finestra. Dopo l’accesso, l’aspetto può essere il seguente:

SmartFTP – Verbunden

Come FileZilla, SmartFTP offre anche una gestione dei preferiti in cui è possibile organizzare i server FTP visitati di frequente. Vale la pena di esplorare le possibilità del programma, la cui portata andrebbe oltre lo scopo di questo articolo. Entrambi i client FTP hanno in comune un funzionamento semplice. Per trasportare i dati, è sufficiente trascinare e rilasciare i file e le cartelle corrispondenti dal lato locale a quello del server, in modo simile a Windows Explorer.

Altri client FTP

Altri client gratuiti davvero interessanti sono scarsi, poiché spesso si tratta di versioni leggere di client FTP shareware. In un altro articolo vi verranno mostrate altre possibilità, che non voglio anticipare in questa sede. LeechFTP è degno di nota, ma il suo sviluppo è stato interrotto (o una versione acquistabile apparirà con un nome diverso), così come Staff-FTP.

Una buona scelta tra i client FTP a pagamento è il tedesco PSFtp.

Browser Web come client FTP: È anche possibile accedere a un server FTP con un browser. La sintassilautet:ftp://benutzername:passwort@hostname.domain
Ad esempio: ftp://jemand:test@nobodys.homeftp.net. Si noti, tuttavia, che i browser non sono adatti per accedere a un server FTP. Non offrono quasi nessuna funzione FTP, sono lenti e non si disconnettono dal server FTP quando la pagina viene chiusa. Se nel server FTP sono definite le connessioni massime per IP o per utente, può anche accadere che non si riesca più ad accedere abbastanza rapidamente se si digita più volte l’indirizzo nel browser. Solo nel caso di singoli download tramite link diretto è ragionevole utilizzare l’accesso via browser.

Riflessioni sul proprio server FTP

Se si desidera creare un server FTP a casa propria, è necessario che siano presenti alcuni elementi. Ad esempio, la vostra connessione a Internet deve essere aperta in modo che gli altri utenti possano raggiungere il server. Anche il vostro upload deve essere sufficientemente grande, perché ciò che è upload per il vostro computer è download per gli altri utenti. Un antivirus è assolutamente necessario, soprattutto se gli utenti possono caricare file sul proprio computer.

Tenete presente che l’FTP è fondamentalmente un metodo di trasferimento di file non criptato. Scegliete quindi il vostro server FTP in base alle circostanze. Per i server FTP che sono disponibili per un periodo di tempo più lungo e su Internet, non si dovrebbe rinunciare a una variante criptata.

All’interno di FTP – Crittografia e approfondimento delle informazioni

In questa parte vengono presentate le alternative per i client e i pacchetti server. Inoltre, viene discusso il trasferimento sicuro di file criptati e viene spiegato il trasferimento FXP. Questo articolo approfondisce le conoscenze su FTP.

Spiegazione dei termini SSH, SCP, SFTP, Secure FTP e FTPS

In questa parte includerò le tecniche di crittografia per il trasferimento dei dati, quindi spiegherò innanzitutto i termini SSH, SCP, SFTP, Secure FTP e FTPS.

  • SSH sta per Secure Shell ed è sia un protocollo (porta TCP 22) che un programma. SSH consente una connessione dati sicura e crittografata tra due computer.
  • SCP è l’acronimo di Secure Copy e, come SSH, è sia un protocollo che un programma. Viene utilizzato per copiare i dati tra server e client attraverso una connessione sicura e crittografata via SSH.
  • SFTP, acronimo di SSH File Transfer Protocol, è la continuazione logica dell’idea di SCP e fornisce all’utente una serie di comandi per comunicare tra due computer ed eseguire azioni. SFTP utilizza SSH per crittografare l’autenticazione, la comunicazione e il trasferimento di dati tra due computer. L’uso sembra simile a quello di FTP, ma SFTP è un protocollo completamente separato che funziona in modo diverso. C’è una sola connessione (cioè non ci sono canali di controllo e di dati separati) e viene utilizzata una sola porta (predefinita: la porta 22). Attualmente solo pochi client e server supportano SFTP.
  • Esiste anche Secure FTP, che si basa nuovamente su FTP. In questo caso, l’autenticazione e le modifiche alla directory sono criptate tramite un tunnel SSH, mentre il resto della comunicazione, compreso il trasferimento dei dati, non è criptato. Questo ha il vantaggio che i computer coinvolti non sono così pesantemente gravati dalla crittografia come nel caso della crittografia completa della comunicazione. Si distingue tra FTP sicuro esplicito e implicito. Con l’FTP sicuro implicito, la crittografia tramite SSL/TLS è obbligatoria quando si accede a un dominio; con l’FTP sicuro esplicito, è possibile anche l’accesso non crittografato a un dominio, ma la crittografia può essere inizializzata dal client FTP tramite il segnale AUTH. La porta standard per l’FTP sicuro è la porta 990.
  • Così come esiste HTTPS, esiste anche FTPS, una connessione FTP protetta da SSL/TLS, con la quale è possibile la trasmissione di dati crittografati. In combinazione con Secure FTP, è possibile una comunicazione sicura tra due computer.

In generale, solo un numero relativamente limitato di server e client supporta le opzioni di connessione sicura e non tutti crittografano i canali di controllo e di dati nella variante protetta SSL/TLS.

Server FTP – parte 2

Serv-U

Serv-U è un pacchetto server FTP più grande. Offre molte caratteristiche che i pacchetti gratuiti non offrono: domini multipli, intervallo di porte in modalità passiva, integrazione del certificato SSL, interfaccia per database ODBC e manutenzione remota. Esistono diversi tipi di licenza e corrispondenti livelli di prezzo. Le differenze possono essere viste qui: http://www.serv-u.info/produktinfo/editionen.htm. La versione shareware sarà sufficiente per una prima occhiata in questo articolo, poiché funziona per 30 giorni come versione aziendale.

È possibile scaricarla qui: http://www.serv-u.info/produktinfo/download.php. La versione inglese è disponibile all’indirizzo http://www.serv-u.com/.
Dopo l’installazione di Serv-U, la procedura guidata iniziale richiede i dati per il primo dominio FTP e se il server deve funzionare come servizio di sistema. Il server FTP può quindi essere configurato. È già stato chiesto se devono essere concessi i diritti di amministratore. Fate attenzione a queste impostazioni e impostate i permessi nel modo più restrittivo possibile.

In “Server locale” è possibile avviare e arrestare completamente il server e configurare il tipo di avvio come servizio di sistema. Fare clic su Licenza per visualizzare il tempo di esecuzione fino a quando il programma non torna alla Personal Edition. Disinstallare e reinstallare non serve a nulla.

Subito sotto si trovano le impostazioni globali. Nella scheda “Generale” è possibile limitare l’accesso ai domini. Le opzioni di velocità devono essere selezionate in relazione alla larghezza di banda della connessione a Internet. L’opzione “Disabilita connessioni permanenti” è utile per gli accessi frequenti tramite browser web e per la limitazione simultanea del numero massimo di utenti connessi al server nello stesso momento.

Serv-U Administrator

Il certificato SSL abilita l’FTP via TLS/SLL (FTPS), cioè l’autenticazione e il canale di controllo sono criptati, il trasferimento dei dati no. È necessario generare un certificato da soli. La guida dettagliata integrata vi aiuterà (parola chiave: certificato SSL). Il certificato generato è firmato da Serv-U stesso, quindi non proviene da un’autorità di certificazione come VeriSign. Le autorità di certificazione sono organismi affidabili che rilasciano certificati che garantiscono l’appartenenza di una chiave pubblica a una determinata persona. Sul certificato è impressa una firma digitale che può essere utilizzata per dimostrare l’integrità e l’autenticità del certificato.

In “Avanzate” si trova, ad esempio, l’impostazione di un intervallo di porte se si desidera utilizzare il server in modalità passiva.

L’attività globale si trova sotto le impostazioni globali. Se qualcuno è connesso e/o sta scaricando qualcosa, lo si può vedere qui. Una caratteristica interessante è il segno di spunta in alto a sinistra per l’aggiornamento automatico, in modo da avere sempre a portata di mano lo stato attuale. La scheda Registro di dominio mostra il file di registro globale. Tutte le funzioni globali servono l’intero server FTP. Serv-U può gestire più domini, cioè più host virtuali. Ogni host, o ogni dominio, ha il proprio nome e le proprie impostazioni, file di log, utenti, gruppi, ecc.

Facendo clic su un dominio, è possibile impostare le impostazioni che riguardano il dominio stesso. Queste includono, ad esempio, il numero di porta su cui il server è in ascolto e la possibilità di accesso protetto.

Serv-U Administrator
Serv-U Administrator

Nella scheda “Generale” è possibile definire i percorsi virtuali, già descritti in dettaglio in precedenza.

Ora si può rivolgere l’attenzione all’amministrazione degli utenti. Per consentire il “login anonimo”, è sufficiente creare l’utente “anonimo” (fare clic con il pulsante destro del mouse su Utente – Nuovo utente, seguire le istruzioni). Una volta definito un nuovo utente, molte impostazioni attendono di essere configurate. Fare clic su un utente. Nella scheda “Account” è possibile visualizzare la maggior parte delle impostazioni effettuate al momento della creazione di un nuovo utente. Qui è anche possibile disattivare un account o impostare un tempo di scadenza. Se sono stati definiti dei gruppi di utenti, è possibile aggiungere l’utente a uno o più gruppi. Il sistema è conosciuto ad esempio da Active Directory, ma purtroppo i membri di un gruppo non possono essere visualizzati da nessuna parte nella versione attuale.

Serv-U Administrator
Serv-U Administrator

La scheda “Generale” contiene importanti impostazioni per la connettività. Prendetevi il tempo necessario per queste impostazioni. Almeno altrettanto importante è “Accesso alla directory”. La directory principale è già preconfigurata. A destra si trovano le autorizzazioni per i file e le cartelle e se questi diritti devono essere ereditati dalle sottocartelle. Non è un problema condividere anche un’unità CD-ROM, ad esempio. Aggiungendo i percorsi in questa scheda, le directory non appaiono ancora nel login utente. Vengono utilizzati i percorsi virtuali configurati nelle impostazioni del dominio.

Illustrerò la procedura a titolo di esempio. Innanzitutto, definisco la directory “My Pictures” come directory iniziale per un utente. Inoltre, nella scheda “Directory Access” aggiungo un’altra directory, la directory “My Music”.

Serv-U Administrator
Serv-U Administrator

Un accesso di prova mostra che attualmente viene visualizzato “solo” il contenuto della directory “Le mie immagini”. La directory “Musica” non è accessibile. Ora passo alle impostazioni del dominio alla scheda “Generale” e aggiungo un nuovo percorso virtuale. Il percorso sul disco rigido è “C:Documents and Settings%USERNAME%Own FilesOwn Music”, il percorso virtuale è “C:Documents and Settings%USERNAME%Own FilesOwn Pictures”. In questo modo, la cartella “My Music” viene visualizzata nella directory principale (My Pictures) dopo l’accesso. Infine, viene definito il nome visualizzato. Il sistema delle directory virtuali è già stato spiegato in dettaglio all’inizio di questo articolo.

Virtuelle Pfade
Percorsi virtuali

Dopo aver effettuato nuovamente l’accesso tramite il client FTP, nella directory principale di Windows viene visualizzata la cartella “Programma”.

Se cercate un’impostazione “Rapporto”, la troverete sotto “Rapporto UL/DL”. Con questa funzione è possibile definire i rapporti di upload e download. Per evitare che il disco rigido si riempia, è possibile definire anche un limite di memoria.

Se avete problemi o domande su questo programma, non esitate a utilizzare la guida dettagliata integrata. È inoltre disponibile un database di conoscenze per Serv-U che può rispondere a molte domande.

Server FTP con strumenti Windows integrati

Windows XP Professional è dotato anche di un server FTP. Fa parte di “Internet Information Services (IIS)” – qui la versione 5.0 – e deve essere prima installato. È possibile installarlo nell’installazione di Windows tramite Pannello di controllo – Software – “Aggiungi/Rimuovi componenti di Windows” – “Servizi di informazione Internet”. Selezionate i componenti “Servizio FTP (File Transfer Protocol)”, “File condivisi” e “Snap-In Internet Information Services” e fateli installare. Potrebbe essere necessario il CD di Windows. Si noti che questa funzione è assente nell’edizione Home. Nell’edizione Professional è consentito un solo sito FTP. Inoltre, il numero di connessioni è limitato a 10. Queste sono le differenze rispetto alle versioni server di Windows 2000 (IIS 5.0) e 2003 (IIS 6.0).

Segue la configurazione, che non è molto estesa. Troverete lo snap-in MMC “Internet Information Services” in Pannello di controllo – Strumenti di amministrazione. Sotto la voce “Siti FTP” si trova inizialmente un “Sito FTP standard”. Utilizzare il menu contestuale per passare alle proprietà per la configurazione. Nella scheda “Sito FTP”, è meglio inserire come descrizione il nome DynDNS o un nome appropriato basato sulla directory principale.

IIS / FTP-Site festlegen
IIS / Sito FTP

In “Account di sessione” è attivato il login anonimo. Se lo si desidera, si può lasciare tutto com’è. In caso contrario, è sufficiente deselezionare la casella in alto. È quindi possibile accedere con gli account utente del computer, configurati in Pannello di controllo – Amministrazione – Amministrazione computer – Sistema – Utenti e gruppi locali – “Utenti”. L’installazione di ISS crea un account con diritti di guest: ISUR_%COMPUTERNAME%. Ogni utente FTP ha bisogno di un account locale.

Continuare nelle proprietà del sito FTP: Nella scheda “Directory di base” è possibile definire il percorso radice e i diritti associati (lettura e scrittura). Se la scrittura deve essere consentita nella struttura della directory FTP, l’accesso in scrittura deve essere attivato qui. Il percorso predefinito si trova in %SYSTEMDRIVE%inetpubftproot e viene creato automaticamente durante l’installazione del server IIS.

Ora è possibile chiudere la configurazione. Sono possibili anche directory virtuali. Fare clic su una pagina FTP e selezionare “Nuovo” – “Directory virtuale” dal menu contestuale nell’area libera a destra.

Nello snap-in “Internet Information Services” è possibile selezionare la radice dello snap-in e connettersi a un server FTP remoto basato su IIS in “Azione” – “Connetti” e amministrarlo ampiamente.

Questo esaurisce già la gamma di funzioni. IIS deve essere installato su una partizione NTFS per poter disporre di uno strumento di gestione dei diritti (“Condivisione semplice dei file” disattivata). È necessario conoscere bene la gestione dei diritti in Windows prima di pensare di mettere su Internet un server FTP basato su IIS. Lo strumento “IIS Lockdown” vi aiuta anche con l’hardening.

Server SFTP/FTPS con PSFTPd

PSFTPd è un server FTP completo, disponibile in versione Lite e Corporate. Questo server gestisce FTP, FTPS (esplicito e implicito) e SFTP (SecureFTP su SSH2), combinati in un’interfaccia facile da usare. Una versione che può essere integrata nel sistema come servizio è disponibile dopo la registrazione. La versione aziendale offre, tra l’altro, l’amministrazione di domini multipli e gruppi di utenti.

La configurazione è molto semplice, il programma la rende davvero facile. Le porte e i certificati possono essere configurati facendo doppio clic sui protocolli (come mostrato nella seguente schermata).

PSFTPd
PSFTPd

Non ci sono sorprese nemmeno nelle altre schede. Nella configurazione utente, i percorsi virtuali possono essere creati mediante trascinamento.

L’interfaccia è molto ordinata, ma ciò è dovuto anche al fatto che questa versione lite non offre un’ampia gamma di funzioni come Serv-U, ad esempio. D’altra parte, può guadagnare punti con i protocolli supportati.

PSFTPd

Server SFTP con Cygwin

Cygwin crea il proprio ambiente UNIX su Windows. OpenSSH viene fornito come server SSH e il pacchetto include anche un server SFTP. Un’installazione completa di Cygwin è piuttosto grande; qui descriverò il modo in cui installare i componenti necessari. Se volete, potete anche installare un editor (nano o vim, la visualizzazione per categorie è consigliata nel programma di installazione, che sarà spiegato più dettagliatamente tra poco).

Per la seguente guida a Cygwin sono necessari i diritti di amministratore. Cygwin deve inoltre essere installato su una partizione NTFS che consenta la gestione dei diritti.

Creare una directory sul disco rigido (ad esempio Cygwin), non importa dove. Salvare il file setup.exe scaricato da WinTotal e avviarlo. Con l’aiuto del programma di installazione, i file di installazione possono essere scaricati direttamente da Internet. Selezionare “Installa da Internet” come origine dell’installazione. Selezionare quindi la directory di installazione. È possibile utilizzare la directory in cui si trova già il file setup.exe. UNIX” può rimanere selezionato come tipo di testo predefinito. La “Directory locale del pacchetto” può anche rimanere nel percorso del programma di installazione. È consigliabile utilizzare un mirror nelle proprie vicinanze. Sono disponibili abbastanza server universitari. Quando si selezionano i pacchetti, fare clic una volta sul pulsante Visualizza per cambiare la visualizzazione in “Completa”. I pacchetti sono ordinati alfabeticamente. Cercate “OpenSSH”, fate clic su “Skip” in modo da mettere una croce sotto “Binary”.

Cygwin
Cygwin

Ora è possibile avviare l’installazione. Verranno scaricati circa 40 MB. Con questo programma di installazione, Cygwin può essere modificato e disinstallato in qualsiasi momento.

Dopo il primo avvio di Cygwin Bash Shell, alcuni componenti vengono inizializzati. Prima di avviare la configurazione di OpenSSH, è necessario preparare Windows. Premete [Win]+[Pause] (o il modulo “Sistema” nel pannello di controllo), passate alla scheda “Avanzate”, fate clic su variabili d’ambiente, cercate la voce PATH nelle variabili di sistema e modificatela. Aggiungete un punto e virgola (;) e il percorso della cartella bin nella directory di installazione di Cygwin. Nel mio caso, il percorso è C:Cygwinb in.

Cygwin
Cygwin

Utilizzate quindi il pulsante Nuovo per creare una nuova variabile. Inserite “CYGWIN” come nome e “ntsec tty” come valore. Confermate e chiudete tutte le finestre di Windows aperte facendo clic su [OK] in modo che le modifiche vengano applicate.

Continuare ora con la shell Bash. Digitare ssh-host-config. Viene avviato uno script. Se vi viene chiesta la “separazione dei privilegi”, rispondete “sì”. Fate lo stesso con la richiesta di “utente locale sshd”. L’idea della “separazione dei privilegi” è spiegata in questo articolo: http://www.symlink.ch/articles/02/05/27/220210.shtml. L’utente “sshd” è necessario per questo.

Se si desidera che il demone SSH sia disponibile a ogni avvio di Windows e che venga avviato come servizio, rispondere “sì” anche alla domanda successiva. Questo non è utile solo per il server SFTP previsto, ma può essere utilizzato anche per altre connessioni, ad esempio per la trasmissione criptata del traffico di posta. Viene quindi richiesta la variabile di sistema “CYGWIN”. Inserire qui il valore precedentemente definito “ntsec tty”. Ora i diritti devono essere impostati in modo più restrittivo. A tale scopo, inserire uno dopo l’altro nella console:

“touch /var/log/sshd.log”
“chown -R system:system /var/log/sshd.log /var/empty /etc/ssh_h*”

In questo modo si crea un file di log per il demone SSH e si impostano i diritti di accesso per diversi file in modo che l’utente “system” del gruppo di utenti “system” ne diventi il proprietario.

Ora è possibile avviare il demone SSH (in futuro verrà avviato per impostazione predefinita dall’account utente corrente locale). Inserite quindi “cygrunsrv –start sshd” nella riga di comando.

Cygwin
Cygwin

Allo stesso modo, è possibile arrestare nuovamente il servizio con “stop” invece di “start”. Anche la riga di comando di Windows funziona: “net start sshd”. E naturalmente potete anche accedere al pannello di controllo – amministrazione – servizi.

Ora è possibile effettuare un primo accesso di prova. Basta inserire “ssh localhost”. È consigliabile creare un utente con i diritti desiderati in Windows, da utilizzare poi per accedere dall’esterno. Ora inserire “ssh-user-config” nella console. È possibile rispondere a tutte le domande con “no”, ma è anche possibile creare file chiave. In questo caso, utilizzare la crittografia in SSH2 per accedere a questo server SSH. Naturalmente, la password non deve essere facile da indovinare. Tenete presente che l’accesso da Internet è possibile, a meno che non sia vietato dal router o dal firewall (ad esempio, per uso esclusivo nella rete domestica). Ora c’è una directory .ssh nella home directory dell’utente collegato. Digitare “cd” e poi “ls -al” nella shell. I diritti della cartella dovrebbero essere questi: “rwx——“. In caso contrario, inserire il comando “chmod 700 .ssh”.

Ora è tutto pronto. La sintassi per testare il login via ssh è: “ssh username:serverip”. Lo stesso vale per SFTP: “sftp username:serverip”. SSH e SFTP utilizzano la porta 22 per la comunicazione. Configurare il software e l’hardware di rete di conseguenza. È possibile riconfigurare la porta nella directory /etc nel file sshd_config. Procedura: Arrestare il server, “cd /etc”, “nano sshd_config”, cambiare la porta, salvare, avviare il server. Se l’accesso è negato, modificare i diritti tramite chmod per il tempo della modifica. In questo file si può anche limitare l’accesso a determinati utenti (AllowUsers, vedi manuale, comando: “man sshd”).

Cygwin non ha una propria amministrazione degli utenti, ma utilizza gli account utente di Windows. C’è una restrizione importante con Cygwin: non è possibile accedere come utente diverso nella shell rispetto all’utente attualmente connesso in Windows. Anche SSH funziona solo con l’account utente con cui è stato installato Cygwin, poiché questo utente è definito nel file /etc/passwd. Entrambi possono essere aggirati copiando la riga con i dati dell’utente esistente in tale file e trascrivendo il nome dell’utente. Esempio:
test:unused_by_nt/2000/xp:0:0:PCtest,S-1-1-11-111111111-222222222-333333333-500:/home/test:/bin/bash

I due numeri dopo “by_nt/2000/xp” devono essere sostituiti da ID non utilizzati, che indicano l’ID del gruppo o dell’utente. Lo stesso ID di gruppo significa anche l’appartenenza allo stesso gruppo. Lo stesso vale per l’ID utente. Tra i due punti finali viene definita la directory home, che potrebbe dover essere creata in precedenza.

Server (S)FTP sotto SuSE Linux vsftpd

Naturalmente, in un articolo come questo è necessario scegliere una distribuzione. Ho scelto SuSE Linux perché è la distribuzione più diffusa al momento. Il punto di partenza è un’installazione standard di SuSE Linux 9.2, in cui SSH è già integrato. Google mi ha subito indicato l’esistenza di un pacchetto RPM dell’attuale versione di vsftpd per SuSE. Per questo articolo, la versione 2.0.3 era quella corrente. Il pacchetto si chiama vsftpd-2.0.3-1.1.i586.rpm per SuSE People, che può essere facilmente installato tramite “YAST”. vsftpd è l’acronimo di “very secure ftp daemon”, è ottimizzato principalmente per la sicurezza e supporta anche SFTP.

Ora continuiamo con la shell. È necessario disporre dei diritti di root e modificare vsftpd.conf nella directory /etc. Digitare “vi /etc/vsftpd.conf”. Il carattere di commento iniziale (“#”) deve essere rimosso prima delle righe seguenti:

  • write_enable=YES (accesso in scrittura consentito)
  • ftpd_banner=”Messaggio di benvenuto al login”.
  • local_enable=YES (gli utenti locali sono autorizzati ad accedere)
  • chroot_local_user=YES (limitazione a una determinata directory principale)

L’aiuto per ulteriori configurazioni può essere trovato digitando “man vsftpd.conf”.

Comandi vim utili per la modifica:

  • “i” – attiva la modalità di inserimento prima del carattere corrente
  • “ESC” – esce dalla modalità di inserimento
  • “o” – nuova riga
  • “dd” – cancella la riga
  • “:wq” – salva ed esce
  • “:q!” – uscire senza salvare

Ora il demone vsftp può essere reso attivo. Digitare “vi /etc/xinetd.d/vsftpd”, modificare la riga “disable = yes” in “disable = no” e salvare le modifiche. Assicurarsi che nessun altro server FTP sia in esecuzione in parallelo. A questo punto si può controllare nella riga di comando con “nmap localhost” (se FTP è presente nell’elenco, è necessario installare il pacchetto “nmap”). Ora è necessario riavviare i servizi di rete. Per farlo, digitate “/etc/init.d/xinetd restart”. Il server FTP è ora attivo; è possibile verificarlo con “ftp localhost”. Dopo aver effettuato il login (è sufficiente utilizzare l’utente attualmente connesso al sistema), è possibile verificare se la limitazione alla directory principale specificata funziona. Per farlo: 1. “ls”, 2. “cd …”, 3. “ls”. In entrambi i casi dovrebbe essere visualizzato lo stesso contenuto della directory.

vsftpd
vsftpd

Naturalmente dovrebbe funzionare anche con “sftp localhost”.

Nuovi utenti e gruppi possono essere creati tramite “YAST – Sicurezza e utenti”. Ecco come fare tramite la riga di comando:
Per prima cosa viene creato un nuovo gruppo per l’amministrazione degli utenti, nel quale vengono poi aggiunti gli utenti FTP virtuali. Digitare “groupadd ftpuser” nella shell. Ora è possibile creare un nuovo utente. Esempio:

useradd -d /home/tester -g ftpuser -m -s /sbin/false tester.
Si applica quanto segue:

  • “-d” = directory home
  • “-g” = appartenenza al gruppo primario
  • “-m” = la home directory viene creata contemporaneamente, per impostazione predefinita in /home/
  • “-s” = shell di login (utilizzata in questo caso: l’utente può accedere solo al server FTP, non al sistema)

Terminare la riga con il nome dell’account. Quindi inserire la riga seguente:
passwd nome utente

Quindi in questo esempio inserisco: “passwd tester”. Ora posso definire la password. Esiste il parametro -p per la definizione di una password per “useradd”, ma il login non funziona con esso, almeno nella distribuzione qui utilizzata, perché SuSE cripta di default con Blowfish, che vsftpd non può decriptare. Questo non vale se il metodo di crittografia predefinito è stato cambiato durante l’installazione di SuSE.

È anche possibile mantenere un elenco di nomi di utenti autorizzati ad accedere al server FTP. Questa procedura è consigliata perché impedisce ad altri account del sistema di accedere a meno che non sia esplicitamente consentito. Creare un nuovo file “/etc/vsftpd.user_list” e inserire di seguito i nomi degli utenti autorizzati ad accedere al server FTP. Alla fine del file “/etc/vsftpd.conf” inserite le seguenti righe:

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list

Abilitare e modificare la riga “chroot_list_enable” in “NO”:
chroot_list_enable=NO
“chroot” ridefinisce la directory root per i programmi e i login. All’utente viene quindi mostrato “/” come percorso radice nel caso di un accesso FTP.

Client FTP – Parte 2

Client SFTP

Per accedere a un server SFTP, abbiamo bisogno di un client in grado di gestire questo metodo di accesso. WinSCP è una delle prime scelte. Il nome WinSCP è ingannevole, il programma gestisce anche SFTP.

WinSCP
WinSCP

Naturalmente WinSCP può anche gestire connessioni SCP. Il tipo di connessione può essere selezionato nel gestore delle connessioni.

Il programma FTP gratuito FileZilla, presentato in precedenza, supporta anche SFTP. Il server viene indirizzato tramite “sftp://” + IP o nome DNS. La porta è 22 per impostazione predefinita.

FileZilla
FileZilla

PSFTP dai download di PuTTY è consigliato come client a riga di comando.

Immettere il nome del server aperto e autenticarsi. Con il comando “help” è possibile dare un’occhiata ai comandi disponibili, che vengono forniti con una descrizione delle funzioni.

Per gli utenti di Total Commander, sulla homepage di Total Commander è disponibile anche un plug-in SFTP e FTPS. Il plug-in SFTP viene utilizzato come esempio per illustrarne brevemente l’uso: Dopo l’installazione, il plug-in è integrato automaticamente; in caso contrario, può essere integrato manualmente nella configurazione alla voce Plug-in del file system. A questo punto è possibile premere [ALT]+[F1], selezionare “Ambiente di rete”, dove si trova “Connessioni FTP sicure” e si possono impostare le connessioni con “Modifica connessioni”.

Linea di comando di Windows

Anche la riga di comando di Windows è in grado di eseguire l’FTP. Fate clic su Start – Esegui e digitate “cmd” per aprire la riga di comando. Inserite “ftp” e siete pronti a partire. Il set di comandi può essere visualizzato digitando “help”. È molto facile da usare. Una sessione può apparire come segue

open ftp.servername.de (apre la connessione al server, forma breve dopo cmd: "ftp ftp.servername.de")
 username (nome utente)
 password (password)
 binary (passa alla modalità di trasferimento binaria, perché voglio trasferire file impacchettati)
 cd folder (passa alla directory "folder")
 get "file.7z" (scarica il file "file.7z")
 put "file2.7z" (carica il file "file2.7z")
 uscire

Questo è utile, ad esempio, se si vuole caricare un backup su un computer remoto via FTP. Per avere ancora meno lavoro, si può racchiudere il tutto in un file batch. Nel percorso del file batch è possibile memorizzare un file di testo con i comandi FTP – in questo esempio, dal nome dell’utente alla chiusura in un file “ftptransfer.txt”. In un batch, la sequenza di comandi può assomigliare a questa:

ftp -s:ftptransfer.txt ftp.servername.it

Con il parametro -s, i comandi FTP vengono elaborati nel file di testo.

Trasferimento FXP

FXP (File Exchange Protocol) è un metodo per trasferire i dati direttamente tra 2 server senza dover prendere le deviazioni tramite un client. Tuttavia, entrambi i server FTP coinvolti non devono vietare questa funzione.

FXP non è una funzione FTP speciale, ma utilizza le peculiarità della modalità attiva e passiva. A un primo server, un client FTP adeguato invia il segnale PASV e riceve la porta e l’indirizzo IP del server. Al 2° server, invia la porta + l’indirizzo IP appena ricevuti nel segnale PORT, stabilendo una connessione tra i server interessati. I trasferimenti di dati possono ora essere inizializzati con il segnale STOR (1° server) o RECV (2° server).

Un client in grado di gestire FXP è Staff-FTP.

La prima connessione viene stabilita normalmente, mentre per la seconda è necessario fare clic sul pulsante indicato nella schermata.

FXP mit Staff-FTP
FXP con Staff-FTP

Un’alternativa è FlashFXP.

Risoluzione dei problemi durante la creazione di connessioni FTP

Quest’ultima parte riguarda la risoluzione dei problemi, perché non sempre tutto va secondo i piani, in breve: la connessione dal client al server non funziona. La risoluzione dei problemi può essere avviata sia sul lato server che sul lato client. Entrambi i casi sono descritti di seguito mediante liste di controllo.

Risoluzione dei problemi sul lato server

Flussdiagramm Fehlersuche Serverseite
Diagramma di flusso Risoluzione dei problemi lato server
    1. Il pacchetto server FTP è in esecuzione?
      Procedura: Guardare nel task manager per vedere se il server FTP è in esecuzione. Se è in esecuzione come servizio o è ridotto a icona nell’area di notifica (accanto all’orologio di sistema), è necessario controllare i processi.
      Soluzione: avviare il server FTP.
    2. Il login funziona in locale?
      Procedura: Accedere con un client FTP sullo stesso computer in cui è in esecuzione il server FTP. L’indirizzo del server è 127.0.0.1 – non dimenticare i dati dell’utente. Deve esserci almeno un account con cui accedere. Inoltre, è necessario definire una directory iniziale per l’utente.
      Soluzione: creare un account e definire una directory iniziale. L’account anonimo può essere utilizzato a scopo di test. Verificare se il tasto caps lock è attivo e quindi la password è stata scritta in modo errato.
    3. Se esiste un secondo computer in una rete domestica: è possibile accedere all’interno della rete domestica?
      Procedura: Individuare l’IP del computer su cui è in esecuzione il server FTP. Aprire il prompt dei comandi. A tale scopo, andate nel menu Start e fate clic su “Esegui”, digitate “cmd” e premete Invio. Si apre il prompt dei comandi. Digitare “ipconfig” e premere Invio. Verranno visualizzati diversi risultati, tra cui l’indirizzo IP. Se vengono visualizzati diversi adattatori, cercate un “adattatore LAN”.
ipconfig
ipconfig

Ora andate sul secondo computer e aprite di nuovo il prompt dei comandi. Assicuratevi che il computer su cui è in esecuzione il server FTP sia accessibile. Inserite “ping ip-adresse-des-ftp-servers” nella riga di comando (e naturalmente inserite l’IP determinato in precedenza). Il computer dovrebbe rispondere e i tempi di risposta dovrebbero essere relativamente brevi.
Ora avviate un programma client FTP e inserite il nome del computer come indirizzo del server e aggiungete i dati dell’utente. Il login dovrebbe funzionare anche in questo caso.
Soluzione: se non funziona, la colpa potrebbe essere di un firewall software. Disattivatelo come prova con una connessione Internet scollegata. Se ora funziona, è possibile riattivare il firewall software, che deve liberare le porte 20 e 21 e consentire ICMP per il comando PING. Come fare è spiegato nella risposta alla domanda seguente.

Suggerimento: In una rete locale, funziona anche la risoluzione dei nomi in base al nome del computer. Scoprite il nome del computer su cui è in esecuzione il server FTP. Per farlo, premete Pannello di controllo – Sistema [tasto Win]+[Pausa], passate alla scheda “Nome computer” e leggete, provate di nuovo a fare un PING da un altro computer, solo questa volta sul nome del computer. In questo modo è possibile inserire il nome del computer invece dell’IP nel client FTP se si desidera raggiungere un server FTP nella stessa area di rete. Anche il login dovrebbe funzionare.

Ping-Tests
Test di ping
  1. Un amico può accedere al vostro account?
    Procedura: Il modo migliore per testare un server FTP dall’esterno (cioè da Internet) è quello di farlo testare a un amico, possibilmente collegato con lui o lei per telefono, voice-over-IP (telefono, Skype, Teamspeak o simili) o via Messenger, in modo da poter reagire rapidamente. Per escludere la fonte di errore DynDNS, deve utilizzare il vostro IP pubblico come indirizzo del server. Sul computer con il server FTP, andate su http://www.wieistmeineip.de/ per scoprirlo. Il vostro amico dovrebbe inserire questo indirizzo IP come indirizzo del server nel client FTP insieme ai dati dell’utente.
    Soluzione: se non funziona, verificare quanto segue:
    Si sta utilizzando un firewall software? Deve essere configurato di conseguenza in modo che il server FTP possa comunicare con l’esterno. Questo vale anche per il firewall di Windows. Quando si utilizza il firewall di Windows, la comunicazione deve essere aperta sulla porta 21. Aprire la configurazione del firewall nel pannello di controllo, andare alla scheda “Avanzate”, selezionare la connessione di rete interessata (di solito la connessione LAN), fare clic su “Impostazioni” e selezionare la casella del server FTP nella scheda “Servizi”. Passate ora alla scheda “ICMP” e mettete un altro segno di spunta su “Consenti richiesta di eco in entrata” (PING). Con 2 conferme facendo clic sul pulsante OK, le impostazioni vengono accettate. Il server FTP è ora accessibile dietro il firewall di XP e il computer sulla relativa interfaccia di rete può essere sottoposto a ping.
ICMP bei der Windows-Firewall einstellen
Impostare ICMP sul firewall di Windows

Con altri firewall software, di solito al primo accesso viene chiesto se l’accesso deve essere consentito. In caso contrario, è possibile creare manualmente una condivisione analoga a quella del firewall di Windows e la seguente configurazione del router. Poiché, ovviamente, non tutte le configurazioni dei firewall software possono essere prese in considerazione in un articolo come questo, descriverò qui la configurazione di Kerio Personal Firewall come esempio (installazione standard, cioè senza modalità di apprendimento, cioè senza chiedere se l’accesso deve essere consentito). Nell’interfaccia di configurazione, andare su “Sicurezza di rete” e quindi sulla scheda “Predefiniti”. Se si desidera che il server FTP possa essere interrogato da Internet, è necessario consentire “Ping e Tracert in” da Internet (fare clic sulla croce rossa). Kerio PF funziona in base alle applicazioni, pertanto il filtro dei pacchetti deve essere configurato nella scheda “Applicazioni”. A tal fine, fare clic sull’omonimo pulsante e aggiungere una nuova regola analoga alla seguente schermata:

Analoge Einstellungen bei der Kerio Firewall
Impostazioni analoghe per il Kerio Firewall

Con le impostazioni predefinite di questo firewall software, il login e il trasferimento di file funzionano. Altri firewall software vietano tutto il traffico, sia in entrata che in uscita. In questo caso, è necessario consentire la porta 20 in uscita e la porta 21 in entrata (il server FTP è indirizzato attivamente) oppure definire un intervallo di porte nel server FTP e consentire la porta 21 in entrata nel firewall software (il server FTP è indirizzato passivamente). Quest’ultimo caso non è possibile con la versione attuale di GuildFTPd; in questo caso è necessario Serv-U come server FTP, ad esempio. Se si utilizza un firewall software, assicurarsi che sia sempre aggiornato.
Utilizzate un router? Anche questo potrebbe impedire la connessione. È necessario effettuare il port forwarding. In questo caso, i pacchetti IP provenienti da Internet vengono inoltrati su una porta specifica (in questo caso la 21) a una porta + indirizzo IP definiti dietro il router.
Richiamare la configurazione del router. Il manuale del router vi aiuterà a capire come deve essere configurato il port forwarding. A volte questo punto è chiamato anche “Virtual Server”, “NAT Setup” o simili. Se avete perso il manuale, di solito potete scaricarlo in formato PDF dal sito web del produttore. In genere, è necessario “inoltrare” la porta 21 TCP al computer su cui è in esecuzione il server FTP.
Esempio per un router modello Draytek 2900G: Aprire l’interfaccia web del router – NAT Setup – Configurare la tabella di reindirizzamento delle porte – Nome del servizio: FTP – Protocollo: TCP – Porta pubblica: 21 – IP privato: 192.168.1.111 – Porta privata: 21 – Selezionare Attivo – Fare clic su OK.
Ulteriori istruzioni sono disponibili qui: http://portforward.com/routers.htm.

Nota importante: non includete il vostro computer nella DMZ (Demilitarised Zone), se esiste; non fatelo nemmeno a scopo di test. Mettereste in pericolo la sicurezza dell’intera rete dietro il router.

SSH e SFTP utilizzano la porta 22 per la comunicazione. Se si utilizza una comunicazione sicura (parte 2), si deve procedere analogamente alla porta 21 come appena descritto.
Si consiglia di assegnare preventivamente indirizzi IP fissi nella rete domestica e di disattivare un server DHCP esistente nel router. Esempio: se l’interfaccia web del router si apre quando si immette l’IP 192.168.1.1, si possono configurare i client con gli indirizzi IP 192.168.1.101, 192.168.1.102, ecc. Il gateway predefinito e il server DNS preferito in entrambi i casi è il router, in questo esempio 192.168.1.1. È possibile configurarlo in Pannello di controllo – Connessioni di rete – fare clic con il pulsante destro del mouse sulla connessione LAN e selezionare Proprietà – Selezionare Protocollo Internet (TCP/IP) – Proprietà. Ora è possibile inserire l’IP assegnato come computer di destinazione durante l’inoltro delle porte. Cosa succede ai pacchetti di dati che arrivano sulla porta 21? Vengono inoltrati al computer di destinazione.

  • Il login funziona quando si utilizza il nome DynDNS?
    Procedura: A seconda del client DynDNS utilizzato, esistono due modi. Se si utilizza un client software (DynDNS Updater, DirectUpdate, DeeEnEs ecc.), è possibile testarlo da soli. Se si utilizza il client in un router, chiedere a un amico di eseguire il login con il nome DynDNS registrato, poiché solo pochissimi router consentono di raggiungere il nome DynDNS sul lato interno (LAN).
    Soluzione: se non funziona, è possibile che il nome host non sia risolto correttamente o che il client DynDNS non si aggiorni. Immettere il comando “nslookup” nel prompt dei comandi di Windows e confermare con Invio. Ora è possibile immettere un dominio – qui si inserisce il nome DynDNS e si conferma con Invio (si esce dalla finestra di dialogo digitando “exit” + Invio). Di solito una delle risposte dovrebbe essere:“Risposta non autorizzata: Nome: Your_DynDNS_Name, Indirizzo: The_associated_IP“.
nslookup
nslookup

Confrontate l’indirizzo IP con quello presente su http://www.wieistmeineip.de/. Dovrebbe essere identico. In caso contrario, il client DynDNS del router o del computer non si sta sincronizzando correttamente. Controllare la configurazione, in particolare l’ortografia corretta del nome host, del nome utente e della password. È possibile verificare il nome utente e la password anche su http://www.dyndns.org/. Il login (Accedi) si trova in alto a destra. Dopo aver effettuato il login, è possibile fare clic su “I miei servizi” in alto. Il nome dell’host viene ora visualizzato sotto “Servizi a livello di host”. Fare clic su “DNS dinamico” per visualizzare l’indirizzo IP associato e l’ora dell’ultima sincronizzazione. L’indirizzo IP attuale è visualizzato sotto “Nuovo indirizzo IP”. Se è diverso dall'”IP nel database/DNS”, fare clic su “Modifica host”. L’indirizzo IP è ora aggiornato nel database DynDNS e il server FTP dovrebbe essere accessibile tramite il nome DynDNS.

Risoluzione dei problemi sul lato client

Flussdiagramm Fehlersuche Clientseite

  1. Indipendentemente dai tentativi, non viene stabilita alcuna connessione a nessun server, c’è sempre un timeout.
    Soluzione: se avete installato un firewall software aggiuntivo, verificate se blocca la connessione. A questo scopo è utile il file di log del programma. Riconfigurare il software di conseguenza in modo che il client FTP possa comunicare.
  2. Un certo server FTP su Internet non è accessibile, c’è sempre un timeout.
    Soluzione: innanzitutto, verificare che il nome del server, il nome utente e la password siano scritti correttamente.
    Il primo modo per verificare se un server è raggiungibile è usare il comando PING. Naturalmente, questo presuppone che ICMP non sia bloccato da alcun firewall. Inserite il comando “ping servername” nella riga di comando di Windows (Start – Esegui: cmd). In base alle risposte, si possono trarre le prime conclusioni.
    Se il server risponde e si ottengono 4 righe con valori in millisecondi, il risultato è il seguente:

    Antwort auf PING-Anfrage
    Risposta alla richiesta PING

    Il computer è accessibile. Se l’accesso via FTP non funziona, è necessario verificare la corretta configurazione dei firewall sul lato client e server. Se sono state escluse tutte le altre fonti di errore, è molto probabile che il servizio FTP sul server non sia disponibile al momento.

Viene visualizzato il seguente messaggio…

Fehler”>
…, questo indica un problema con la risoluzione dei nomi (DNS). In questo caso, provare se il comando “ping www.google.de” o “ping www.t-online.de” ha successo. Se questo test ha esito positivo, il nome host desiderato del server FTP non è stato risolto correttamente. Inserire il comando “ipconfig /flushdns” nella riga di comando. In questo modo si cancella la cache DNS.
Se la risoluzione corretta del nome non è ancora possibile, controllare le impostazioni della connessione Internet, in particolare il server DNS preferito e la configurazione IP.
Se la risposta è “Host di destinazione non raggiungibile”, l’instradamento verso l’host di destinazione è difettoso, anche se è possibile navigare normalmente in Internet.

Ping mit kompletter URL
Ping con URL completo

Se si ottiene generalmente questa risposta, è necessario controllare le maschere di sottorete dell’ambiente di rete.
Se si ottengono molte violazioni della richiesta, l’host è temporaneamente o completamente non disponibile.

Ping mit IP
Ping con IP

Questo indica una connessione di rete inesistente, una congestione di rete, un errore di risoluzione ARP sulla strada verso il server, un errore di filtraggio dei pacchetti (firewall) o di instradamento. A volte un semplice riavvio del router (se disponibile) può aiutare, ma anche la ricerca di un worm che causa traffico può talvolta portare all’eliminazione di un sovraccarico. Potete leggere qui le informazioni sulle interruzioni di Internet: http://www.heise.de/imonitor/.
Se si ricevono messaggi di errore anche con un “ping localhost” / “ping 127.0.0.1”, è necessario reinstallare lo stack TCP/IP. Per farlo, andate in Pannello di controllo – Connessioni di rete – cliccate con il tasto destro del mouse su Connessione LAN – Proprietà – Protocollo TCP/IP – Disinstalla – poi riavviate – quindi tornate a questa finestra di dialogo e reinstallate il Protocollo TCP/IP.

  • Il login funziona, ma non riesco a caricare o scaricare nulla.
    Soluzione: è possibile che un firewall stia bloccando il trasporto. Se si utilizza la modalità di connessione attiva, impostare la modalità di connessione passiva nel client FTP e riprovare.
  • I file vengono caricati o scaricati in modo incompleto.
    Soluzione: è possibile che si stia utilizzando la modalità di trasferimento sbagliata (ASCII / Binary – la scelta giusta per il tipo di file è stata spiegata all’inizio della Parte 1 della serie di articoli). Trovate l’impostazione corrispondente nel vostro client FTP e cambiatela in “Automatico”. Se il client FTP sbaglia la scelta, potete determinare voi stessi la modalità di trasferimento se l’aggiornamento del programma FTP non serve.
    Un’altra causa di un trasferimento errato, più difficile da localizzare, è il valore MTU. Qui si possono trovare istruzioni dettagliate su questo problema: http://www.gschwarz.de/mtu-wert.htm

Articoli correlati