Aller au contenu principal

Certificat SSL

Présentation

Documentation pour la mise en place de certificat SSL pour votre serveur disposant de Haproxy, si vous n'avez pas de reverse proxy il faut passer par la doc https://doc.kokiris.com/Apache#lets-encrypt

Haproxy est en charge de

  • la terminaison SSL ;
  • du HTTP/2 ;
  • de la sécurité des connexions ;
  • du routage évolué.
RôleRépartiteur de charge
Gestion des certificats Let’s Encrypt ou custom sur architecture MultiUne sonde vérifie que le service répond ainsi que les backends
Privilège super-utilisateurreload/restart via synchroGS

Certificat payant

Les certificats SSL doivent être déposés dans le dossier /home/admin{custcode}/ssl/hap/ sous la forme d’un fichier conteneur certificat.pem. Attention le fichier {certificat}.pem doit être la concaténation du certificat de votre domaine, du certificat intermédiaire et de la clef privée.

Gratuit avec Let’s encrypt

Avant execution du script ci-dessous, il est impératif de vérifier que le domaine pointe bien sur l’adresse ip serveur ou bien celle du loadbalancer.

Règles

Limitation

Rechercher

Création avec haple.sh

!!! Attention !!! par robustesse, choisissez de multiplier les certificats plutôt que d’ajouter pleins de domaines à un seul et unique certificat, car en cas d’anomalie de renouvellement sur un des domaines, le certificat entier ne serait pas renouvelé.

Exemple de création d’un certificat avec le script /usr/local/bin/haple.sh par l’utilisateur admin :

sudo /usr/local/bin/haple.sh create email@mondomaine.com www.mondomaine.org

Déploiement de certificats classiques avec haple.sh

Dans l'exemple ci-dessous, la commande utilise les 3 fichiers nécessaires pour le déploiement d'un certificat classique.

Les permissions sur les fichiers doivent être restreintes, par exemple chmod 600 *.key *.crt.

sudo /usr/local/bin/haple.sh loadcertificate mondomaine.org /home/ab123/ssl/mondomaine.org.key /home/ab123/ssl/mondomaine.org.crt /home/ab123/ssl/mondomaine.org-intermmediate.crt

Tester sans limites la création de certificat avec haple.sh

Il existe un nombre maximum d'essaie en cas d'erreur pour la génération de certificat avec Let's Encrypt, le nombre d'essaie se limite à 5 avant d'être banni 1h une première fois ainsi que d'autres limitations

Pour tester la validité de son domaine sans avoir à risquer de se faire bannir, il est possible d'utiliser l'argument test suivi du nom de domaine :

sudo /usr/local/bin/haple.sh test mondomaine.com

Renouvellement avec haple.sh

Vous n’aurez jamais besoin de lancer le renouvellement mais voici la commande

sudo /usr/local/bin/haple.sh renew

Planifier le renouvellement avec cron avec haple.sh

Vous devez ajouter cette commande dans votre crontab pour que le renouvellement se fasse automatiquement.

Exemple

0 2 * * 1,5 sudo /usr/local/bin/haple.sh renew > /dev/null

Dans l’exemple ci-dessus, à deux heures du matin, chaque semaine, les lundi et vendredi, une tâche de renouvellement sera lancée.

Suppression manuelle de certificat classique ou let's encrypt

sudo certbot --config-dir=ssl/ delete --cert-name toto.com

puis synchronisation avec le slave

sudo synchroGS -r haproxy