bg-tutorials

Comment installer un certificat SSL sur Pound

Ce guide vous montre comment installer un certificat SSL/TLS sur Pound, le proxy inverse HTTP/HTTPS léger. Il couvre la partie qui pose le plus de difficultés aux administrateurs : construire le fichier PEM combiné unique attendu par Pound, dans le bon ordre, puis rédiger un bloc ListenHTTPS fonctionnel qui désactive les protocoles obsolètes, dirige Pound vers un backend, et passe un contrôle de configuration avant de redémarrer le service.

Une précision rapide sur la version de Pound ciblée par ce guide. Le projet Apsis Pound d’origine a été abandonné en septembre 2022. Le développement actif s’est poursuivi sur le fork maintenu par Sergey Poznyakoff à l’adresse github.com/graygnuorg/pound, qui constitue désormais la référence en amont et la version intégrée par les distributions Linux actuelles. Les directives ci-dessous correspondent à la série moderne 4.x.

Générer le CSR pour Pound

Si vous avez déjà généré votre CSR et disposez des fichiers de certificat émis, passez directement à Installer le certificat SSL sur Pound.

Avant qu’une autorité de certification puisse émettre votre certificat, vous devez soumettre un CSR (Certificate Signing Request) : un petit bloc de texte contenant les détails de votre domaine et une clé publique, associé à une clé privée qui reste sur le serveur. Vous avez deux options :

  • Générer le CSR automatiquement avec notre générateur de CSR. L’outil renvoie à la fois le CSR et la clé privée correspondante, que vous transférez ensuite sur le serveur.
  • Générer le CSR directement sur le serveur avec OpenSSL en suivant notre tutoriel sur comment générer un CSR sur Pound. La clé privée reste sur le serveur.

Lors de la demande de certificat, collez le bloc CSR complet, y compris les lignes —–BEGIN CERTIFICATE REQUEST—– et —–END CERTIFICATE REQUEST—–. Si vous souhaitez vérifier le contenu du CSR avant de le soumettre, collez-le dans notre décodeur de CSR. Conservez le fichier de clé privée correspondant (généralement yourdomain.key) dans un endroit sûr, lisible uniquement par root ; vous en aurez besoin lors de l’installation.

Installer le certificat SSL sur Pound

Une fois le certificat émis par l’autorité de certification, vous recevrez généralement :

  • Votre certificat principal (serveur), habituellement un fichier .crt ou .pem nommé d’après votre domaine.
  • Un ou plusieurs certificats intermédiaires, soit sous forme de fichiers séparés, soit regroupés dans un seul fichier .ca-bundle.
  • La clé privée (un fichier .key) générée en même temps que votre CSR.

Pound attend un seul fichier PEM contenant le certificat, la chaîne intermédiaire et la clé privée non chiffrée. Le manuel de graygnuorg est explicite sur l’ordre à respecter : le certificat, puis les certificats intermédiaires (s’il y en a), puis la clé privée, dans cet ordre précis. Omettre la chaîne est l’erreur d’installation la plus fréquente : le certificat semble fonctionner correctement dans un navigateur de bureau mais échoue sur Android, sur iOS et dans les clients en ligne de commande.

Étape 1 : Construire le fichier PEM combiné

Ce guide suppose que les fichiers du certificat sont placés dans /etc/pound/. Adaptez les chemins à votre configuration. Concatenez les trois fichiers en un seul fichier PEM. Le motif pipe-vers-tee ci-dessous exécute la redirection avec les privilèges root, ce qui est nécessaire car /etc/pound/ n’est généralement inscriptible que par root (un simple sudo cat … > /etc/pound/… échouerait, car le shell ouvre le fichier de sortie en tant qu’utilisateur normal avant même que sudo ne s’exécute) :

cat your_domain.crt intermediate.crt your_domain.key | sudo tee /etc/pound/your_domain.pem > /dev/null

Si l’autorité de certification a fourni les certificats intermédiaires sous forme d’un seul fichier .ca-bundle, utilisez plutôt celui-ci :

cat your_domain.crt your_domain.ca-bundle your_domain.key | sudo tee /etc/pound/your_domain.pem > /dev/null

Remplacez les noms de fichiers par les vôtres. La clé privée à l’intérieur du fichier combiné doit être non chiffrée, car Pound démarre de manière non interactive et ne peut pas demander de phrase secrète. Verrouillez le fichier résultant afin que seul root puisse le lire :

sudo chown root:root /etc/pound/your_domain.pem
sudo chmod 600 /etc/pound/your_domain.pem

Étape 2 : Modifier pound.cfg

Ouvrez le fichier de configuration de Pound (généralement /etc/pound/pound.cfg sous Debian et Ubuntu, ou /etc/pound.cfg sur certaines autres distributions) et ajoutez un bloc ListenHTTPS qui pointe vers le fichier PEM combiné. Un bloc minimal et moderne se présente ainsi :

ListenHTTPS
    Address 0.0.0.0
    Port 443
    Cert "/etc/pound/your_domain.pem"

    # Modern TLS only: disables SSLv2, SSLv3, TLSv1.0 and TLSv1.1,
    # leaving TLSv1.2 and TLSv1.3 enabled.
    Disable TLSv1_1
    Ciphers "ECDHE+AESGCM:ECDHE+CHACHA20:!aNULL:!MD5:!DSS"

    Service
        Backend
            Address 127.0.0.1
            Port 8080
        End
    End
End

Quelques remarques sur les directives ci-dessus :

  • Cert fournit le fichier PEM combiné que vous avez construit à l’étape 1. Le manuel précise clairement que Cert doit précéder toutes les autres directives spécifiques SSL à l’intérieur du listener, veillez donc à le placer en haut du bloc.
  • Disable désactive le protocole nommé ainsi que tous les protocoles antérieurs à celui-ci. Disable TLSv1_1 désactive donc SSLv2, SSLv3, TLSv1.0 et TLSv1.1, en laissant TLSv1.2 et TLSv1.3 actifs, ce qui correspond aux recommandations actuelles du secteur.
  • Ciphers définit la liste de suites de chiffrement OpenSSL (utilisée pour TLS 1.2 ; TLS 1.3 négocie ses propres suites de chiffrement). La liste ci-dessus restreint le proxy aux suites ECDHE modernes avec AEAD ; si vous devez prendre en charge des clients plus anciens, utilisez plutôt le profil « intermediate » de Mozilla disponible sur ssl-config.mozilla.org.
  • Service / Backend indique où Pound relaie le trafic déchiffré. L’exemple redirige vers un seul backend sur l’interface de bouclage (port 8080) ; remplacez l’adresse et le port par ceux sur lesquels votre application écoute, et ajoutez d’autres blocs Backend si vous souhaitez que Pound répartisse la charge.

Si vous souhaitez également que Pound accepte le HTTP simple et le relaie (généralement uniquement pour rediriger vers HTTPS, voir l’étape 4), ajoutez un bloc ListenHTTP séparé dans le même fichier.

Étape 3 : Vérifier la configuration et redémarrer Pound

Avant de recharger le service, validez le fichier de configuration afin qu’une simple faute de frappe ne mette pas le proxy hors ligne. Pound dispose d’un mode de vérification intégré :

sudo pound -c -f /etc/pound/pound.cfg

Il se termine avec le statut 0 et n’affiche rien en cas de succès, ou avec le statut 1 accompagné d’un message d’erreur indiquant le fichier et la ligne en cas d’échec. Ajoutez -v si vous souhaitez une confirmation explicite « configuration OK ». Une fois la vérification réussie, redémarrez Pound afin qu’il prenne en compte le nouveau listener :

sudo systemctl restart pound

Sur les systèmes sans systemd, utilisez plutôt l’ancien script init :

sudo /etc/init.d/pound restart

Vérifiez que le service fonctionne et écoute bien sur le port 443 :

sudo systemctl status pound
sudo ss -tlnp | grep ':443'

Étape 4 (recommandée) : Rediriger le HTTP vers le HTTPS

Pour vous assurer que les visiteurs saisissant le domaine brut arrivent sur l’URL sécurisée, ajoutez un listener HTTP simple qui répond à chaque requête par une redirection permanente vers la version HTTPS du même chemin :

ListenHTTP
    Address 0.0.0.0
    Port 80
    Service
        Redirect 301 "https://example.com$1"
    End
End

Remplacez example.com par votre propre domaine. La référence arrière $1 préserve le chemin d’origine de la requête. Exécutez à nouveau sudo pound -c -f /etc/pound/pound.cfg, puis redémarrez le service.

Tester l’installation SSL

Ouvrez votre site en https:// dans un navigateur et vérifiez que le cadenas est fermé et que le certificat correspond à votre domaine. Effectuez ensuite une analyse plus approfondie avec notre SSL Checker pour obtenir un rapport instantané sur le certificat, la chaîne, ainsi que les protocoles et suites de chiffrement proposés par Pound. Un résultat propre signifie que les clients sur toutes les plateformes principales, y compris les clients mobiles et API, feront confiance au certificat.

Questions fréquemment posées

Quelle version de Pound dois-je installer ?

Le projet Apsis d’origine a été abandonné en 2022. Le fork activement maintenu est graygnuorg/pound par Sergey Poznyakoff, actuellement dans la série 4.x, et c’est ce que les principales distributions Linux intègrent sous le nom pound. Si vous utilisez encore une version de l’ancienne série 2.x, prévoyez de passer à une version actuelle : les directives de configuration de ce guide supposent l’utilisation du fork moderne.

Dans quel ordre placer le certificat, la chaîne et la clé dans le fichier PEM ?

Selon le manuel de Pound : le certificat serveur en premier, puis les certificats intermédiaires (s’il y en a), puis la clé privée, tous encodés en PEM, dans ce fichier unique. La clé privée ne doit pas être protégée par une phrase secrète, car Pound démarre comme un daemon et n’a aucun moyen d’en demander une.

Comment désactiver les anciennes versions de TLS dans Pound ?

Utilisez la directive Disable à l’intérieur du bloc ListenHTTPS. La directive Disable de Pound désactive le protocole nommé ainsi que tous les protocoles antérieurs à celui-ci, donc Disable TLSv1_1 désactive SSLv2, SSLv3, TLSv1.0 et TLSv1.1, en ne laissant que TLSv1.2 et TLSv1.3. C’est le réglage recommandé pour les nouveaux déploiements.

Puis-je héberger plusieurs sites HTTPS sur la même instance de Pound ?

Oui. Pound prend en charge le SNI, vous pouvez donc déclarer plusieurs instructions Cert à l’intérieur du même listener ListenHTTPS (ou faire pointer Cert vers un répertoire de fichiers PEM). Pound parcourt les certificats dans l’ordre et sert le premier dont le nom commun ou le SAN correspond au nom d’hôte demandé ; listez donc les certificats les plus spécifiques (noms d’hôte) avant les certificats génériques (wildcards).

Comment tester la configuration de Pound sans redémarrer ?

Exécutez sudo pound -c -f /etc/pound/pound.cfg. L’option -c vérifie le fichier de configuration à la recherche d’erreurs de syntaxe et se termine sans démarrer le proxy ; un statut de sortie 0 signifie que tout est correct, un statut 1 indique une erreur (le message précise le fichier et la ligne concernés). Ajoutez -v pour obtenir un message de succès explicite.

À quelle fréquence dois-je renouveler le certificat ?

Depuis le 15 mars 2026, les certificats SSL/TLS de confiance publique sont limités à 200 jours, et le CA/Browser Forum a prévu de nouvelles réductions (à 100 jours en 2027 et 47 jours en 2029). Prévoyez de répéter l’installation ci-dessus bien avant chaque expiration, ou automatisez les renouvellements avec ACME.

Economisez 10% sur les certificats SSL en commandant aujourd’hui!

Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10

Image détaillée d'un dragon en vol
Rédigé par

Rédacteur de contenu expérimenté spécialisé dans les certificats SSL. Transformer des sujets complexes liés à la cybersécurité en un contenu clair et attrayant. Contribuer à l'amélioration de la sécurité numérique par des récits percutants.