Vsftpd en mode SSL

Vsftpd en mode SSLAprès avoir quitté Vsftpd pour Pure-ftpd, je suis revenu à mes premières amours. J’avais besoin, pour mes clients, d’un accès Ftp sécurisé. Retour donc à Vsftpd.

Installation de Vsftpd sur Linux Fedora

La procédure est la même pour CentOS et Red Hat à ceci près que la commande à exécuter est yum au lieu de dnf :

dnf install vsftpd
systemctl enable vsftpd
systemctl start vsftpd

Générer clé et certificat SSL

Pour générer votre jeu de clés, il faut recourir à la commande openssl :

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

Interdire les comptes de services et le compte root

Seuls les comptes dont l’uid est supérieure à 1000 ont le droit de se connecter :

cat /etc/passwd|grep -E ":[0-9]{1,3}:"|cut -d ':' -f 1 > /etc/vsftpd/ftpusers
cat /etc/passwd|grep -E ":[0-9]{1,3}:"|cut -d ':' -f 1 > /etc/vsftpd/user_list

Le fichier de configuration /etc/vsftpd/vsftpd.conf

Sur mon serveur, je voulais également laisser un accès anonyme via l’adresse ftp://ftp.dsfc.net :

 anonymous_enable=YES
 anon_root=/home/www/dsfc/wp-content/uploads/supports
 anon_max_rate=1310720
 
 local_enable=YES
 write_enable=YES
 local_umask=000
 dirmessage_enable=YES
 xferlog_enable=YES
 xferlog_std_format=YES
 connect_from_port_20=YES
 ftpd_banner=Bienvenue sur le serveur de la société DSFC
 
 chroot_local_user=NO
 chroot_list_enable=YES
 chroot_list_file=/etc/vsftpd/chroot_list
 allow_writeable_chroot=YES
 
 listen=YES
 pam_service_name=vsftpd
 userlist_enable=YES
 tcp_wrappers=YES
 
 ssl_enable=YES
 allow_anon_ssl=NO
 force_local_data_ssl=NO
 force_local_logins_ssl=NO
 #require_ssl_reuse=NO
 ssl_tlsv1=YES
 ssl_sslv2=NO
 ssl_sslv3=NO
 rsa_cert_file=/etc/vsftpd/vsftpd.crt
 rsa_private_key_file=/etc/vsftpd/vsftpd.key
 #ssl_ciphers=HIGH
 
 pasv_enable=YES
 pasv_promiscuous=NO
 pasv_min_port=27000
 pasv_max_port=27999
 pasv_address=ftp.dsfc.net
 pasv_addr_resolve=YES
 port_promiscuous=NO

Pare-feu

J’ai ajouté à mes fichiers de configuration Iptables, /etc/sysconfig/iptables et /etc/sysconfig/ip6tables, les lignes suivantes :

-A INPUT -p tcp -m tcp -m multiport --dports 20,21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 27000:27999 -j ACCEPT

Redémarrer le service

Vsftpd est désormais prêt à fonctionner :

systemctl restart vsftpd

Documentation

Enregistrer

Enregistrer

Linux  / Centos Fedora Formateur Centos Formateur Linux Formateur Red Hat Ftp Ftps Linux OpenSSL Pure-FTPd Red Hat Vsftpd 

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)