La Transport Layer Security (TLS) ou « Sécurité de la couche de transport », et son prédécesseur la Secure Sockets Layer sont des protocoles de sécurisation des échanges par réseau informatique, notamment par Internet.
On parle parfois de SSL/TLS pour désigner indifféremment SSL ou TLS. La TLS (ou SSL) fonctionne suivant un mode client-serveur. Il permet de satisfaire les objectifs de sécurité suivants :l'authentification du serveur ;
la confidentialité des données échangées (ou session chiffrée) ;
l'intégrité des données échangées ;
l'authentification du client
On parle parfois de SSL/TLS pour désigner indifféremment SSL ou TLS. La TLS (ou SSL) fonctionne suivant un mode client-serveur. Il permet de satisfaire les objectifs de sécurité suivants :
Ouverture des Ports...
Activer SSL/TLS pour Pure-ftpd-mysql nécessite d'ouvrir le port 22 (port d'écoute SSL)) sur le serveur. (Firewall UFW)
TLS ----> La valeur devra être à :1
TLSCipherSuite----> La valeur devra être à :HIGH
PassivePortRange----> La valeur devra être à :29799 29899
Nous en profiterons pour ouvrir une plage de ports pour le mode passif (passives-transferts) Ici je choisi une plage non utilisée assez haute pour ne pas être embêté ensuite :
29799---->29899.
En root :
sudo -i
ufw allow 22/tcp
UFW nous renvoie : La nouvelle règle a été entrée.
puis :
ufw allow 29799:29899/tcp
UFW nous renvoie : La nouvelle règle a été entrée.
Voir les ports ouverts :
ufw status
Tu devrais voir ce genre d'infos :

Enfin même travail sur la box du FAI pour les ports 21,22,29799 à 29899.
Configuration NAT en fonction des box
Exemple:

Configuration de Pure-Ftpd-Mysql pour TLS...
Dans /etc/pure-ftpd/conf/
Nous renseignerons les 3 fichiers suivants: (s'ils n'existent pas ils seront crées)



La sauvegarde (commande mv):
nano /etc/pure-ftpd/conf/TLS
nano /etc/pure-ftpd/conf/TLSCipherSuite
nano /etc/pure-ftpd/conf/PassivePortRange
Enregistrer
| CTRL o | ENTER | CTRL x |
Certificat...
Comme pour le serveur Apache, il nous faut un certificat. + clé
Ici pour faire rapide, nous allons crée un certificat auto-signé (pour utiliser celui de Let's Encrypt, tu feras une recherche si tu le souhaites)
la clé et le certificat seront stockés dans :/etc/ssl/private/pure-ftpd.pem et etc/ssl/private/pure-ftpd.key
nous allons utiliser le package openssl (s'il n'est pas intallé, il faudra le faire : apt install openssl))
Commande :
openssl req -x509 -nodes -newkey rsa:2048 -sha256 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
output :

voir le certificat:
nano /etc/ssl/private/pure-ftpd.pem
output :

Sortir sans Enregistrer
| CTRL x |
Pure-ftpd-mysql est prêt pour SSL/TLS
le redémarrer
systemctl restart pure-ftpd-mysql
Si pas de message d'erreur tout va bien (sinon...).
systemctl status pure-ftpd-mysql
Pour les infos sur ce qu'il faut corriger.
Pour sortir :
| CTRL c |
Connexion TLS des utilisateurs Unix ou Virtuals...
Filezilla depuis une autre machine du réseau (remplace ftp.mydomain.fr)

Accepter:

Pure-ftpd-mysql fonctionne sur Internet avec TLS
Bravo!
Bonus : Une interface d'administration php/mysql...
Pascal
Laisser un commentaire
👀 Voir tous les commentaires

