Realizzare un server FTP con VSFTPD e DNS dinamico: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 18: Riga 18:
# apt-get install gcc</pre><br/>  
# apt-get install gcc</pre><br/>  
Tali pacchetti serviranno per installare e configurare il software che si occuperà di aggiornare l'indirizzo IP della macchina qualora questo venga cambiato dal [https://it.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP].<br/>
Tali pacchetti serviranno per installare e configurare il software che si occuperà di aggiornare l'indirizzo IP della macchina qualora questo venga cambiato dal [https://it.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP].<br/>
E' inoltre opportuno sincerarsi che il router a cui si appoggerà il server fornisca la funzione di forwarding degli indirizzi, senza la quale il server sarà accessibile solamente dalla rete locale.<br/>
E' inoltre opportuno sincerarsi che il router a cui si appoggerà il server fornisca la funzione di [https://it.wikipedia.org/wiki/Port_forwarding forwarding] degli indirizzi, senza la quale il server sarà accessibile solamente dalla rete locale.<br/>


===Scaricamento ed installazione di VSFTPD===
===Scaricamento ed installazione di VSFTPD===
Riga 28: Riga 28:
Il file di configurazione di VSFTPD è collocato nella directory ''/etc'' ed è possibile leggerne la configurazione di default tramite il comando <pre># less /etc/vsftpd.conf</pre><br/>
Il file di configurazione di VSFTPD è collocato nella directory ''/etc'' ed è possibile leggerne la configurazione di default tramite il comando <pre># less /etc/vsftpd.conf</pre><br/>
Poichè la configurazione di default non va bene per gli scopi di questa guida, è necessario cambiarne il contenuto settando delle regole ad-hoc per lo scopo prefissato: ovvero rendere il server raggiungibile dall'esterno e fare in modo che sia possibile scaricarne gli elementi senza che gli utenti remoti e/o locali possano accedere in scrittura alla directory principale del server e quindi poter caricare a loro volta files e/o modificarli.<br/>  
Poichè la configurazione di default non va bene per gli scopi di questa guida, è necessario cambiarne il contenuto settando delle regole ad-hoc per lo scopo prefissato: ovvero rendere il server raggiungibile dall'esterno e fare in modo che sia possibile scaricarne gli elementi senza che gli utenti remoti e/o locali possano accedere in scrittura alla directory principale del server e quindi poter caricare a loro volta files e/o modificarli.<br/>  
Tutta la documentazione relativa alle regole di VSFTPD è possibile trovarla al seguente [https://security.appspot.com/vsftpd/vsftpd_conf.html link].<br/>
Tutta la documentazione relativa alle regole di VSFTPD è possibile trovarla [https://security.appspot.com/vsftpd/vsftpd_conf.html qui].<br/>
Prima di settare le nuove regole, sarebbe opportuno effettuare una copia di backup del file di configurazione originale tramite il comando: <pre># cp /etc/vsftpd.conf /home/vostronomeutente/Documenti</pre> (o in qualsiasi altro percorso che sia di vostro gradimento).<br/>
Prima di settare le nuove regole, sarebbe opportuno effettuare una copia di backup del file di configurazione originale tramite il comando: <pre># cp /etc/vsftpd.conf /home/vostronomeutente/Documenti</pre> (o in qualsiasi altro percorso che sia di vostro gradimento).<br/>
Effettuata la copia del file, è possibile modificare il file contenuto nella directory ''/etc'', che sarà quello effettivamente letto da VSFTPD.<br/>
Effettuata la copia del file, è possibile modificare il file contenuto nella directory ''/etc'', che sarà quello effettivamente letto da VSFTPD.<br/>
Riga 62: Riga 62:
Ad esempio, tramite il comando (lanciato nella directory ''/var/ftp/TEST''): <pre># nano prova.txt</pre> è possibile creare un file testuale che, una volta salvato, sarà posizionato nella home del server.<br/>
Ad esempio, tramite il comando (lanciato nella directory ''/var/ftp/TEST''): <pre># nano prova.txt</pre> è possibile creare un file testuale che, una volta salvato, sarà posizionato nella home del server.<br/>
Per verificare che il file sia accessibile e scaricabile dalla rete locale, se non è ancora stato fatto, è necessario determinare l'indirizzo IP locale del server tramite il comando: <pre># ifconfig</pre> ed accedere, tramite browser, all'indirizzo: ftp://indirizzolocale, in questo modo è possibile verificare che il file sia presente ed accessibile, nonché, visualizzabile tramite il browser.<br/>
Per verificare che il file sia accessibile e scaricabile dalla rete locale, se non è ancora stato fatto, è necessario determinare l'indirizzo IP locale del server tramite il comando: <pre># ifconfig</pre> ed accedere, tramite browser, all'indirizzo: ftp://indirizzolocale, in questo modo è possibile verificare che il file sia presente ed accessibile, nonché, visualizzabile tramite il browser.<br/>
==DNS Dinamico==
==DNS Dinamico==
Il DNS dinamico è indispensabile nel caso in cui il router assegni indirizzi IP dinamici tramite il DHCP.
Per motivi pratici è stato considerato questo caso, che dovrebbe corrispondere alla media della casistica; prima di procedere, però, alla sottoscrizione di un abbonamento gratuito presso il provider di DNS dinamico scelto per questa guida (ovvero: [https://www.noip.com/it-IT no-ip]), bisogna effettuare il forward del server al router. <br/>
===Configurazione del forwarding===
===Configurazione del forwarding===
Benchè coprire tutta la casistica per accedere alle impostazioni di gestione per tutte le marche di router sia impossibile, verrà consigliato un metodo abbastanza generale, ovvero: tramite il comando <pre># ip route | grep default</pre> sarà possibile risalire al gateway (cioè al router) che ha assegnato l'indirizzo al server, inserendo tale indirizzo nel browser si dovrebbe essere in grado di accedere alla pagina di gestione del router, da cui sarà possibile settare le impostazioni per il forwarding (oppure port forwarding o, ancora, port mapping).<br/>
L'indirizzo che bisognerà forwardare sarà quello del nostro server, ottenibile tramite il comando <pre># ifconfig</pre> (ovviamente digitato sul server), inserirlo nel campo indirizzo e forwardare la porta 21 (interna ed esterna) che corrisponde alla porta di servizio utilizzata dal protocollo FTP.<br/>
===Scelta del provider DDNS===
===Scelta del provider DDNS===
Come già anticipato, il provider utilizzato in questa guida è quello raggiungibile all'indirizzo: https://www.noip.com, la procedura da seguire è molto semplice e comprende una prima fase di scelta del nome che sarà l'hostname del server, un nome di dominio tra quelli proposti ed infine registrarsi tramite la voce ''signup''.
In fase di registrazione verrà chiesto di inserire un indirizzo e-mail ed un nome utente che verranno utilizzati in fase di login ed in fase di configurazione del ''DUC (Dynamic Update Client)'', è opportuno inserire un indirizzo email valido, perché tutte le comunicazioni verranno inoltrate proprio lì, inoltre, scegliendo un piano gratuito, il nome dell'host che verrà scelto, avrà una durata di trenta giorni e, pertanto, andrà rinnovato prima dello scadere del trentesimo giorno, altrimenti potrà essere utilizzato da altri utenti.<br/>
Prima dello scadere dei trenta giorni, comunque, all'indirizzo di posta che verrà inserito in fase di registrazione, verrà inviata una notifica che ricorderà di rinnovare il nome dell'host che è stato scelto.<br/>
Una volta registrato l'account, bisognerà accedere alla pagina di gestione dell'host scelto, semplicemente loggandosi con le credenziali definite in fase di registrazione.<br/>
===Scaricamento e configurazione del DUC===
===Scaricamento e configurazione del DUC===
In questa fase bisognerà scaricare ed installare il ''DUC'' dall'apposito link presente nella pagina di gestione (''Dynamic Update Client for Linux'').<br/>
Una volta scaricato il file (in formato ''tar.gz'') bisognerà scompattarne il contenuto e procedere alla sua installazione, ricordandosi che, prima di installare il ''DUC'', bisognerà aver installato i pacchetti make e gcc.<br/>
Per installare il ''DUC'' basterà posizionarsi nella directory appena scompattata e lanciare il comando: <pre># make install noip2</pre><br/>
In fase di installazione bisognerà inserire i dati di login, un intervallo temporale (il default è 30 minuti, è possibile scegliere un intervallo diverso) ed eventualmente far eseguire al ''DUC'' un comando ad aggiornamento dell'indirizzo avvenuto.<br/>
Effettuata questa scelta il ''DUC'' terminerà la sua installazione e sarà possibile lanciare il ''DUC'' per consentire al server di essere raggiunto dalla Rete Internet. Il percorso in cui viene installato il ''DUC'' è: ''/usr/local/bin'', per lanciare l'esecuzione del ''DUC'' bisogna digitare il comando: <pre># /usr/local/bin/noip2</pre> (per ottenere informazioni sullo stato del ''DUC'', il comando da eseguire è: <pre>/usr/local/bin/noip2 -S</pre>).<br/>
===Verifica della raggiungibilità del server dalla rete Internet===
===Verifica della raggiungibilità del server dalla rete Internet===
Se tutti i passi precedenti sono stati seguiti correttamente, sarà possibile accedere al server FTP digitando sul browser l'indirizzo che è stato scelto in fase di registrazione presso no-ip, preceduto da ftp://nomehost.dominio.ecc .<br/>
Nel caso in cui il server non sia raggiungibile è possibile forzare l'aggiornamento del ''DUC'', trovando il processo di noip2, [https://wiki.debian.org/Kill killarlo] e ri-avviarlo.<br/>
La sintassi per killare il processo è la seguente: <pre># /usr/local/bin/noip2 -K PID</pre> dove ''PID'' corrisponde all'identificativo del processo da killare, per ri-avviarlo basterà ri-lanciare il comando: <pre># /usr/local/bin/noip2</pre><br/>
Per avere la lista di tutti i processi attualmente in esecuzione possiamo digitare il comando: <pre>$ ps -aux</pre> a questo punto, dovrebbe essere possibile raggiungere il server digitandone l'indirizzo in un qualsiasi browser.<br/>