Protocollo di trasferimento file (FTP) è un protocollo di rete standard utilizzato per copiare un file da un host all'altro su una rete basata su TCP, come Internet. FTP è costruito su un'architettura client-server e utilizza controlli separati e connessioni dati tra client e server. Gli utenti FTP possono autenticarsi utilizzando un protocollo di accesso in chiaro, ma possono connettersi in modo anonimo se il server è configurato per consentirlo.
Le prime applicazioni client FTP erano strumenti da riga di comando interattivi, che implementavano comandi e sintassi standard. Da allora i client dell'interfaccia utente grafica sono stati sviluppati per molti dei più diffusi sistemi operativi desktop in uso oggi.
Installa server FTP
Prima di installare vsftpd, assicurarsi che il server abbia accesso a Internet. In caso contrario, configura il repository YUM locale per l'installazione di vsftpd.
installa il server vsftpd usando il comando seguente.
# yum -y install vsftpd
Configura server FTP
Il file di configurazione sarà nella cartella /etc/vsftp. Vsftpd.conf è il file di configurazione del server FTP.
# vi /etc/vsftpd/vsftpd.conf
Questo file contiene molte direttive che aiutano a rafforzare la sicurezza del server FTP; le seguenti sono le direttive importanti che sono già state inserite nel file.
Direttiva
| In Vsftpd.conf | Utilizzo |
anonymous_enable | SI | Controlla se gli accessi anonimi sono consentiti o meno. Se abilitati, sia il nome utente ftp che quello anonimo vengono riconosciuti come accessi anonimi. |
abilita_locale | SI | Controlla se gli accessi locali sono consentiti o meno. Se abilitato, è possibile utilizzare i normali account utente in /etc/passwd (o ovunque i riferimenti di configurazione PAM) per l'accesso. Ciò deve consentire il funzionamento di qualsiasi accesso non anonimo, inclusi gli utenti virtuali. |
write_enable | SI | Questo controlla se i comandi FTP che modificano il file system sono consentiti o meno. Questi comandi sono: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE e SITE. |
local_umask | 022 | Il valore su cui è impostato umask per la creazione di file per locale Utenti. |
anon_upload_enable | SI
Ma ha commentato il file, è necessario decommentarlo. | Se impostato su SÌ, gli utenti anonimi potranno caricare file a determinate condizioni. Affinché funzioni, l'opzione write_enable deve essere attivata e l'utente ftp anonimo deve disporre dell'autorizzazione di scrittura sui percorsi di caricamento desiderati. Questa impostazione è necessaria anche per il caricamento da parte degli utenti virtuali; per impostazione predefinita, gli utenti virtuali vengono trattati con il privilegio anonimo (ovvero massimamente limitato). |
anon_mkdir_write_enable | SI
Ma ha commentato il file, è necessario decommentarlo. | Se impostato su SÌ, gli utenti anonimi potranno creare nuove directory a determinate condizioni. Affinché ciò funzioni, l'opzione write_enable deve essere attivata e l'utente ftp anonimo deve disporre dell'autorizzazione di scrittura sulla directory padre. |
ascolta | SI
| Se abilitato, vsftpd verrà eseguito in modalità standalone. Ciò significa che Vsftpd non deve essere eseguito da un inetd di qualche tipo. Invece, il L'eseguibile Vsftpd viene eseguito una volta direttamente. Vsftpd stesso si occuperà quindi di ascoltare e gestire le connessioni in entrata. |
Di seguito sono riportate alcune altre opzioni che puoi aggiungere nel file per maggiore sicurezza.
Direttiva | opzioni | Descrizione |
userlist_enable | SI/NO | Se abilitato, vsftpd caricherà un elenco di nomi utente, dal nome file fornito da userlist_file. Se un utente tenta di accedere utilizzando un nome in questo file, verrà negato prima che gli venga richiesta una password. Ciò può essere utile per impedire la trasmissione di password in chiaro. Vedi anche userlist_deny. |
chroot_local_user | SI/NO | Se impostato su SÌ, gli utenti locali verranno (per impostazione predefinita) posizionati in una prigione chroot() nella loro home directory dopo l'accesso. Avvertimento:questa opzione ha plicazioni di sicurezza, specialmente se gli utenti hanno l'autorizzazione al caricamento o l'accesso alla shell. Abilita solo se sai cosa stai facendo. Si noti che queste implicazioni sulla sicurezza non sono specifiche di vsftpd. Si applicano a tutti i demoni FTP che offrono Per mettere gli utenti locali in chroot() jail. |
tasso_massimo_locale | In kb Es: local_max_rate=1000 | La velocità di trasferimento dati massima consentita, in byte al secondo, per gli utenti autenticati locali. Predefinito:0 (illimitato) |
anon_max_rate | in migliaia Es: anon_max_rate=1000 | La velocità di trasferimento dati massima consentita, in byte al secondo, per i client anonimi. Predefinito:0 (illimitato) |
no_anon_password | SI/NO | Se abilitato, impedisce a vsftpd di richiedere una password anonima:l'utente anonimo accederà direttamente. |
Qui esamineremo solo i nostri requisiti. Disabilitiamo l'accesso anonimo modificando la seguente voce nel file di configurazione.
anonymous_enable=NO
Consenti agli utenti locali di accedere a vsftpd.
local_enable=YES
Abilita l'accesso in scrittura agli utenti locali.
write_enable=YES
Metti gli utenti locali in "chroot jailed" in modo che venga loro negato l'accesso a qualsiasi parte dei file di sistema
chroot_local_user=YES
Consenti all'utente chroot di scrivere.
allow_writeable_chroot=YES
Riavvia il servizio vsftpd.
# systemctl restart vsftpd.service
Imposta vsftpd per l'avvio all'avvio del sistema.
# systemctl enable vsftpd.service
Firewall
Consenti la porta 21 nel firewall, in modo che sia possibile accedere a vsftp tramite la rete.
# firewall-cmd --permanent --zone=public --add-port=21/tcp # firewall-cmd --reload
SELinux
Emetti il comando seguente per abilitare l'autorizzazione di scrittura sulle home directory.
# setsebool -P ftp_home_dir 1
È tutto. Per utilizzare FileZilla o WinSCP, devi abilitare la modalità passiva in vsftp .