Configurazione di FTP Servers
Transcript
Configurazione di FTP Servers
FTP Appunti di Sistemi A cura del prof. ing. Mario Catalano Il protocollo FTP 1/2 Attraverso il protocollo FTP (File Transfer Protocol) è possibile trasferire uno o più files di qualsiasi tipo tra due macchine Tale protocollo usa il modello client/server client: è l’entità che dà luogo al trasferimento (sia in un senso che nell’altro) server: è l’entità remota che è in continua attesa di connessioni FTP da parte di altre entità I porti usati sono i numeri 20 e 21 HTTP e FTP Entrambi trasferiscono file e utilizzano il TCP per il trasporto La differenza consistente: FTP usa 2 connessioni TCP parallele connessione di controllo: veicola informazioni di controllo del protocollo (identificazione e comandi) connessione dati: per il trasferimento dati vero e proprio Per questo l’FTP si definisce con controllo fuori banda Al contrario l’HTTP spedisce le informazioni di controllo nella stessa connessione usata per i dati, per questo viene definito con controllo in banda Port utilizzati dall’FTP Il client FTP instaura una connessione di controllo sulla porta 21 del server che rimane aperta per tutta la sessione Quando viene trasferito il file viene aperta la connessione sulla porta 20 del server che viene chiusa a trasferimento concluso A ogni eventuale successivo trasferimento file viene aperta una nuova connessione TCP e poi chiusa La connessione dati non e’ permanente L’FTP quindi mantiene informazioni di stato sull’utente account, connessione e tiene traccia directory mentre l’utente percorre albero directory Il protocollo FTP 2/2 Lo scambio di files (eseguibili, documenti, immagini) può avvenire sia tra macchine molto distanti tra di loro che tra macchine direttamente connesse, sulla stessa rete locale FTP Server Un FTP Server è una applicazione, gestita da un amministratore di sistema o da un provider di servizi Internet (ISP), e responsabile della gestione delle richieste provenienti dal client FTP di un utente I comandi verso il server vengono inviati come testo ASCII sulla connessione di controllo Anche le risposte sono costituite da testo ASCII Le applicazioni per il trasferimento di file sono tra le più diffuse e “antiche” di Internet: non era ancora operativo il TCP/IP e già esistevano protocolli per lo scambio di file. Trasferimento di file Ci sono due diversi tipi di condivisione di file: in una il file sta nell'HOST, ne faccio una copia locale, opero su quella, eventualmente la modifico e la rimetto sull'HOST; nell'altra invece vado ad interagire direttamente con l'HOST e uso la copia dell'HOST per leggere, scrivere e modificare il file. Sono due modi completamente diversi di operare: il primo è esemplificato dall'FTP (File Transfer Protocol) mentre il secondo è implementato dal protocollo NFS (Network File System). FTP e NFS Il problema principale dell'FTP è che se due utenti utilizzano contemporaneamente lo stesso file e lo modificano, rimarranno nell'HOST soltanto le modifiche di colui che ha riscritto il file per ultimo e si perderanno le modifiche apportate dall'altro utente. Questo è un limite che non ha, invece, il protocollo NFS perché non viene fatta nessuna copia locale, ma si ha una condivisione dei file. Altre funzioni del FTP L'FTP svolge altre funzioni, sempre collegate a quella del trasferimento di file, che sono: accesso interattivo, specificazione del formato e controllo del autenticazione. Con quest'ultima caratteristica l'FTP richiede ai client di autorizzare sè stessi trasmettendo al server un nome ed una password di login prima di richiedere trasferimenti di file. Modello client-server del FTP L' FTP segue un modello client-server. La maggior parte delle implementazioni dell' FTP consentono l'accesso simultaneo da parte di più client. I client usano il TCP per connettersi al server in quanto hanno bisogno di un servizio affidabile. Un singolo processo server master attende le connessioni e crea un processo slave per gestire ciascuna conessione. Lo slave accetta e gestisce la connesione di controllo dal client, ma impiega uno o più processi per gestire una connessione di trasferimento dei dati. Anonymous FTP Quando vogliamo effettuare una connessione FTP questo ci chiede sempre un nome ed una password di login, che non viene mai visualizzata. Soltanto in un caso non ci viene chiesta la password: negli anonymous FTP. Molti server FTP consentono l'FTP anonimo, in cui l' utente per ottenere l’accesso specifica solo un nome di login anonymous (anonimo) ed una password guest (ospite). Il server ammette i login anonimi, ma restringe l'accesso soltanto ai file disponibili pubblicamente. TFTP (1) La suite TCP/IP contiene un secondo protocollo di trasferimento di file, che fornisce un servizio poco costoso e meno sofisticato dell' FTP. Noto come "protocollo di trasferimento di file banale" (Trivial File Transfert Protocol: TFTP), esso è destinato ad applicazioni che non necessitano di complesse interazioni tra il client ed il server. Essendo più restrittivo dell'FTP, il software del TFTP è molto più piccolo. La piccola dimensione è importante soprattutto nelle workstation senza dischi, che codificano il TFTP nelle ROM. TFTP (2) Il TFTP, all'avvio, carica nella memoria RAM il sistema operativo, o parte di esso, direttamente dal server. Il TFTP generalmente non usa per il trasferimento il TCP, ma l' UDP; trasferisce un pacchetto alla volta ed utilizza un sistema "stop and wait" per il riscontro dei pacchetti. Il TFTP che utilizza per il trasferimento il protocollo UDP viene sempre utilizzato in reti locali e ciò permette di ridurre ritardi ed errori sui pacchetti. FTP client i programmi (client) per fare FTP si dividono in due categorie: quelli che dispongono di una interfaccia a caratteri, e quelli con una interfaccia grafica. FTP a caratteri I client FTP con interfaccia a caratteri possono sembrare un po' ostici, ma sono molto efficienti e versatili. Il client FTP fornito di serie con le recenti versioni di Windows. Principali comandi FTP (1) get nome_file preleva un file. Se il file non è un semplice testo, è buona norma far precedere questo comando dal comando 'bin‘ bin imposta la trasmissione in modalità binaria, ovvero la modalità adatta a programmi, immagini digitali, ecc. Alcuni server FTP commutano automaticamente in 'binary mode' quando si preleva uno di questi file Principali comandi FTP (2) cd nome_directory cambia directory. Da notare che quando si vogliono indicare anche le sottodirectory, vanno separate con la barra inclinata a destra cd up(oppure cd . oppure ancora cd ..) sale di una directory. dir visualizza il contenuto di una directory Principali comandi FTP (3) put nome_file questo comando consente di trasferire un file dal proprio computer al server FTP cui si è connessi. Solitamente è utilizzabile solo in sessioni FTP con account e password quit chiude una sessione FTP FTP a interfaccia grafica Ce ne sono diversi, per tutti i sistemi operativi; Ad esempio… il client FTP inserito in Internet Explorer CuteFTP, per Windows WSFTP con perfetta integrazione con il modulo 'Gestione risorse' di Windows Internet Explorer e l'FTP Il client FTP di Internet Explorer, è fortemente integrato con le altre funzionalità del programma. Per collegarsi con un sito FTP tramite Internet Explorer è sufficiente inserire la URL del sito che vogliamo raggiungere. E’ possibile inserire la URL completa di path, così da saltare direttamente alla sub-directory che ci interessa. Con Internet Explorer la procedura iniziale di login, durante la quale solitamente si inserisce 'anonymous' alla voce utente e il proprio recapito e-mail in luogo della password, si salta: provvede il programma a spedire automaticamente queste informazioni. Internet Explorer e FTP con account Il funzionamento di Internet Explorer in una sessione FTP con account, ovvero in un collegamento nel quale si deve possedere un nome utente e una password per accedere, è identico a quello di una sessione anonima. L'unica differenza consiste nel fatto che, dopo aver digitato la URL del server FTP, Internet Explorer fa apparire una schermata come quella riprodotta nella figura. Tipica sessione FTP (1) Client Server Cntrl Cntrl Ascolto sulla porta 21 Dati Dati Connessione alla porta 21 Cntrl Dati 21 Cntrl Dati Tipica sessione FTP (2) Il client non parla mai con una porta non privilegiata di un server non considerato sicuro. Richiesta di LIST Cntrl 21 Cntrl Comando PORT OK Dati 20 Lista di file 21 Cntrl Dati Cntrl Comando PORT OK Dati Molti dati 20 Dati Sessione FTP passiva Si usa la connessione passiva se il server non può iniziare una connessione al client, ad esempio per la presenza di un firewall. Cntrl PASV 1025 21 Cntrl Richiesta al file LIST Dati Cntrl 1025 1673 Dati 1522 ll a weri f Dati Modalità passiva, 4107 21 Cntrl 4107 Lista di file Dati Telnet (1) Consente agli utenti di collegarsi a un host remoto. Si basa su TCP. Trasmette i dati in formato NVT (Network Virtual Terminal): ASCII esteso. Richiede l’autenticazione tramite nome Telnet (2) Passa le sequenze di tasti digitate sul client al sistema remoto e riporta l’output generato dal sistema remoto allo schermo dell’utente. Offre due servizi base: Un terminale di rete virtuale, interfaccia standard al sistema remoto. Un meccanismo per gestire le opzioni di comunicazione, che tratta simmetricamente entrambe Telnet (3) Il processo TELNET del client si collega al TELNET del server Il server ascolta sulla ben nota porta (23) le connessioni in ingresso. fine
Documenti analoghi
Lezione 6 corso linux 2004
Apache - Server
Significato delle voci alla sezione "Server":
Blocca File,File PID,Directory core dump: file usati da apache
variare solo se sicuri. Impostano rispettivamente il file di locking
di...