Come configurare un server FTP Linux per trasferimenti rapidi di file

0
179

FTP, o File Transfer Protocol, è un protocollo standard per l'invio e la ricezione file da server remoti. È più facile da usare rispetto alle alternative da riga di comando come scp, specialmente con interfacce GUI come FileZilla.

Cos'è FTP?

< p>Ai vecchi tempi di Internet, i server FTP pubblici erano un modo molto comune per rendere disponibili i file a un gran numero di persone. Oggi l'FTP è ancora in circolazione e ampiamente utilizzato per le attività amministrative.

Mentre una qualche forma di CLI FTP viene fornita con la maggior parte dei principali sistemi operativi, i client GUI come FileZilla rendono il processo di spostamento dei file tra i server semplice come trascinare e rilasciare dall'archivio locale all'archivio remoto o viceversa. Tutto il traffico sottostante viene gestito tramite FTP.

Impostazione up richiede l'installazione e la configurazione di un server FTP, come vsftpd, sulla macchina remota a cui si desidera accedere.

Va notato che gli utenti che hanno effettuato l'accesso tramite FTP avranno accesso al tuo sistema, proprio come te. Ci sono misure che puoi adottare per mitigare questi rischi, come l'accesso in whitelist e il blocco degli utenti alle loro home directory.

Installazione di vsftpd

Per iniziare, installa vsftpd dal gestore di pacchetti della tua distribuzione. Per i sistemi basati su Debian come Ubuntu, sarebbe da apt:

sudo apt-get install vsftpd Pubblicità

Successivamente, dovrai avviare il servizio e impostarlo per l'esecuzione all'avvio:

systemctl start vsftpd systemctl enable vsftpd

FTP ha due metodi principali di autenticazione:

    < li> FTP anonimo, dove chiunque può accedere senza password. Viene utilizzato per la condivisione pubblica di file ed è disabilitato per impostazione predefinita.
  • Accesso utente locale, che consente a qualsiasi utente in /etc/passwd di accedere a FTP utilizzando un nome utente e una password.

Probabilmente vorrai abilitare l'accesso utente locale e mantenere disabilitato l'accesso anonimo. L'accesso a FTP utilizzando il tuo account utente ti consentirà di accedere a tutto ciò a cui il tuo account può accedere.

Apri /etc/vsftpd.conf nel tuo editor di testo preferito e modifica la riga seguente in S to:

local_enable=YES

Se vuoi essere in grado di caricare file, cambia anche write_enable in YES:

write_enable=YES

Con un riavvio di vsftpd (systemctl restart vsftpd), ora dovresti essere in grado per accedere a FTP utilizzando un client come FileZilla o la CLI sul tuo computer personale.

Annuncio

Se desideri abilitare FTP solo per utenti specifici, puoi autorizzare l'accesso. Apri /etc/vsftpd.userlist e aggiungi i nomi di ciascun account che desideri abilitare su righe separate.

nano /etc/vsftpd.userlist

Quindi, aggiungi le seguenti righe a /etc/vsftpd. conf:

userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO

Questo limiterà l'accesso solo agli utenti definiti nel file userlist e negherà tutti gli altri.

Se non vuoi che gli utenti accedano ai file al di fuori della loro home directory, puoi inserirli in una chroot jail, che impedirà loro di interagire con qualsiasi directory di livello superiore. Puoi abilitarlo decommentando la seguente riga in /etc/vsftpd.conf:

chroot_local_user=YES

Riavvia vsftpd con systemctl restart vsftpd per applicare le modifiche.

Impostazione di FTPS

Il traffico FTP standard viene inviato non crittografato come HTTP. Questo ovviamente non è eccezionale, quindi dovresti configurare vsftpd per crittografare il traffico con TLS.

Per fare ciò, genera una nuova chiave e firma una richiesta con openssl:

openssl genrsa -des3 -out FTP.key openssl req -new -key FTP.key -out certificate.csr

vsftpd richiede la rimozione della password da questa chiave, quindi copia la chiave e ripassala a openssl:

cp FTP.key FTP.key.orig openssl rsa -in FTP.key.orig -out ftp.key

Infine, genera un TLS certificato utilizzando questa chiave:

openssl x509 -req -days 365 -in certificate.csr -signkey ftp.key -out mycertificate.crt

Copia la chiave e il certificato in /etc/pki/tls/certs/:

cp ftp.key /etc/pki/tls/certs/cp mycertificate.crt /etc/pki/tls/certs Pubblicità

Ora che tutti i certificati sono impostati, puoi di nuovo apri /etc/vsftpd.conf e aggiungi le seguenti righe:

ssl_enable=YES allow_anon_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO rsa_cert_file=/etc/pki/my_tls/certs /etc/pki/tls/certs/ftp.key ssl_ciphers=HIGH require_ssl_reuse=NO

Riavvia vsftpd con systemctl restart vsftpd per applicare il modifiche.