Realizzare un server FTP con VSFTPD e DNS dinamico: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 3: | Riga 3: | ||
==Premessa== | ==Premessa== | ||
Lo scopo principale di questa guida è quello di rendere fruibile a chiunque (e nel caso specifico agli utenti di Debian, nonchè di tutte le sue distro derivate) la possibilità di poter realizzare un server FTP che dia libero accesso ai contenuti condivisi su di esso.<br/> | Lo scopo principale di questa guida è quello di rendere fruibile a chiunque (e nel caso specifico agli utenti di Debian, nonchè di tutte le sue distro derivate) la possibilità di poter realizzare un server FTP che dia libero accesso ai contenuti condivisi su di esso.<br/> | ||
E' inoltre possibile leggere [ftp://kharon.ddns.net | E' inoltre possibile leggere [ftp://kharon.ddns.net qui] la versione più estesa e completa della guida pensata e concepita come un progetto che sia più vicino agli utenti che non hanno alcun tipo di familiarità con ambienti UNIX/Linux e che gli consenta, comunque, di realizzare da zero un server FTP (completamente configurato), partendo dall'installazione e configurazione di Debian, fino ad arrivare alla sua immissione nella Grande Rete, senza tralasciare aspetti e concetti fondamentali, per un utente nuovo al mondo Linux (come, ad esempio, l'utilizzo del terminale e dei suoi comandi più comuni ed importanti), trattati in modo semplice e discorsivo.<br/> | ||
In conclusione, entrambe le guide, portano allo stesso risultato, partendo, però, da due punti di vista differenti: la prima, questa, è pensata per gli utenti già navigati nel mondo di Debian, del terminale e del suo utilizzo, delle reti e così via, la seconda, invece, non da nulla per scontato e segue passo passo l'utente che si è appena avvicinato al mondo di Linux. <br/> | In conclusione, entrambe le guide, portano allo stesso risultato, partendo, però, da due punti di vista differenti: la prima, questa, è pensata per gli utenti già navigati nel mondo di Debian, del terminale e del suo utilizzo, delle reti e così via, la seconda, invece, non da nulla per scontato e segue passo passo l'utente che si è appena avvicinato al mondo di Linux. <br/> | ||
Riga 21: | Riga 21: | ||
===Scaricamento ed installazione di VSFTPD=== | ===Scaricamento ed installazione di VSFTPD=== | ||
Per questa guida è stato scelto l'utilizzo dell'implementazione [https://security.appspot.com/vsftpd.html#about VSFPTD] per il protocollo FTP, che è possibile scaricare ed installare tramite il comando: <pre>apt-get install vsftpd</pre><br/> | Per questa guida è stato scelto l'utilizzo dell'implementazione [https://security.appspot.com/vsftpd.html#about VSFPTD] per il protocollo FTP, che è possibile scaricare ed installare tramite il comando: <pre># apt-get install vsftpd</pre><br/> | ||
Una volta scaricato ed installato il pacchetto, il server sarà già attivo ed impostato con la sua configurazione di default.<br/> | Una volta scaricato ed installato il pacchetto, il server sarà già attivo ed impostato con la sua configurazione di default.<br/> | ||
E' inoltre possibile verificare lo stato del server tramite il comando: <pre>/etc/init.d/vsftpd status</pre> | E' inoltre possibile verificare lo stato del server tramite il comando: <pre># /etc/init.d/vsftpd status</pre><br/> | ||
==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/> | |||
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/> | |||
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/> | |||
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 | |||
anon_root=/var/ftp/TEST | |||
anonymous_enable=YES | |||
local_enable=NO | |||
hide_ids=YES | |||
no_anon_password=YES | |||
use_localtime=YES | |||
dirmessage_enable=YES | |||
xferlog_enable=YES | |||
connect_from_port_20=YES | |||
idle_session_timeout=600 | |||
data_connection_timeout=120 | |||
max_per_ip=2 | |||
ftpd_banner=Welcome to TEST FTP Server | |||
secure_chroot_dir=/var/run/vsftpd/empty | |||
pam_service_name=vsftpd | |||
</pre> | |||
una volta copiate le regole, è possibile salvare il file e ri-avviare il demone tramite il comando: <pre># /etc/init.d/vsftpd restart</pre> ed è inoltre possibile sincerarsi dello stato del demone utilizzando, ancora una volta, il comando: <pre># /etc/init.d/vsftpd status</pre><br/> | |||
Resta inteso che, dopo aver letto la documentazione ufficiale sulle [https://security.appspot.com/vsftpd/vsftpd_conf.html regole] di VSFTPD e la loro relativa sintassi, sarete in grado di apportare modifiche consistenti al file che abbiamo appena editato, essendo consapevoli del fatto che il comportamento del vostro server cambierà in base alle nuove regole che editerete. | |||
===Configurazione dei permessi: utente e directory per VSFTPD=== | ===Configurazione dei permessi: utente e directory per VSFTPD=== | ||
===Verifica della configurazione di VSFTPD sulla la rete locale=== | ===Verifica della configurazione di VSFTPD sulla la rete locale=== |
Versione delle 18:32, 11 giu 2017
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione. |
Versioni Compatibili Debian 8 "jessie" |
Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.
Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template. |
Premessa
Lo scopo principale di questa guida è quello di rendere fruibile a chiunque (e nel caso specifico agli utenti di Debian, nonchè di tutte le sue distro derivate) la possibilità di poter realizzare un server FTP che dia libero accesso ai contenuti condivisi su di esso.
E' inoltre possibile leggere qui la versione più estesa e completa della guida pensata e concepita come un progetto che sia più vicino agli utenti che non hanno alcun tipo di familiarità con ambienti UNIX/Linux e che gli consenta, comunque, di realizzare da zero un server FTP (completamente configurato), partendo dall'installazione e configurazione di Debian, fino ad arrivare alla sua immissione nella Grande Rete, senza tralasciare aspetti e concetti fondamentali, per un utente nuovo al mondo Linux (come, ad esempio, l'utilizzo del terminale e dei suoi comandi più comuni ed importanti), trattati in modo semplice e discorsivo.
In conclusione, entrambe le guide, portano allo stesso risultato, partendo, però, da due punti di vista differenti: la prima, questa, è pensata per gli utenti già navigati nel mondo di Debian, del terminale e del suo utilizzo, delle reti e così via, la seconda, invece, non da nulla per scontato e segue passo passo l'utente che si è appena avvicinato al mondo di Linux.
Fase preliminare
In questa sezione saranno vagliati i requisiti necessari per la corretta installazione del server FTP, nonché per il suo corretto funzionamento:
- N.B.: Da questo momento in avanti, TUTTI I COMANDI saranno lanciati come super-utente, quindi bisognerà loggarsi come utente radice oppure bisognerà eseguire i comandi premettendo
sudo
ad ogni comando.
- N.B. II: Nel caso in cui sul sistema non sia presente sudo bisognerà procedere al suo scaricamento ed alla sua installazione tramite il comando:
# apt-get install sudo
e procedere all'inserimento dell'utente corrente nella lista dei sudoers.
- N.B. II: Nel caso in cui sul sistema non sia presente sudo bisognerà procedere al suo scaricamento ed alla sua installazione tramite il comando:
Per ulteriori informazioni sulla procedura da seguire per l'inserimento dell'utente corrente nella lista dei sudoers ci si può rifare al manuale di sudo, oppure editare il file in /etc/sudoers con permessi di root ed aggiungere i permessi all'utente in uso.
Ogni ulteriore informazione è reperibile a questo indirizzo.
Verifica dei pre-requisiti e del software necessario
Per poter realizzare quanto proposto dalla guida, è strettamente necessario il possesso di due pacchetti fondamentali: make e gcc.
Se non sono installati sul sistema, bisogna procedere alla loro acquisizione e installazione tramite i comandi:
# apt-get install make # apt-get install gcc
Tali pacchetti serviranno per installare e configurare il software che si occuperà di aggiornare l'indirizzo IP della macchina qualora questo venga cambiato dal DHCP.
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.
Scaricamento ed installazione di VSFTPD
Per questa guida è stato scelto l'utilizzo dell'implementazione VSFPTD per il protocollo FTP, che è possibile scaricare ed installare tramite il comando:
# apt-get install vsftpd
Una volta scaricato ed installato il pacchetto, il server sarà già attivo ed impostato con la sua configurazione di default.
E' inoltre possibile verificare lo stato del server tramite il comando:
# /etc/init.d/vsftpd status
Configurazione di VSFTPD
Il file di configurazione di VSFTPD è collocato nella directory /etc ed è possibile leggerne la configurazione di default tramite il comando
# less /etc/vsftpd.conf
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.
Tutta la documentazione relativa alle regole di VSFTPD è possibile trovarla al seguente link.
Prima di settare le nuove regole, sarebbe opportuno effettuare una copia di backup del file di configurazione originale tramite il comando:
# cp /etc/vsftpd.conf /home/vostronomeutente/Documenti
(o in qualsiasi altro percorso che sia di vostro gradimento).
Effettuata la copia del file, è possibile modificare il file contenuto nella directory /etc, che sarà quello effettivamente letto da VSFTPD.
Prima di procedere alla modifica, è necessario stoppare il demone vsftpd tramite il comando
# /etc/init.d/vsftpd stop
a questo punto bisognerà eliminare il contenuto del file ed incollare al suo interno le seguenti regole:
listen=YES anon_root=/var/ftp/TEST anonymous_enable=YES local_enable=NO hide_ids=YES no_anon_password=YES use_localtime=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES idle_session_timeout=600 data_connection_timeout=120 max_per_ip=2 ftpd_banner=Welcome to TEST FTP Server secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd
una volta copiate le regole, è possibile salvare il file e ri-avviare il demone tramite il comando:
# /etc/init.d/vsftpd restart
ed è inoltre possibile sincerarsi dello stato del demone utilizzando, ancora una volta, il comando:
# /etc/init.d/vsftpd status
Resta inteso che, dopo aver letto la documentazione ufficiale sulle regole di VSFTPD e la loro relativa sintassi, sarete in grado di apportare modifiche consistenti al file che abbiamo appena editato, essendo consapevoli del fatto che il comportamento del vostro server cambierà in base alle nuove regole che editerete.