5270
Commento: creata pagina portale server
|
5864
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
#LANGUAGE it | |
Linea 2: | Linea 3: |
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents]]|| | ||<tablebgcolor="#f1f1ed" tablewidth="40%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">'''Indice'''[[BR]][[TableOfContents]] || |
Linea 4: | Linea 5: |
Guida alla configurazione di un server FTP con '''`vsftpd`'''. | = Introduzione = |
Linea 6: | Linea 7: |
= Che cos'è FTP e come funziona = | '''FTP''' (File Transfer Protocol) è un protocollo standard per il trasferimento di file tra host all'interno di una rete. Solitamente prevede l'autenticazione degli utenti e una serie di comandi semplici per scaricare e caricare file da o per l'host desiderato. |
Linea 8: | Linea 9: |
FTP è un protocollo standard per il trasferimento di files fra hosts in una rete. Solitamente prevede l'autenticazione degli utenti ed una serie di comandi semplici per il download e l'upload dei files che devono essere scaricati sul proprio host o copiati sull'host remoto. se vi serve creare solo un gateway vedete [:GatewayLan:]. Questa guida si occupa della configurazione del servizio FTP utilizzando il programma '''`vsftpd`''' (very secure FTP daemon), uno dei programmi maggiormente usati e sicuri per l'implementazione di questo servizio. * [http://vsftpd.beasts.org/ vsftpd.beasts.org] - Sito ufficiale di vsftpd. * [http://vsftpd.beasts.org/vsftpd_conf.html vsftpd.beasts.org/vsftpd_conf] - Guida alla configurazione di vsftpd. |
Questa guida si occupa della configurazione del servizio FTP utilizzando il programma '''vsftpd''' (very secure FTP daemon), uno dei programmi maggiormente usati e sicuri per l'implementazione di questo servizio. |
Linea 18: | Linea 13: |
Aprite una shell ed al prompt dei comandi digitate: | È sufficiente installare il pacchetto ''vsftpd'' con il gestore di pacchetti preferito. |
Linea 20: | Linea 15: |
{{{ sudo apt-get -y install vsftpd. |
Da terminale basta digitare: {{{ sudo apt-get -y install vsftpd |
Linea 24: | Linea 19: |
L'opzione `-y` di '''`apt-get`''' non chiede la conferma per le azioni legate al processo di installazione del software. In questo modo installerà '''`vsftpd`''' risolvendo automaticamente le dipendenze necessarie ed avviando il server ftp nella configurazione di default. |
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">Il pacchetto ''vsftpd'' si trova nel repository [:Repository/Componenti#universe:universe]. Accertarsi di averlo abilitato, in caso consultare la pagina [:Repository#abilitare:Repository]. || |
Linea 28: | Linea 21: |
attachment:Icone/Piccole/note.png Il pacchetto ''vsftpd'' si trova nel repository [:ArchivioUniverse:universe], accertatevi di averlo abilitato, in caso consultate AddingRepositoriesHowto. | [[Anchor(avvio)]] = Avvio, arresto del servizio = |
Linea 30: | Linea 24: |
L'installazione di default attiva il server FTP in modalità anonima, ovvero quando si tenta di connettersi all'host digitando al prompt: {{{ ftp 192.168.20.101 |
Una volta installato il pacchetto ''vsftpd'', il servizio FTP viene avviato automaticamente. Per fermare il servizio, da un terminale digitare: {{{ sudo /etc/init.d/vsftpd stop |
Linea 35: | Linea 30: |
si ottiene una messaggio di richiesta di immissione delle credenziali di accesso del tipo : {{{ Username: Password: |
Per avviare il servizio, una volta arrestato, da terminale digitare: {{{ sudo /etc/init.d/vsftpd start |
Linea 41: | Linea 34: |
come username bisogna mettere '''anonymous''' e la password è in bianco (date semplicemente invio sulla tastiera). | Per riavviare (fermare e avviare) il servizio, da terminale digitare: {{{ sudo /etc/init.d/vsftpd restart }}} |
Linea 43: | Linea 38: |
A questo punto si accede come utente anonymous senza che vi venga richiesta la password, ma ovviamente con possibilità limitate di sfogliare le cartelle disponibili sul server nonché di fare download e upload di file. Gli utenti anonimi possono avere accesso soltanto alla cartella `/home/ftp` del server, nella quale, a seconda dei parametri di configurazione impostati, potranno soltanto leggere/scaricare, oppure anche scrivere/caricare. |
= Prova del servizio = Ora, consideriamo di doverci collegare al computer, con indirizzo IP '''192.168.1.2''', su cui è stato installato il servizio FTP. Per fare ciò, da un terminale, digitare: {{{ ftp 192.168.1.2 }}} Viene visualizzato un messaggio di richiesta di immissione delle credenziali di accesso del tipo: {{{ Connected to 192.168.1.2 Name (192.168.1.2): }}} Inserire come nome utente: {{{ anonymous }}} e premere '''Invio'''. Viene quindi chiesta la password. In questo caso basta premere '''Invio'''. L'utente '''anonymous''' non ha una password impostata. A questo punto si accede come utente '''anonymous''', ma ovviamente con possibilità limitate di esplorare le cartelle disponibili sul server e limitate possibilità di scaricamento e caricamento file. Gli utenti anonimi possono avere accesso soltanto alla cartella `/home/ftp` del server, nella quale, a seconda dei parametri di configurazione impostati, potranno soltanto leggere/scaricare, oppure anche scrivere/caricare. |
Linea 48: | Linea 60: |
Nel caso in cui si voglia configurare un server FTP i cui utenti sono quelli già abilitati sul sistema, sarà necessario intervenire sul file di configurazione del servizio vsftpd: `/etc/vsftpd.conf`. | Per configurare un server FTP in cui gli utenti abilitati ad accedere siano gli utenti del sistema, è necessario sul file di configurazione del servizio '''vsftpd''' `/etc/vsftpd.conf`. |
Linea 50: | Linea 62: |
Modificate il seguente parametro come segue : {{{ LOCAL_ENABLE = YES |
Modificare la riga: {{{ #local_enable=YES |
Linea 55: | Linea 66: |
Digitando l'indirizzo del server FTP, verranno chiesti all'utente lo username e la password, egli dovrà inserire semplicemente quelli che già utilizza in locale. In questo modo si permetterà agli utenti del sistema di accedere al servizio FTP con il proprio username e la propria password, accedendo a tutte le cartelle presenti sul server. [[BR]] attachment:Icone/Piccole/warning.png '''Quando si abilita questa funzione è opportuno limitare l'accesso degli utenti registrati alla sola cartella `/home/nomeutente` ad essi già attribuita.''' |
in: {{{ local_enable= YES }}} |
Linea 58: | Linea 70: |
Per fare questo è necessario abilitare questo parametro: {{{ |
Collegandosi al server con il comando: {{{ ftp 192.168.1.2 }}} gli utenti presenti all'interno di quella macchina potranno eseguire l'accesso inserendo il proprio nome utente e la propria password. Gli utenti del sistema avranno accesso al servizio FTP potendo esplorare tutte le cartelle del sistema. Quando si abilita questa funzione è opportuno limitare l'accesso degli utenti registrati alla sola cartella `/home/nomeutente` ad essi già attribuita Per fare questo è necessario modificare la riga: {{{ #chroot_local_user=YES }}} in: {{{ |
Linea 63: | Linea 85: |
Quindi, per esempio, l'utente "carlo", avrà accesso alla sola cartella `/home/carlo`. | Quindi, per esempio, l'utente '''mario''' avrà accesso alla sola cartella `/home/mario`. |
Linea 65: | Linea 87: |
= ACL = | = Restringere l'accesso = |
Linea 67: | Linea 89: |
Il modo in cui il servizio FTP implementa le liste di controllo degli accessi è attraverso l'uso di un file che contiene l'elenco degli utenti il cui accesso FTP è proibito. Questo file è `/etc/ftpusers`. |
Il servizio FTP presenta alcuni problemi di sicurezza, tra cui l'invio delle password in chiaro. Per ovviare a questi, è possibile non consentire l'accesso via FTP a certi utenti "sensibili" del sistema, come l'utente '''root'''. |
Linea 70: | Linea 91: |
{{{ | La configurazione di quali utenti escludere dal servizio FTP viene svolta attraverso il file `/etc/ftpusers`, il cui contenuto è simile a questo: {{{ |
Linea 87: | Linea 108: |
Pertanto se volete che l'utente di sistema '''marco''' non possa usare il servizio FTP dovete soltanto aggiungerlo nel file `/etc/ftpusers` e riavviare il servizio con il comando : {{{ /etc/init.d/vsftpd restart }}} |
È bene mantenere questo elenco così com'è, aggiungendo altri utenti a cui non si vuole concedere l'utilizzo del servizio. |
Linea 92: | Linea 110: |
= Lista dei parametri di vsftpd.conf = | Per non consentire l'utilizzo del servizio all'utente '''mario''', basta semplicemente aggiungere in coda all'elenco presente nel file, il nome dell'utente, in questo caso '''mario'''. Una volta fatto questo, è necessario [#avvio riavviare il servizio]. |
Linea 94: | Linea 112: |
# Abilita/disabilita accesso anonimo anonymous_enable=YES ... ... # Abilita/disabilita accesso agli user locali local_enable=YES ... ... # Abilita/disabilita agli utente accesso in scrittura write_enable=YES ... ... # Abitilità/disabilita la possibilità degli utenti anonimi di scaricare file # ha valore solo se write_enable è decomentato # Also, you will # obviously need to create a directory writable by the FTP user. # anon_upload_enable=YES ... ... # Decomenta sei vuoi permettere agli utenti anonimi di creare nuove directory # anon_mkdir_write_enable=YES |
= Elenco dei parametri di vsftpd.conf = |
Linea 116: | Linea 114: |
# Attiva i log su tutte le operazione di upload/download xferlog_enable=YES ... ... # Specificare il path dei log o lasciare quello di default # xferlog_file=/var/log/vsftpd.log # Gli utenti contenuti nel file vsftp.chroot_list non avranno accesso # alla cartella superiore alla proprio home dir chroot_list_enable=YES chroot_list_file=/etc/vsftp.chroot_list # Nel file chroot_list mettere semplicemente il nome utente che deve essere limitato |
Di seguito vengono presentati alcuni dei parametri che è possibile configurare per '''vsftpd''': * {{{ anonymous_enable=YES }}} Abilita/disabilita l'accesso anonimo. * {{{ local_enable=YES }}} Abilita/disabilita l'accesso agli utenti locali. * {{{ write_enable=YES }}} Abilita/disabilita agli utenti l'accesso in scrittura. * {{{ anon_upload_enable=YES }}} Abilita/disabilita la possibilità degli utenti anonimi di caricare file. Valido solo se `write_enable` è impostata a vero. * {{{ anon_mkdir_write_enable=YES }}} Abilita/disabilita la possibilità degli utenti anonimi di creare nuove directory. * {{{ xferlog_enable=YES }}} Attiva i log su tutte le operazioni di scaricamento e caricamento file. * {{{ xferlog_file=/var/log/vsftpd.log }}} Specifica il percorso per i file di log. * {{{ ftpd_banner= }}} Imposta un messaggio di benvenuto visualizzato all'accesso al server FTP. = Ulteriori risorse = * [http://vsftpd.beasts.org/ vsftpd.beasts.org Sito ufficiale di vsftpd] * [http://vsftpd.beasts.org/vsftpd_conf.html Guida alla configurazione di vsftpd] |
IndiceBRTableOfContents |
Introduzione
FTP (File Transfer Protocol) è un protocollo standard per il trasferimento di file tra host all'interno di una rete. Solitamente prevede l'autenticazione degli utenti e una serie di comandi semplici per scaricare e caricare file da o per l'host desiderato.
Questa guida si occupa della configurazione del servizio FTP utilizzando il programma vsftpd (very secure FTP daemon), uno dei programmi maggiormente usati e sicuri per l'implementazione di questo servizio.
Installazione
È sufficiente installare il pacchetto vsftpd con il gestore di pacchetti preferito.
Da terminale basta digitare:
sudo apt-get -y install vsftpd
Il pacchetto vsftpd si trova nel repository [:Repository/Componenti#universe:universe]. Accertarsi di averlo abilitato, in caso consultare la pagina [:Repository#abilitare:Repository]. |
Avvio, arresto del servizio
Una volta installato il pacchetto vsftpd, il servizio FTP viene avviato automaticamente.
Per fermare il servizio, da un terminale digitare:
sudo /etc/init.d/vsftpd stop
Per avviare il servizio, una volta arrestato, da terminale digitare:
sudo /etc/init.d/vsftpd start
Per riavviare (fermare e avviare) il servizio, da terminale digitare:
sudo /etc/init.d/vsftpd restart
Prova del servizio
Ora, consideriamo di doverci collegare al computer, con indirizzo IP 192.168.1.2, su cui è stato installato il servizio FTP. Per fare ciò, da un terminale, digitare:
ftp 192.168.1.2
Viene visualizzato un messaggio di richiesta di immissione delle credenziali di accesso del tipo:
Connected to 192.168.1.2 Name (192.168.1.2):
Inserire come nome utente:
anonymous
e premere Invio.
Viene quindi chiesta la password. In questo caso basta premere Invio. L'utente anonymous non ha una password impostata.
A questo punto si accede come utente anonymous, ma ovviamente con possibilità limitate di esplorare le cartelle disponibili sul server e limitate possibilità di scaricamento e caricamento file. Gli utenti anonimi possono avere accesso soltanto alla cartella /home/ftp del server, nella quale, a seconda dei parametri di configurazione impostati, potranno soltanto leggere/scaricare, oppure anche scrivere/caricare.
Configurazione
Per configurare un server FTP in cui gli utenti abilitati ad accedere siano gli utenti del sistema, è necessario sul file di configurazione del servizio vsftpd /etc/vsftpd.conf.
Modificare la riga:
#local_enable=YES
in:
local_enable= YES
Collegandosi al server con il comando:
ftp 192.168.1.2
gli utenti presenti all'interno di quella macchina potranno eseguire l'accesso inserendo il proprio nome utente e la propria password. Gli utenti del sistema avranno accesso al servizio FTP potendo esplorare tutte le cartelle del sistema.
Quando si abilita questa funzione è opportuno limitare l'accesso degli utenti registrati alla sola cartella /home/nomeutente ad essi già attribuita
Per fare questo è necessario modificare la riga:
#chroot_local_user=YES
in:
chroot_local_user=YES
Quindi, per esempio, l'utente mario avrà accesso alla sola cartella /home/mario.
Restringere l'accesso
Il servizio FTP presenta alcuni problemi di sicurezza, tra cui l'invio delle password in chiaro. Per ovviare a questi, è possibile non consentire l'accesso via FTP a certi utenti "sensibili" del sistema, come l'utente root.
La configurazione di quali utenti escludere dal servizio FTP viene svolta attraverso il file /etc/ftpusers, il cui contenuto è simile a questo:
# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5). root daemon bin sys sync games man lp mail news uucp nobody
È bene mantenere questo elenco così com'è, aggiungendo altri utenti a cui non si vuole concedere l'utilizzo del servizio.
Per non consentire l'utilizzo del servizio all'utente mario, basta semplicemente aggiungere in coda all'elenco presente nel file, il nome dell'utente, in questo caso mario. Una volta fatto questo, è necessario [#avvio riavviare il servizio].
Elenco dei parametri di vsftpd.conf
Di seguito vengono presentati alcuni dei parametri che è possibile configurare per vsftpd:
anonymous_enable=YES
Abilita/disabilita l'accesso anonimo.local_enable=YES
Abilita/disabilita l'accesso agli utenti locali.write_enable=YES
Abilita/disabilita agli utenti l'accesso in scrittura.anon_upload_enable=YES
Abilita/disabilita la possibilità degli utenti anonimi di caricare file. Valido solo se write_enable è impostata a vero.
anon_mkdir_write_enable=YES
Abilita/disabilita la possibilità degli utenti anonimi di creare nuove directory.xferlog_enable=YES
Attiva i log su tutte le operazioni di scaricamento e caricamento file.xferlog_file=/var/log/vsftpd.log
Specifica il percorso per i file di log.ftpd_banner=
Imposta un messaggio di benvenuto visualizzato all'accesso al server FTP.
Ulteriori risorse
[http://vsftpd.beasts.org/ vsftpd.beasts.org Sito ufficiale di vsftpd]
[http://vsftpd.beasts.org/vsftpd_conf.html Guida alla configurazione di vsftpd]