Configuration Serveur FTP + SSL sous DEBIAN

Configuration Serveur FTP + SSL sous DEBIAN

Nous allons apprendre dans ce petit tutoriel à configurer un serveur FTP pour notre système Linux avec du SSL pour sécuriser l’ensemble.

Installation du Service Proftpd

[pastacode lang= »bash » manual= »sudo%20apt%20apt%20update%20%26%26%20sudo%20apt%20upgrade%20%0Asudo%20apt%20install%20proftpd » message= » » highlight= » » provider= »manual »/]

Ensuite, redémarrer le service FTP

[pastacode lang= »bash » manual= »sudo%20systemctl%20restart%20proftpd » message= » » highlight= » » provider= »manual »/]

De base le serveur FTP fonctionne déjà et il est accessible sur le port 21. Les utilisateurs système peuvent se connecter directement via un client ftp (FileZilla). Ils seront automatiquement attachés à leur répertoire home et ils peuvent remonter dans les répertoires parents et explorer l’ensemble de l’arborescence. Pour ce fâcheux détail qui peut très vite devenir un trou de sécurité,  vous pouvez tous simplement dé-commenter la ligne :

[pastacode lang= »bash » manual= »DefaultRoot%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20~%0ADefaultChdir%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20~ » message= » » highlight= » » provider= »manual »/]

Si vous souhaitez que les utilisateurs ne soient pas redirigés vers leur répertoire racine, mais vers un autre, vous pouvez changer le répertoire de rattachement en remplaçant le tilde (~) des lignes précédentes par le nouveau répertoire:

[pastacode lang= »bash » manual= »sudo%20nano%20%20%2Fetc%2Fproftpd%2Fproftpd.conf » message= » » highlight= » » provider= »manual »/]

Modifier ensuite la ligne :

[pastacode lang= »bash » manual= »DefaultRoot%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fdata%2Fftp%2F%25u%0ADefaultChdir%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fdata%2Fftp%2F%25u » message= » » highlight= » » provider= »manual »/]

La variable %u sera remplacée à chaque connexion par le nom de l’utilisateur qui se connecte. Donc si vous avez un utilisateur toto. Vous devez avoir un dossier /data/FTP/toto dans lequel toto sera automatiquement redirigé lorsqu’il se connectera au FTP.

NB : si l’utilisateur n’a pas les droits d’accès au dossier ou vous l’avez redirigé ou si le dossier n’existe pas la connexion ne sera pas possible.

Pour changer le propriétaire d’un dossier et le donner à l’utilisateur utiliser la commande chown :

chown  user_name:user_name      répertoire

exemple :  chown joel :joel    /data/ftp/joel

Activation du SSL

Pour activer le SSL il suffit de modifier la ligne suivante dans le fichier proftpd.conf.

[pastacode lang= »markup » manual= »sudo%20nano%20%20%2Fetc%2Fproftpd%2Fproftpd.conf » message= » » highlight= » » provider= »manual »/]

Modifier les lignes :

[pastacode lang= »bash » manual= »%23%0A%23%20This%20is%20used%20for%20FTPS%20connections%0A%23%0AInclude%20%2Fetc%2Fproftpd%2Ftls.conf%0A%0A » message= » » highlight= » » provider= »manual »/]

Cela permet d’inclure le fichier de configuration du ssl. Nous allons ensuite l’éditer :

[pastacode lang= »bash » manual= »sudo%20nano%20%20%2Fetc%2Fproftpd%2Ftls.conf%20″ message= » » highlight= » » provider= »manual »/]

Ensuite modifier les lignes :

[pastacode lang= »bash » manual= »TLSEngine%20on%0ATLSLog%20%2Fvar%2Flog%2Fproftpd%2Ftls.log%0ATLSProtocol%20SSLv23%0ATLSRSACertificateFile%20%2Fetc%2Fssl%2Fcerts%2Fproftpd.crt%0ATLSRSACertificateKeyFile%20%2Fetc%2Fssl%2Fprivate%2Fproftpd.key%0ATLSVerifyClient%20off%0A%23TLS%20obligatoire%20(si%20vous%20le%20pass%C3%A9%20%C3%A0%20off%20il%20sera%20possible%20de%20se%20connecter%20avec%20ou%20sans%20tls)%0ATLSRequired%20on » message= » » highlight= » » provider= »manual »/]

Générer ensuite la clé privée et le certificat du serveur avec la commande :

[pastacode lang= »bash » manual= »sudo%20openssl%20req%20-x509%20-newkey%20rsa%3A2048%20%5C%0A%20-keyout%20%2Fetc%2Fssl%2Fprivate%2Fproftpd.key%20-out%20%2Fetc%2Fssl%2Fcerts%2Fproftpd.crt%20%5C%0A%20-nodes%20-days%203650%0A » message= » » highlight= » » provider= »manual »/]

Ensuite, redémarrer le serveur :

[pastacode lang= »bash » manual= »sudo%20systemctl%20restart%20proftpd » message= » » highlight= » » provider= »manual »/]

Vous pouvez maintenant configurer votre propre serveur FTP.

 

 

 

joel

Laisser un commentaire

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