Pure-FTPd - TLS/SSL Error?

Bonjour,

Je n’arrive plus à activer le TLS/SSL sur mon serveur Pure-FTPd. J’ai essayé avec les version 1.0.51 et 1.0.48 en compilant et celle de Debian Buster la 1.0.47.

Les logs me ressortent que le fichier n’existe pas.

pure-ftpd[15491]: (?@?) [ERROR] Sorry, but that file doesn't exist: [/etc/ssl/private/pure-ftpd.pem]

Le répertoire SSL :

ls -lh /etc/ssl/
total 32K
drwxr-xr-x 2 root root      16K avril 28  2021 certs
-rw-r--r-- 1 root root      11K oct.  12  2019 openssl.cnf
drwxr-xr-x 2 root ssl-cert 4,0K août  12 13:37 private

J’ai bien le fichier pure-ftpd.pem :

ls -lh /etc/ssl/private/pure-ftpd.pem
-rw-r----- 1 root ssl-cert 2,2K août  12 13:37 /etc/ssl/private/pure-ftpd.pem

J’ai suivis cette doc que j’ai écris il y a quelques temps - une quinzaine d’années - pour pouvoir suivre les liens symboliques dans mes Home’s chrootées - Il fallait et faut toujours compiler soi-même sinon les liens symboliques ne sont pas actif.

Pour les certificats j’ai essayé avec un certificat auto-signé et avec un certificat personnel en copiant collant la clef et le certif.

Lien des releases Pure-FTPd :slight_smile:

Qui aurait des informations ?

Merci.

Salutations,
Romain

Qui lance le processus pure-ftpd ?

En fait c’est bon … Il faut créer un certificat TLS/SSL en 2048 et non en 1024 :smiley:

Merci @Clochette !

Bonne fin de journée à vous.

C’est souvent comme çà :

On trouve la solution soi-même, 10 secondes après avoir poster une demande de « support » :wink:

Merci. Bonne fin de journée, soirée.

1 J'aime

Bonjour

je note que les bit mode de ton répertoire /etc/ssl/private sont à 0755 au lieu de 0710
donc, actuellement, les clefs privées de ton serveur ne le sont pas tant que ça.

Il te faudrait, avec les privilèges du compte root
lancer la ligne de commande suivante :

chmod -v 0710 /etc/ssl/private

Ce qui devrait donner :

chmod -v 0710 /etc/ssl/private
le mode de '/etc/ssl/private' a été modifié de 0755 (rwxr-xr-x) en 0710 (rwx--x---)
1 J'aime

simple curiosité, mais est-ce qu’il y a une raison particulière pour laisser le droit d’exécution au groupe propriétaire, sur ces fichiers ?

:rofl: les clefs privées de ton serveur ne le sont pas tant que ça.

Merci oui je sais :wink: C’est pour cela que j’ai même listé le répertoire pour attendre vos réactions :slight_smile:

Youpi @MicP - Merci d’avoir ce professionnalisme - Merci pour moi, nous les non-moins pro :wink: - je remet le répertoire /etc/ssl/private/ avec les bons droits.

ftps://ftp.lab3w.com ? J’ai réussis à mettre mon certif en plus :partying_face:

J’ai créais un compte « anonymous » qui tombe là : https://www.zw3b.site/pub/ :innocent:

Bonne fin de journée à vous.

Romain

Peut-être pour que le groupe ssl-certs puisse exécuter quelque chose sans lire … mhum :confused: je ne sais pas trop

@MicP ?

Oui, le bit d’exécution n’a pas la même signification pour un fichier que pour un répertoire, et sans le bit d’exécution pour le groupe concerné, les membres du groupe concernés ne pourraient accéder à ce répertoire.

1 J'aime

Comme pour vos certificats Let’s Encrypt de vos sites Web, avec Pure-FTPd, j’ai dû copier la clef et le certificat de cette manière.

Tout d’abord ma clef « domain.tld.key » étant encryptée/protégée (demande de passe-phrase au lancement d’apache par exemple) :

-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----

J’ai dû décrypter la clef avec la bonne passe-phrase de cette manière pour avoir la clef normale :

openssl rsa -in domain.tld.key -out domain.tld.noprotect.key

Ce qui m’a donné la clef « domain.tld.noprotect.key » PRIVATE RSA :

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

Le fichier « domain.tld.crt » de mon certificat :

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Étape Let’s Encrypt :slight_smile:
Concaténer le contenu des 2 fichiers pour créer le fichier de « pure-ftpd.pem » démandé :

cat domain.tld.noprotect.key domain.tld.crt > pure-ftpd.pem

Pour avoir le fichier « pure-ftpd.pem » qui va bien :

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Et modifier les droits au fichier pour que seul le compte qui lance le serveur FTP puisse le lire :wink:

chmod 600 pure-ftpd.pem

Ce qui m’a permis d’avoir le certificat signé par mon AC LAB3W - un wildcard plus simple que d’avoir « N » certificats par sous-domaine mais moins sécurisé :crazy_face: pourrait-on dire ? L’important ici, c’est que personne ne puisse sniffer sur le réseau, borne DSLAM et routeur d’entreprise, les mots de passe en clair des utilisateurs qui se connecteraient à mon serveur FTP.

J’ajoute un lien vers le client FTP FileZilla qui a une version gratuite qui fonctionne très bien - pour ce qui ne connaissent pas ce protocole de transfert de fichiers sécurisé :roll_eyes:

Salutations,
Romain

C’est bien mais avec Let’s encrypt tu pouvais beaucoup plus simplement faire la même chose.

Oui juste concaténer les fichiers… key et fullchain du domaine.

En plus l’utilité de d’avoir Let’s Encrypt c’est d’avoir des certificats valides dans les navigateurs mondiaux :slight_smile: mais je n’ai toujours pas intégrer Let’s Encrypt - docs.

:wink:

En passant il faudrait une variable supplémentaire à Pure-FTPd comme celle d’Apache - docs - mod_ssl.

SSLPassPhraseDialog  exec:/etc/ssl/private/.apache.domain.tld.passphrase

:wink: