Documentation Automate Certificates

Cibles, agents, webhooks

Une cible est un endroit où un certificat est installé. Automate Certificates peut aussi rechercher les certificats que vous ne gérez pas encore et envoyer des événements à vos propres outils.

Types de cibles

Les forfaits Business et MSP couvrent les 21 types de cibles. Team couvre 5 cibles.

Cibles API personnalisées

Le point de terminaison doit être une URL https://. Un point de terminaison http:// simple est refusé, car la requête transporte la clé privée.

Agent Linux

L'agent est un petit service Python 3 pour un hôte Linux. Automate Certificates lui envoie le certificat en https et avec la seule clé de l'agent. L'emplacement des fichiers et le mode de rechargement du service sont définis sur l'hôte à l'installation et ne sont jamais tirés d'une requête. L'installateur nécessite systemd.

  1. Créez une longue clé aléatoire, par exemple avec openssl rand -hex 32. Elle doit comporter au moins 32 caractères.
  2. Téléchargez et exécutez l'installateur sur l'hôte, en tant que root, avec la clé et les chemins de votre service.
  3. Créez une cible dans Automate Certificates avec l'URL de l'agent (https://<host>:8443) et la même clé.
curl -fsSL https://api.automate-certificates.com/v1/agent/install/linux -o install-agent.sh
sudo CERTAI_AGENT_KEY="$(openssl rand -hex 32)" \
     CERTAI_CERT_PATH=/etc/nginx/tls/site.crt \
     CERTAI_KEY_PATH=/etc/nginx/tls/site.key \
     CERTAI_RELOAD_COMMAND="systemctl reload nginx" \
     bash install-agent.sh

Affichez la clé une fois et conservez-la ; la cible a besoin de la même valeur. L'installateur écrit un fichier de configuration réservé à root dans /etc/automate-certificates/agent.json et démarre l'unité systemd automate-certificates-agent. L'agent répond uniquement en https et renvoie 401 à toute requête sans la bonne clé. Il sert en https avec le certificat situé à CERTAI_CERT_PATH (ou CERTAI_TLS_CERT et CERTAI_TLS_KEY), ce fichier doit donc exister avant l'installation. Le port par défaut est 8443 (CERTAI_PORT).

Agent Windows

L'agent Windows est un service PowerShell pour un hôte Windows. Automate Certificates lui envoie les certificats uniquement en https, avec la clé de l'agent. L'emplacement des fichiers et ce qui s'exécute ensuite sont définis sur l'hôte à l'installation et ne sont jamais tirés d'une requête. L'installateur nécessite PowerShell 7.4 ou version ultérieure (pwsh) et doit être exécuté en tant qu'administrateur.

  1. Créez une clé d'au moins 32 caractères, par exemple avec la commande PowerShell du bloc ci-dessous.
  2. Téléchargez l'installateur et exécutez-le en tant qu'administrateur, avec la clé et les chemins de votre service.
  3. Autorisez le port TCP entrant 8443 depuis Automate Certificates dans le Pare-feu Windows. L'installateur ne l'ouvre pas.
  4. Créez une cible dans Automate Certificates avec l'URL de l'agent (https://<host>:8443) et la même clé.
Invoke-WebRequest https://api.automate-certificates.com/v1/agent/install/windows -OutFile install-agent.ps1
$env:CERTAI_AGENT_KEY = [Convert]::ToHexString([Security.Cryptography.RandomNumberGenerator]::GetBytes(32))
$env:CERTAI_CERT_PATH = 'C:\certs\site.crt'; $env:CERTAI_KEY_PATH = 'C:\certs\site.key'
$env:CERTAI_CERT_STORE = 'My'; $env:CERTAI_RELOAD_COMMAND = '& C:\scripts\bind-certificate.ps1'
pwsh -NoProfile -ExecutionPolicy Bypass -File install-agent.ps1

Conservez la clé ; la cible a besoin de la même valeur. L'installateur enregistre l'agent comme tâche planifiée nommée AutomateCertificatesAgent, exécutée en tant que SYSTEM, et conserve sa configuration sous C:\ProgramData\AutomateCertificates. L'agent répond uniquement en https et renvoie 401 à toute requête sans la bonne clé. Les paramètres de l'installateur sont les suivants :

ParamètreRôle
CERTAI_AGENT_KEYObligatoire. Au moins 32 caractères. La cible a besoin de la même clé.
CERTAI_CERT_PATH, CERTAI_KEY_PATHEmplacement où chaque certificat déployé et chaque clé sont écrits, au format PEM. Le dossier par défaut est C:\ProgramData\AutomateCertificates\certs.
CERTAI_CERT_STOREUn magasin de certificats LocalMachine, tel que My, dans lequel chaque certificat est aussi importé.
CERTAI_RELOAD_COMMANDCommande PowerShell exécutée après chaque déploiement, avec CERTAI_CERT_PATH, CERTAI_KEY_PATH et CERTAI_THUMBPRINT définis, par exemple pour lier le nouveau certificat dans IIS. Un code de sortie non nul fait échouer le déploiement.
CERTAI_PORTLe port sur lequel l'agent écoute. La valeur par défaut est 8443.
CERTAI_TLS_CERT, CERTAI_TLS_KEYLe certificat https propre à l'agent. Par défaut, il utilise le certificat et la clé qu'il gère, qui doivent déjà exister au format PEM et être valides pour le nom d'hôte de la machine. Un fichier de certificat qui contient aussi sa clé n'a pas besoin de fichier de clé.

Les fichiers de clé ne sont toujours lisibles que par SYSTEM et les administrateurs, à chaque déploiement. Un service qui doit lire sa clé obtient l'accès dans la commande de rechargement, par exemple :

icacls "C:\certs\mongo.pem" /grant "NT SERVICE\MongoDB:R"; Restart-Service MongoDB

Si le certificat géré expire, Automate Certificates ne peut plus joindre l'agent. Pour l'éviter, faites pointer CERTAI_TLS_CERT et CERTAI_TLS_KEY vers un certificat distinct de longue durée. Pour ouvrir le port, l'installateur affiche cette règle à exécuter :

New-NetFirewallRule -DisplayName 'Automate Certificates agent' -Direction Inbound -Protocol TCP -LocalPort 8443 -Action Allow

Découverte

Les analyses trouvent les certificats absents de votre inventaire : analyses de tenant Azure, analyses AWS et GCP, et analyses réseau de domaines publics. Les analyses comptent dans la limite quotidienne de votre forfait, et en lancer une exige un administrateur.

Webhooks

Ajoutez un webhook sur la page Alertes pour envoyer des événements à vos outils. Les événements comprennent cert.issued, cert.expiring, cert.issue_failed, cert.renew_failed, cert.renewal_dns_required, deployment.success et deployment.failed. Chaque requête est signée : l'en-tête X-Automate-Certificates-Signature contient sha256= et un HMAC du corps calculé avec le secret affiché une seule fois à la création du webhook.

MCP

Les outils MCP ne peuvent pas encore être installés depuis le produit ; ils ne font donc pas partie du produit aujourd'hui.