Petit rappel TLS/SSL...

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
  • 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)
    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 :
    pure-ftpd-mysql

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

    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)

  • TLS ----> La valeur devra être à :1
  • TLSCipherSuite----> La valeur devra être à :HIGH
  • PassivePortRange----> La valeur devra être à :29799 29899

  • pure-ftpd-mysql

    pure-ftpd-mysql

    pure-ftpd-mysql

    La sauvegarde (commande mv):

    nano /etc/pure-ftpd/conf/TLS

    nano /etc/pure-ftpd/conf/TLSCipherSuite

    nano /etc/pure-ftpd/conf/PassivePortRange

    Enregistrer

    CTRL oENTERCTRL 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 :
    pure-ftpd-mysql

    voir le certificat:

    nano /etc/ssl/private/pure-ftpd.pem

    output :
    pure-ftpd-mysql

    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)

    pure-ftpd-mysql

    Accepter:
    pure-ftpd-mysql

    Pure-ftpd-mysql fonctionne sur Internet avec TLS

    Bravo!

    Bonus : Une interface d'administration php/mysql...

    My Domain

    Pascal

    Laisser un commentaire

    👀 Voir tous les commentaires