Sécuriser un accès FTP

I. Présentation

L’installation d’un service FTP est relativement simple en soit. Le fait est qu’une fois opérationnel, un service FTP comprends quelques problèmes de sécurité. Notamment en ce qui concerne les mots de passe utilisateurs. Pour installer un service FTP opérationnel, je vous amène à ce tutoriel .


II. Le SSL, pour quoi faire ?

Lors d’une connexion client – serveur, le mot de passe de l’utilisateur voulant se connecter passe sur le réseau. Avec un sniff fait sur le réseau à l’aide de Wireshark, nous pouvons voir le résultat suivant:

FTPSSL1

Ici, l’utilisateur micka amorce une connexion avec le serveur (192.168.1.140) et déclare être l’utilisateur «micka» (seconde ligne). La troisième ligne est une demande de mot de passe du serveur pour l’utilisateur « micka ».

La réponse de l’utilisateur est donc son mot de passe et l’échange se termine avec un succès du log de l’utilisateur. Le problème est qu’avec un simple sniff réseau et en arrivant au bon moment, on voit très clairement l’échange et le mot de passe/Login utilisateur.

III. Sécurisation SSL/TLS pour crypter les échanges

Nous allons mettre en place un certificat SSL/TLS et un système de clé asymétrique qui aura pour but d’une part de certifier que nous nous adressons bien au bon serveur et d’autre part de crypter l’échange de données sur le réseau.

Il faut tout d’abord installer le service ssl :

apt-get install openssl
cd /etc/ssl
# creation de la clé privée qui sera cryptée en des3 sur 2048 bits
openssl genrsa -des3 -out private.key 2048
# Création des infos relatives au certificat
openssl req -new -key private.key -out ftp.csr
#Création de la clé publique à partir de la clé privée
openssl rsa -in private.key -out public.key
# Création du certificat à l’aide des infos précédemment entrées et de la clé privée
openssl x509 -req -days 365 -in ftp.csr -signkey private.key -out certif.crt

Une fois le cryptage prêt, il nous faut l’appliquer au serveur FTP pour y accéder en FTPS et protéger les mots de passe sur le réseau. Allez dans le fichier de configuration de votre FTP et dé-commentez la ligne « include tls.conf». Il faut préciser le chemin vers les certificats et la clé publique dans le fichier /etc/proftpd/tls.conf et dé-commenter les lignes suivantes.

TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
CertificateFile : /etc/ssl/certif.crt # Chemin vers le certificat
CertificateKeyFile : /etc/ssl/private.key # Chemin vers la clé privée
TLSOptions AllowClientRenegotations
TLSVerifyClient on
TLSRequired on
# N’oubliez pas de redémarrer votre service FTP
Service proftpd restart

IV. Connexion en FTPS avec FileZilla

Attention ! Avec Filezilla, il vous faut utiliser le menu de connexion avancé pour vous connecter en FTPS (File Transfert Protocol Secure). Faites alors « Créer un nouveau site », puis entrez les informations relatives à votre serveur FTP, utilisez le mode de connexion explicite par TLS et un type de Log normal.

FTPSSL3

Faites ensuite « Connecter » :

FTPSSL2

Nous voyons donc bien que l’authentification TLS est demandée et avec un nouveau sniff, vous verrez que les données sont totalement cryptées.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d'IT-Connect.fr et d'Information-security.fr. Auditeur sécurité chez Amossys.

    mickael has 478 posts and counting.See all posts by mickael

    2 pensées sur “Sécuriser un accès FTP

    • Je voudrais vous dire félicitations pour la qualité des cours. Succincts mais concis

      Répondre
    • Bonjour, j’ai fait comme tu as fait, mais gros problème lors de la dernière étape : service proftpd restart

      Voici mes erreurs : ExecStart=/etc/init.d/proftpd start (code=exited, status=1/FAILURE)

      et : systemd[1]: Failed to start LSB: Starts ProFTPD daemon.

      Besoin d’aide stp

      Répondre

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

     

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.