Mise ne place d’un serveur ftp pureftpd

Mise ne place d’un serveur ftp pureftpd

Installation de Pure-ftpd

Pure-FTPd est un serveur FTP sécurisé et fiable pour les systèmes unix
Pure-FTPd propose l’identification MySQL, PostgreSQL, PAM, LDAP.
Il supporte également la création d’utilisateurs virtuels n’ayant pas de compte sur le système.

[pastacode lang= »bash » manual= »apt%20install%20pure-ftpd%0Asudo%20groupadd%20ftpgroup%0A%2F%2Fcr%C3%A9%C3%A9%20un%20compte%20qui%20n’aura%20pas%20les%20droits%20de%20connexions%0Asudo%20useradd%20-g%20ftpgroup%20-d%20%2Fdev%2Fnull%20-s%20%2Fusr%2Fsbin%2Fnologin%20ftpuser » message= » » highlight= » » provider= »manual »/]

le répertoire de configuration est sous : /etc/pure-ftpd/conf/
le détail des conf est disponible sur le site du fournisseur dans le readme.
Par défaut il est limité à l’affichage de 2000 fichiers et 5 répertoires max. Pour personnaliser les configurations il suffit de créé ses propres fichiers de conf par option.

Exemple : pour une limitation as 1000 fichiers et 5O répertoire dans le dossier de conf créé le fichier avec le nom suivant tous en respectant la casse
fichier LimitRecursion

[pastacode lang= »bash » manual= »echo%20%2210000%2050%22%20%3E%20%2Fetc%2Fpure-ftpd%2Fconf%2FLimitRecursion » message= » » highlight= » » provider= »manual »/]

Si vous voulez fixer la plage de port pour le transfert de fichier

[pastacode lang= »bash » manual= »echo%20%2254000%2064000%22%20%3E%20%2Fetc%2Fpure-ftpd%2Fconf%2FPassivePortRange » message= » » highlight= » » provider= »manual »/]

Pour changer le port d’ecoute,  il faut indiquer ip,port la nous voulons fixer uniquement le port:

[pastacode lang= »bash » manual= »echo%20%22*%2C10000%22%20%3E%20%2Fetc%2Fpure-ftpd%2Fconf%2FBind » message= » » highlight= » » provider= »manual »/]

Pour passer le serveur en standalone ou l’attacher as xinetd ou encore faire des modifications sur le comportement du démon vous pouvez modifier le fichier :/etc/default/pure-ftpd-common

Création d’utilisateurs ftp

Pour activer l’authentification liée a pureftp

[pastacode lang= »bash » manual= »sudo%20ln%20-s%20%2Fetc%2Fpure-ftpd%2Fconf%2FPureDB%20%2Fetc%2Fpure-ftpd%2Fauth%2F50pure » message= » » highlight= » » provider= »manual »/]

après chaque modification ou rajout d’utilisateur il faut régénérer le fichier de configuration.

ajout d’un utilisateur

[pastacode lang= »bash » manual= »sudo%20pure-pw%20useradd%20nom_utilisateur%20-u%20ftpuser%20-g%20ftpgroup%20-d%20user_home_dir%0A%0AExemple%20pour%20l’utilisateur%20toto%0Asudo%20pure-pw%20useradd%20toto%20-u%20ftpuser%20-g%20ftpgroup%20-d%20%2Fhome%2Fftpuser%2Ftoto » message= » » highlight= » » provider= »manual »/]

régénérer le fichier de configuration

[pastacode lang= »bash » manual= »sudo%20pure-pw%20mkdb » message= » » highlight= » » provider= »manual »/]

Quelques commandes utiles

[pastacode lang= »bash » manual= »change%20user%20password%20%0Asudo%20pure-pw%20passwd%20nom_utilisateur%20%20%2F%2Fpensez%20as%20r%C3%A9g%C3%A9n%C3%A9rer%20le%20fichier%20de%20configuration.%0APour%20lister%20les%20utilisateurs%0Asudo%20pure-pw%20list%0APour%20lister%20les%20utilisateurs%20connect%C3%A9s%20%0Asudo%20pure-ftpwho » message= » » highlight= » » provider= »manual »/]

Activation du TLS

vous avez le choix entre différents mode de fonctionnement. prenez celui qui vous convient le mieux.

[pastacode lang= »bash » manual= »Activer%20as%20la%20fois%20FTP%20et%20TLS%20les%202%20fonctionneront%20avec%20ou%20sans%20s%C3%A9curit%C3%A9%20%0Aecho%201%20%3E%20%2Fetc%2Fpure-ftpd%2Fconf%2FTLS%0AActiver%20uniquement%20TLS%20pour%20une%20meilleure%20s%C3%A9curit%C3%A9.%0Aecho%202%20%3E%20%2Fetc%2Fpure-ftpd%2Fconf%2FTLS%0APour%20activer%20uniquement%20FTP%20et%20plus%20TLS%20vous%20pouvez%20supprimer%20le%20fichier%20TLS%20cr%C3%A9%C3%A9%20pr%C3%A9c%C3%A9demment%20ou%20y%20mettre%200%0Aecho%200%20%3E%20%2Fetc%2Fpure-ftpd%2Fconf%2FTLS » message= » » highlight= » » provider= »manual »/]

vous pouvez ensuite utiliser le certificat de votre choix soit auto-généré avec ssl soit via letsencrtypt.

Auto-généré avec un certificat ssl

[pastacode lang= »bash » manual= »aptitude%20install%20openssl%0Amkdir%20-p%20%2Fetc%2Fssl%2Fprivate%2F%0Aopenssl%20req%20-x509%20-nodes%20-days%207300%20-newkey%20rsa%3A2048%20-keyout%20%2Fetc%2Fssl%2Fprivate%2Fpure-ftpd.pem%20-out%20%2Fetc%2Fssl%2Fprivate%2Fpure-ftpd.pem%0Achmod%20600%20%2Fetc%2Fssl%2Fprivate%2Fpure-ftpd.pem%0Asystemctl%20restart%20pure-ftpd » message= » » highlight= » » provider= »manual »/]

Pour générer le DH vous pouvez utiliser . il faudrait bien sûr que openssl soit installé. cette action peut être longue (quelques minutes) et n’est pas obligatoire.

[pastacode lang= »bash » manual= »openssl%20dhparam%20-out%20%2Fetc%2Fssl%2Fprivate%2Fpure-ftpd-dhparams.pem%204096″ message= » » highlight= » » provider= »manual »/]

pour utiliser Let’s Encrypt

Il n’est malheureusement pas possible d’utiliser tel quel le fichier généré par Let’s Encrypt pour Pure-Ftpd, Pure-Ftpd a besoin d’un fichier contenant la clé privée et le certificat. Il va donc falloir concaténer les fichiers privkey.pem (la clé privée) et fullchain.pem (le certificat). La commande pour concaténer ces deux fichiers en un seul et la suivante (à lancer en root) :

[pastacode lang= »bash » manual= »cat%20%2Fetc%2Fletsencrypt%2Flive%2Fvotredomaine%2Fprivkey.pem%20%2Fetc%2Fletsencrypt%2Flive%2Fvotredomaine%2Ffullchain.pem%20%3E%20%2Fetc%2Fssl%2Fprivate%2Fpure-ftpd.pem » message= » » highlight= » » provider= »manual »/]

Cette commande va créer le fichier pure-ftpd.pem dans le répertoire /etc/ssl/private. Ce fichier est la fusion des fichiers Let’s Encrypt privkey.pem et fullchain.pem. Pensez à remplacer “votredomaine” par le nom de domaine de votre certificat.

 

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.