• # Je n'aime pas certbot

    Posté par (site web personnel) . En réponse au message Renouvellement certificat ssl. Évalué à 2. Dernière modification le 09 mars 2020 à 15:39.

    Je préfère de loin dehydrated, que je trouve plus simple et plus facile à configurer. Du coup, je t'envoie ma doc avec dehydrated et les différentes étapes... Il y a quand même des choses que tu pourras y récupérer :)

    Génération des certificats

    Mise à jour DNS

    Pour chaque domaine, il est nécessaire que le serveur Apache soit à l'écoute. Il faut donc configurer le DNS pour que le domaine pointe vers le serveur.

    Une fois le DNS configuré, on peut aller à l'adresse à partir du navigateur. Si nous avons une page web et non pas un message d'erreur, c'est bon, on peut continuer !

    Ajout de la demande de certificat

    Les domaines que l'on souhaite protéger doivent être ajoutés dans le fichier domains.txt dans le répertoire /etc/dehydrated/. Par exemple :

     domain.example.tld another.example.tld
     domain2.example.tld
     domain3.example.tld
    

    Utilisation du certificat

    Les certificats générés pour chaque site sont stockés dans le répertoire /var/lib/dehydrated/certs/. Par exemple, pour le domaine domain.test, les fichiers intéressants sont

    • /var/lib/dehydrated/certs/domain.tld/fullchain.pem
    • /var/lib/dehydrated/certs/domain.tld/privkey.pem

    Apache

    Une macro peut être déclarée dans la configuration apache pour utiliser le certificat :

     <Macro dehydrated_ssl $domain>
     SSLengine ON
     SSLProtocol all -SSLv2
     SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:AES128:AES256:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK
     SSLHonorCipherOrder on
     SSLCompression off
     Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
     SSLCertificateFile /var/lib/dehydrated/certs/$domain/fullchain.pem
     SSLCertificateKeyFile /var/lib/dehydrated/certs/$domain/privkey.pem
     </Macro>

    Il est nécessaire que le certificat existe pour que Apache accepte de se lancer. Si l'on ne fait pas les choses dans l'ordre, on risque de référencer un certificat qui n'a pas encore été créé, Apache refusera donc de se lancer, et dans ce cas, il n'est pas possible de générer le certificat que l'on souhaite obtenir...

    Autres applications

    Ces certificats peuvent être utilisés avec d'autres applications que le serveur web, mais il est nécessaire d'avoir un serveur web pour pouvoir générer les fichiers.

    Renouvellement des certificats

    Le renouvellement est lancé par la commande suivante :

    # dehydrated -c

    La durée à partir de laquelle le certificat doit être renouvellée est configurée dans le fichier /etc/dehydrated/config. Par exemple pour renouveler les certificats tous les mois, il suffit de rajouter une petite marge pour être sûr :

     # On modifie la durée pour être sûr de pouvoir renouveler le
     # certificat tous les mois
     RENEW_DAYS=32

    Le script de renouvellement est placé dans le fichier des tâches planifiées mensuellement /etc/cron.monthly/dehydrated :

     #!/bin/sh
     /usr/bin/dehydrated -c
     service apache2 reload