FTPS per Vsftpd e gestione della modalità passiva

l’FTP trasferisce userid e password in chiaro e per evitrare che un malandrino possa recuperare le info, si abilita l’TLS con certificato.

Per prima cosa creare un certificato self-signed con

sudo openssl req -x509 -days 365 -newkey rsa:2048 -nodes -keyout /etc/vsftpd.pem -out /etc/vsftpd.pem

Una volta creato bisogna dire a vsftpd di utilizzarlo in aggiungendo al /etc/vsftpd.conf queste righe:

# enable TLS/SSL
ssl_enable=YES

# force client to use TLS when logging in
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

# specify SSL certificate/private key (Debian/Ubuntu)
# For CentOS/Fedora/RHEL, replace it with /etc/vsftpd/vsftpd.pem
rsa_cert_file=/etc/vsftpd.pem
rsa_private_key_file=/etc/vsftpd.pem

# define port range for passive mode connections
pasv_max_port=50000
pasv_min_port=5099

Ho settato a NO le due righe del “force_local…” in quanto voglio lasciare aperta la possibilità di ciollegarsi anche con il banale ftp

Far ripartire vsftpd con un

service vsftpd restart

Sono state anche inserite, tanto non fa male, le porte da utilizzare per l’ftp passivo.
Potrebbe essere terminato qui il tutto… ma non è così!
Il protocollo FTP è molto rognoso in quanto spostando la connessione su passive gira al client la coppia ip:porta sulla quale connettersi:
il server non sa di avere un l’indirizzo esterno e gira l’indirizzo che lui conosce, il suo ip interno

pasv_enable=YES
pasv_addr_resolve=YES 
#pasv_address=xxx.xxx.xxx.xxx <=my external Ip  
pasv_address=domain.com.com <= my domain

con le righe qui sopra, il server fornirà le corrette coordinate ip:porta senza possibilità di errore.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.