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

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 26: Riga 26:


==Configurazione di VSFTPD==
==Configurazione di VSFTPD==
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 <code>/etc</code> 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 [https://security.appspot.com/vsftpd/vsftpd_conf.html qui].<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 <code>/etc</code>, che sarà quello effettivamente letto da VSFTPD.<br/>
Prima di procedere alla modifica, è necessario stoppare il demone vsftpd tramite il comando <pre># /etc/init.d/vsftpd stop</pre> a questo punto bisognerà eliminare il contenuto del file ed incollare al suo interno le seguenti regole:<br/>
Prima di procedere alla modifica, è necessario stoppare il demone vsftpd tramite il comando <pre># /etc/init.d/vsftpd stop</pre> a questo punto bisognerà eliminare il contenuto del file ed incollare al suo interno le seguenti regole:<br/>
<pre>listen=YES
<pre>listen=YES
Riga 53: Riga 53:


===Configurazione dei permessi: utente e directory per VSFTPD===
===Configurazione dei permessi: utente e directory per VSFTPD===
In questa fase ci si occuperà del corretto settaggio dei permessi utente per la home directory del server, collocata nel percorso: ''/var/ftp/TEST'', come da impostazione editata nel file di configurazione appena creato (nulla vieta di modificare tale percorso nel file di configurazione, nonché di modificare i nomi delle directory, avendo cura, in seguito, di cambiare i nomi scelti al posto di quelli utilizzati in questa guida).<br/>
In questa fase ci si occuperà del corretto settaggio dei permessi utente per la home directory del server, collocata nel percorso: <code>/var/ftp/TEST</code>, come da impostazione editata nel file di configurazione appena creato (nulla vieta di modificare tale percorso nel file di configurazione, nonché di modificare i nomi delle directory, avendo cura, in seguito, di cambiare i nomi scelti al posto di quelli utilizzati in questa guida).<br/>
Prima di tutto è necessario creare le sotto-directory ''/ftp'', e ''/ftp/TEST'' in ''/var'': pertanto, tramite il comando: <pre># mkdir /var/ftp  
Prima di tutto è necessario creare le sotto-directory <code>/ftp</code>, e <code>/ftp/TEST</code> in <code>/var</code>: pertanto, tramite il comando: <pre># mkdir /var/ftp
# mkdir /var/ftp/TEST</pre> verranno create le due sotto-directory in ''/var''.<br/>
# mkdir /var/ftp/TEST</pre> verranno create le due sotto-directory in <code>/var</code>.<br/>
Create le directory, bisogna assegnare il permesso di lettura ed esecuzione per il gruppo di utenti ''ftp'' alla home directory, pertanto, spostandoci nella directory ''/var/ftp'', bisognerà lanciare il comando: <pre># chgrp ftp TEST/</pre> verificando, tramite il comando: <pre># ls -al</pre> l'avvenuta assegnazione dei permessi.<br/>
Create le directory, bisogna assegnare il permesso di lettura ed esecuzione per il gruppo di utenti ''ftp'' alla home directory, pertanto, spostandoci nella directory <code>/var/ftp</code>, bisognerà lanciare il comando: <pre># chgrp ftp TEST/</pre> verificando, tramite il comando: <pre># ls -al</pre> l'avvenuta assegnazione dei permessi.<br/>


===Verifica della configurazione di VSFTPD sulla la rete locale===
===Verifica della configurazione di VSFTPD sulla la rete locale===
A questo punto è possibile creare un file di prova nella home directory per verificare che, dalla rete locale, sia accessibile, visibile e scaricabile.<br/>
A questo punto è possibile creare un file di prova nella home directory per verificare che, dalla rete locale, sia accessibile, visibile e scaricabile.<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/>
Ad esempio, tramite il comando (lanciato nella directory <code>/var/ftp/TEST</code>): <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/>


Riga 67: Riga 67:
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/>
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/>
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/>
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/>


Riga 81: Riga 81:
Per installare il ''DUC'' basterà posizionarsi nella directory appena scompattata e lanciare il comando: <pre># make install noip2</pre><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/>
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/>
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'' è: <code>/usr/local/bin</code>, 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===
28

contributi