ACMEMGR.SH : un orchestrateur de certificats TLS

Partager sur print
Partager sur email
Partager sur facebook
Partager sur twitter
Partager sur linkedin

Certificat https

ACMEMGR.SH est un ges­tion­naire ACME.SH pour un nombre illi­mi­té de cer­ti­fi­cats, de ser­vices TLS (https par exemple), d’hôtes et de comptes DNS-01 de four­nis­seurs de noms de domaine.

ACMEMGR.SH est conçu pour tra­vailler au des­sus de ACME.SH, le client ACME le plus abou­ti pour l’au­to­ri­té de cer­ti­fi­ca­tion auto­ma­ti­sée et ouverte Let’s Encrypt qui est pro­po­sée par le groupe à but non lucra­tif Inter­net Secu­ri­ty Research Group (ISRG).

ACMEMGR.SH gère :

  • Les cer­ti­fi­cats de N domaines
  • Sur N ser­vices https (web ou email ou autres, les scripts enfants sont confi­gu­rables)
  • Sur N hôtes (dédiés ou vir­tuels)
  • Avec N comptes DNS-01 (pro­ve­nant même de dif­fé­rents ser­vices d’hé­ber­ge­ment)
 

Grâce à ACMEMGR.SH, la ges­tion de cen­taines de cer­ti­fi­cats, ser­veurs et autres comptes de regis­trars DNS-01, dans un envi­ron­ne­ment mul­ti-comptes, est sim­ple­ment gérée par une seule liste, dans un seul fichier.

La créa­tion, la sup­pres­sion et le renou­vel­le­ment des cer­ti­fi­cats, mais aus­si leur pro­pa­ga­tion et sup­pres­sion sur des ser­veurs dis­tants, ain­si que l’en­voi d’e-mails et de logs de ser­vice sont gérés de manière trans­pa­rente.

Caractéristiques

  • Ges­tion des cer­ti­fi­cats géné­riques (comme * .domain.tld)
  • Lors de la créa­tion d’un cer­ti­fi­cat com­men­çant par « www. » (comme « www.domain.tld »), ajoute auto­ma­ti­que­ment le nom de domaine « domain.tld » dans le cer­ti­fi­cat
  • La demande de renou­vel­le­ment de cer­ti­fi­cat n’est effec­tuée que lorsque le cer­ti­fi­cat actuel n’est plus valable qu’un mois
  • Les opé­ra­tions de cer­ti­fi­cats (copie et sup­pres­sion) vers des hôtes dis­tants sont entiè­re­ment per­son­na­li­sables
  • Le ser­vice lié au cer­ti­fi­cat (Web ou email ou autre) est rechar­gé uni­que­ment lorsque le cer­ti­fi­cat est créé, renou­ve­lé ou sup­pri­mé avec suc­cès (pas de rechar­ge­ment sans néces­si­té)
  • Le ser­vice n’est redé­mar­ré qu’une seule fois, même s’il y a plus d’un cer­ti­fi­cat mis à jour lié au ser­vice (un rechar­ge­ment uni­que­ment pour N cer­ti­fi­cats dépen­dant du même ser­vice sur le même hôte)
  • Le rechar­ge­ment ou le redé­mar­rage du ser­vice après la mise à jour du cer­ti­fi­cat est entiè­re­ment per­son­na­li­sable
  • Pro­gram­ma­tion défen­sive avec une jour­na­li­sa­tion cohé­rente et des mes­sages par emails
  • Véri­fi­ca­tions appro­fon­dies avant d’ef­fa­cer à dis­tance les cer­ti­fi­cats décla­rés sup­pri­més. Aucune uti­li­sa­tion de sup­pres­sion récur­sive pour la sécu­ri­té.

Architecture

Le sché­ma en haut de l’ar­ticle est une vue d’en­semble du fonc­tion­ne­ment. Toute la ges­tion se fait dans un SERVEUR DE DISTRIBUTION DE CERTIFICATS cen­tra­li­sé :

  • Un seul hôte pour gérer un pool de regis­trars, d’hôtes et de noms de domaine
  • Archi­tec­ture simple, modu­laire et com­pré­hen­sible
  • Un seul fichier à gérer : la base de don­nées des noms de domaine
 

Le sché­ma ci-des­sous est une vue modu­laire du fonc­tion­ne­ment. Le SERVEUR DE DISTRIBUTION DE CERTIFICATS embarque uni­que­ment :

  • Deux scripts : acme.sh et acmemgr.sh
  • Un fichier de base de don­nées, acmemgr.db, dans un for­mat de texte déli­mi­té
  • Un réper­toire conte­nant tous les cer­ti­fi­cats
  • Autant de sous-réper­toires que de comptes de regis­trars DNS-01
  • Autant de scripts per­son­na­li­sables que néces­saire pour rechar­ger les ser­vices et copier les cer­ti­fi­cats

Conclusion

ACMEMGR.SH donne toute satis­fac­tion depuis plu­sieurs années. Des contri­bu­tions, puisque c’est un logi­ciel libre, ont per­mis de notables amé­lio­ra­tions.

Le source et le manuel com­plet sont dis­po­nibles sur Github.

D’autres contri­bu­tions de Sowe­bio au logi­ciel libre vien­dront com­plé­ter notre dépôt public.