Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

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

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

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

1 Preliminary Note

In questo tutorial, userò il server1.example.com nome host con l’indirizzo IP 192.168.1.100. Queste impostazioni possono differire per il vostro utilizzo. Io uso la configurazione del server Debian 8 minimal come base per questo tutorial.

[slideshow_deploy id=’367′]

2 Installazione vsftpd e OpenSSL

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

apt-get -y install vsftpd openssl

3 Creare SSL Certificate per TLS

Per poter utilizzare TLS, dobbiamo creare un certificato SSL. Creo in /etc/ssl/private – se la directory non esiste, crearla ora:

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

In seguito, 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

Country Name (2 letter code) [AU]: <– Enter your Country Name (e.g., “DE”).
State or Province Name (full name) [Some-State]:<– Enter your State or Province Name.
Locality Name (eg, city) []:<– Enter your City.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<– Enter your Organization Name (e.g., the name of your company).
Organizational Unit Name (eg, section) []:<– Enter your Organizational Unit Name (e.g. “IT Department”).
Common Name (eg, YOUR name) []:<– Enter the Fully Qualified Domain Name of the system (e.g. “server1.example.com”).
Email Address []:<– Enter your Email Address.

4 Abilitazione di TLS In vsftpd

Per consentire TLS vsftpd, aprire /etc/vsftpd.conf

nano /etc/vsftpd.conf

… E aggiungere o modificare 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 si utilizza force_local_logins_ssl = YES e force_local_data_ssl = YES, solo le connessioni TLS sono consentite (questo blocca tutti gli utenti con i vecchi client FTP che non hanno il supporto TLS); utilizzando force_local_logins_ssl = NO e force_local_data_ssl = NO entrambe le connessioni TLS e non TLS sono permesse, a seconda di ciò che sostiene il client FTP.

[slideshow_deploy id=’367′]

Oltre alle opzioni TLS, assicuratevi di avere anche le seguenti impostazioni del vsftpd.conf per consentire 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

[…]

Riavviare vsftpd:

service vsftpd restart

Questo è tutto. È ora possibile provare a connettersi utilizzando il client FTP; tuttavia, è necessario configurare il client FTP per utilizzare TLS (questo è un must se si utilizza force_local_logins_ssl = YES e force_local_data_ssl = YES)

5 vsftpd aggiungere user

In questo passaggio, aggiungeremo un utente locale di Linux che possiamo utilizzare per connettersi. Creerò un utente “fino a” con la password “howto”.

[slideshow_deploy id=’367′]

Tutti gli utenti FTP devono avere le home directory in mkdir /var/ftproot, quindi dovrò creare questa directory prima.

mkdir /var/ftproot

Quindi aggiungere l’utente con il comando:

adduser --home /var/ftproot/till till

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

root@server1:/# 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 con successo un utente FTP.

Piaciuto l'articolo? Condividilo sui social!

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp