Bonjour à tous
C’est un long message ^^ J’espère que vous prendrez le temps de le lire (merci d’avance à ceux qui le liront^^)
Je suis actuellement en train de configurer un VSTFP via SSL. Mais j’ai quelques soucis. J’ai suivi ce tuto : http://ressources-info.fr/tutoriels-systemes/afficher/8/
Je suis actuellement sous Debian 7.4 i686.
Voici toutes les commandes que j’ai pu taper (je suis en train de tout refaire pour la nième fois en même temps comme ça moins de risque de fail dans les commandes.)
Note : toutes les commandes sont faîtes en root
apt-get update
apt-get upgrade
apt-get install sudo vsftpd fail2ban db-util gcc make mcrypt
rm -rf /etc/ftpusers
mkdir /etc/vsftpd
Pour faire ma liste utilisateur et enlever l’utilisateur “www-data” voici ce que je fais:
cat /etc/passwd | awk -F: '{print $ 1}' > /etc/vsftpd/user_list
sed -i '/www-data/d' /etc/vsftpd/user_list
Création des dossiers pour mes utilisateurs avec mise en place des droits:
mkdir /var/www/work
mkdir /var/www/fmaille
chmod 777 /var/www -R
chown www-data:www-data /var/www/ -R
Vérification :
ls -all /var/www/
drwxrwxrwx 4 www-data www-data 4096 Mar 25 19:25 .
drwxr-xr-x 12 root root 4096 Mar 25 19:08 ..
drwxrwxrwx 2 www-data www-data 4096 Mar 25 19:25 fmaille
-rwxrwxrwx 1 www-data www-data 177 Mar 25 19:09 index.html
drwxrwxrwx 2 www-data www-data 4096 Mar 25 19:25 work
Je génère mon certificat (je ne vous montre pas la commande ça au moins je suis sûr ^^).
Fichier vsftpd.conf:
[code]############################################
Configuration globale du serveur VSFTP
############################################
#Port d’écoute (on utilise le port SSL)
listen_port=465
#Interdiction d’utiliser le port 20
connect_from_port_20=no
#bannière d’accueil du FTP
ftpd_banner=Bienvenue mon SRV FTP
#fichier de config PAM
pam_service_name=vsftpd
#Mode standalone
listen=yes
#Connexions anonymes refusées
anonymous_enable=no
#Les users virtuels pourront mapper un compte local
local_enable=yes
#fichier des users interdits (ex: root)
userlist_file=/etc/vsftpd/user_list
#on charge la liste
userlist_enable=yes
#on refuse tous les comptes qu’elle contient
userlist_deny=yes
#les users virtuels seront mappés sur le compte local “ftp”
guest_enable=yes
guest_username=www-data
#un user virtuel pourra télécharger des fichiers (on assure un minimum
#de service en cas d’erreur de config)
anon_world_readable_only=no
#“emprisonnement” des users
chroot_local_user=yes
#nombre de connexions simultannées maximum
max_clients=10
#nombre maximum de connexion avec la même adresse IP
max_per_ip=2
#fichier de log
xferlog_enable=yes
#######################
Connexion via SSL
#######################
#On autorise le SSL
ssl_enable=yes
#On force l’utilisation du SSL
force_local_data_ssl=yes
#on accepte les différentes versions d’SSL
ssl_tlsv1=yes
ssl_sslv2=yes
ssl_sslv3=yes
#Renseignement du certificat à utiliser
rsa_cert_file=/etc/vsftpd/vsftpd.pem
##################################
Configuration au cas par cas
##################################
#Répertoire où se trouvent tous les fichiers de conf users
user_config_dir=/etc/vsftpd/vsftpd_user_conf[/code]
Ouverture des ports (pare-feu):
# FTP (SSL)
iptables -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 465 -j ACCEPT
Création de la BDD (utilisateur virtuels) : /etc/vsftpd/login.txt
titi
titi
Permission et hash du fichier :
db5.1_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db
chmod 600 /etc/vsftpd/login.*
Fichier pam.d:
auth sufficient pam_unix.so
account sufficient pam_unix.so
auth required /lib/i386-linux-gnu/security//pam_userdb.so db=/etc/vsftpd/login
account required /lib/i386-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/login
Restart et reboot en cours.
Au reboot on tente de se connecter au moins une fois histoire de voir même si les utilisateurs ne sont pas encore dans leur dossier respectif et voici l’erreur :
[quote]Response: 220 Bienvenue mon SRV FTP
Command: AUTH TLS
Response: 234 Proceed with negotiation.
Status: Initializing TLS…
Error: GnuTLS error -12: A TLS fatal alert has been received.
Error: Could not connect to server[/quote]
En cherchant sur le net j’ai vu qu’il fallait ajouter cette ligne dans notre /etc/vsftpd.conf
ssl_ciphers=HIGH
Et là on se dit OUAIS !!!
je vois enfin mon certificat, on accepte tout content
et là c’est le drame
[quote]Status: Delaying connection for 1 second due to previously failed connection attempt…
Status: Connecting to 192.168.0.106:465…
Status: Connection established, waiting for welcome message…
Response: 220 Bienvenue mon SRV FTP
Command: AUTH TLS
Response: 234 Proceed with negotiation.
Status: Initializing TLS…
Status: Verifying certificate…
Command: USER titi
Status: TLS/SSL connection established.
Response: 331 Please specify the password.
Command: PASS ****
Error: GnuTLS error -15: An unexpected TLS packet was received.
Error: Could not connect to server[/quote]
En cherchant encore sur le net (car je veux le faire marcher même en étant depuis 4 jours dessus ) on apprend que c’est un bug entre FileZilla et VSFTP et que la version de VSFTP est en 2.3.5.3 ne marche pas ou mal … Là on trouve un bon tuto pour installer et compiler notre vsftpd :
https://forum.ubuntu-fr.org/viewtopic.php?id=997111
Note les explications sont en peu plus bas dans la page (j’ai suivi à la lettre ^^ )
Mais ayant un problème avec la compilation car il nous dit ne pas trouver le “crypt”. En cherchant un peu on voit qu’il faut modifier le fichier vsf_findlibs.sh Auquel je rajoute à la ligne 26 (je précise la ligne car il cherche justement le ‘crypt’ donc je lui donne le chemin (je suis gentil hein ^^ )
Ligne rajoutée dans vsf_findlibs.sh:
locate_library /usr/lib/i386-linux-gnu/libcrypt.so && echo "-lcrypt";
on recompile et je fais les dernières étapes du tuto :
service vsftpd stop
cp vsftpd /usr/sbin
service vsftpd start
On rajoute à notre fichier /etc/vsftpd.conf la ligne suivante comme demandé dans le tuto :
allow_writeable_chroot=YES
Et là il nous balance l’erreur :
[quote]Status: Connecting to 192.168.0.106:465…
Status: Connection attempt failed with “ECONNREFUSED - Connection refused by server”.
Error: Could not connect to server
Status: Waiting to retry…[/quote]
J’avoue que je ne sais vraiment plus quoi faire Si une âme charitable veut bien m’aider svp. Je planche dessus depuis 4 maintenant 5 jours et je n’y arrive vraiment pas
Merci en tout cas d’avance pour votre aide qui me sera surement très précieuse.
zaewyr
Merci encore à ceux qui ont lu le message
EDIT : J’ai ré-ouvert les ports par la suite donc ce n’est pas le pare-feu qui bloque et sur mon pc j’ai viré tous les pare-feu donc bon…
EDIT 2 : J’ai rajouté mon dossier /etc/vftpd/vsftpd_user_conf
[code]mkdir /etc/vsftpd/vsftpd_user_conf
cat /etc/vsftpd/vsftpd_user_conf/titi
local_root=/var/www
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[/code]
Et lorsque j’essaye de me connecter avec FileZilla, voici un petit cat /var/log/vsftpd.log
Tue Mar 25 19:49:26 2014 [pid 2] CONNECT: Client "192.168.0.100"
Tue Mar 25 19:49:31 2014 [pid 1] [titi] OK LOGIN: Client "192.168.0.100"
Tue Mar 25 19:49:36 2014 [pid 2] CONNECT: Client "192.168.0.100"
Tue Mar 25 19:49:39 2014 [pid 1] [titi] OK LOGIN: Client "192.168.0.100"
Mais j’ai toujours l’erreur :
[quote]Status: Connecting to 192.168.0.106:465…
Status: Connection attempt failed with “ECONNREFUSED - Connection refused by server”.
Error: Could not connect to server
Status: Waiting to retry…[/quote]