GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare e configurare vsftpd con TLS su Debian 8 (Jessie)

Questo articolo spiega come configurare un server vsftpd abilitato per TLS su un server Debian 8 e come accedere al server FTP con FileZilla. FTP è un protocollo molto insicuro per impostazione predefinita perché tutte le password e tutti i dati vengono trasferiti in chiaro. Utilizzando TLS, l'intera comunicazione può essere crittografata, rendendo così l'FTP molto più sicuro.

1 Nota preliminare

In questo tutorial, userò il nome host server1.example.com con l'indirizzo IP 192.168.1.100. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato. Uso la configurazione minima del server Debian 8 come base per questo tutorial.

2 Installazione di vsftpd e OpenSSL

OpenSSL è necessario per TLS; per installare vsftpd e OpenSSL, eseguiamo semplicemente:

apt-get -y install vsftpd openssl

3 Creazione del certificato SSL per TLS

Per utilizzare TLS, dobbiamo creare un certificato SSL. Lo creo in /etc/ssl/private - se la directory non esiste, creala ora::

mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/private

Successivamente, possiamo generare il certificato SSL come segue:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Nome del Paese (codice di 2 lettere) [AU]:<-- Inserisci il nome del tuo Paese (ad es. "DE").
Nome Stato o Provincia (nome completo) [Stato-Stato]:<-- Inserisci il tuo Stato o nome della provincia.
Nome località (ad es. città) []:<-- Inserisci la tua città.
Nome organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]:<-- Inserisci il nome dell'organizzazione (ad es. il nome della tua azienda).
Nome dell'unità organizzativa (ad es. sezione) []:<-- Inserisci il nome dell'unità organizzativa (ad es. "Dipartimento IT").
Nome comune (ad es. IL TUO nome) []:<-- Inserisci il nome di dominio completo del sistema (ad es. "server1.example.com").
Indirizzo e-mail []:<-- Inserisci il tuo indirizzo e-mail.

4 Abilitazione di TLS in vsftpd

Per abilitare TLS in vsftpd, apri /etc/vsftpd.conf...

nano /etc/vsftpd.conf

... e aggiungi o modifica le seguenti opzioni:

[...]

# Turn on SSL ssl_enable=YES # Allow anonymous users to use secured SSL connections allow_anon_ssl=YES # All non-anonymous logins are forced to use a secure SSL connection in order to # send and receive data on data connections. force_local_data_ssl=YES # All non-anonymous logins are forced to use a secure SSL connection in order to send the password. force_local_logins_ssl=YES # Permit TLS v1 protocol connections. TLS v1 connections are preferred ssl_tlsv1=YES # Permit SSL v2 protocol connections. TLS v1 connections are preferred ssl_sslv2=NO # permit SSL v3 protocol connections. TLS v1 connections are preferred ssl_sslv3=NO # Disable SSL session reuse (required by WinSCP) require_ssl_reuse=NO # Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla) ssl_ciphers=HIGH # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/private/vsftpd.pem [...]

Se usi force_local_logins_ssl=YES e force_local_data_ssl=YES, sono consentite solo le connessioni TLS (questo blocca tutti gli utenti con vecchi client FTP che non hanno il supporto TLS); utilizzando force_local_logins_ssl=NO e force_local_data_ssl=NO sono consentite entrambe le connessioni TLS e non TLS, a seconda di ciò che supporta il client FTP.

Oltre alle opzioni TLS, assicurati di avere anche le seguenti impostazioni nel tuo vsftpd.conf per abilitare accessi non anonimi:

[...]
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022

[...]

Riavvia vsftpd in seguito:

service vsftpd restart

Questo è tutto. Ora puoi provare a connetterti usando il tuo client FTP; tuttavia, dovresti configurare il tuo client FTP per utilizzare TLS (questo è un must se usi force_local_logins_ssl=YES e force_local_data_ssl=YES) - vedi il prossimo capitolo come farlo con FileZilla.

5 vsftpd aggiungi utente

In questo passaggio, aggiungeremo un utente Linux locale a cui possiamo connetterci. Creerò un utente "till" con la password "howtoforge". Tutti gli utenti FTP devono avere le loro home directory in mkdir /var/ftproot, quindi creerò prima questa directory.

mkdir /var/ftproot

Quindi aggiungi l'utente con il comando:

adduser --home /var/ftproot/till till

Il comando adduser chiederà la password dell'utente e alcuni altri dettagli

[email protected]:/# adduser --home /var/ftproot/till till
Adding user `till' ...
Adding new group `till' (1001) ...
Adding new user `till' (1001) with group `till' ...
Creating home directory `/var/ftproot/till' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <-- Enter the new password here
Retype new UNIX password: <-- Enter the new password here
passwd: password updated successfully
Changing the user information for till
Enter the new value, or press ENTER for the default
Full Name []: <-- Enter your name here or press enter to skip
Room Number []: <-- Enter room number here or press enter to skip
Work Phone []: <-- Enter work phone here or press enter to skip
Home Phone []: <-- Enter home phone here or press enter to skip
Other []: <-- Enter Other user details here or press enter to skip
Is the information correct? [Y/n] <-- Y

Abbiamo aggiunto correttamente un utente FTP.

6 Configurazione di FileZilla per TLS

Per utilizzare FTP con TLS, è necessario un client FTP che supporti TLS, come FileZilla.

In FileZilla, apri Gestione server:

Inserisci l'indirizzo IP o il nome host del server FTP nel campo del server, seleziona il protocollo "FTP" e "Richiedi FTP esplicito su TLS" e inserisci il nome utente nel campo utente.

Ora puoi connetterti al server. Se lo fai per la prima volta, devi accettare il nuovo certificato SSL del server:

Se tutto va bene, ora dovresti essere loggato sul server:

  • vsftpd:https://security.appspot.com/vsftpd.html
  • FileZilla:http://filezilla-project.org/
  • Debian:http://www.debian.org/

Debian
  1. Come installare e configurare ZFS su Linux usando Debian Jessie 8.1

  2. Come installare il server FTP vsftpd e proteggerlo con TLS su Debian 11

  3. Come installare e configurare la finestra mobile su Debian 11

  4. Come installare e configurare Mariadb 10 in Debian 11

  5. Come installare e configurare MongoDB 5 su Debian 11

Come installare e configurare Tripwire IDS su Debian 10

Come installare e configurare RabbitMQ su Debian 11

Come installare TYPO3 7 con Nginx e MariaDB su Debian 8 (Jessie)

Come installare il server FTP vsftpd con TLS su Debian 10

Come installare e configurare Git in Debian 11

Come installare e configurare Apache su Debian 11?