Documentación de Automate Certificates

Destinos, agentes y webhooks

Un destino es un lugar donde se instala un certificado. Automate Certificates también puede buscar certificados que aún no gestiona y enviar eventos a sus propias herramientas.

Tipos de destino

Los planes Business y MSP cubren los 21 tipos de destino. Team cubre 5 destinos.

Destinos de API personalizada

El endpoint debe ser una URL https://. Un endpoint http:// sin cifrar se rechaza, porque la solicitud lleva la clave privada.

Agente de Linux

El agente es un pequeño servicio de Python 3 para un host Linux. Automate Certificates le envía el certificado por https y solo con la clave del agente. Dónde se guardan los archivos y cómo se recarga el servicio se define en el host durante la instalación y nunca se toma de una solicitud. El instalador necesita systemd.

  1. Cree una clave larga y aleatoria, por ejemplo con openssl rand -hex 32. Debe tener al menos 32 caracteres.
  2. Descargue y ejecute el instalador en el host, como root, con la clave y las rutas de su servicio.
  3. Cree un destino en Automate Certificates con la URL del agente (https://<host>:8443) y la misma clave.
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

Imprima la clave una sola vez y guárdela; el destino necesita el mismo valor. El instalador escribe un archivo de configuración accesible solo para root en /etc/automate-certificates/agent.json e inicia la unidad systemd automate-certificates-agent. El agente responde solo por https y devuelve 401 a cualquier solicitud sin la clave correcta. Sirve https con el certificado en CERTAI_CERT_PATH (o CERTAI_TLS_CERT y CERTAI_TLS_KEY), por lo que ese archivo debe existir antes de la instalación. El puerto predeterminado es 8443 (CERTAI_PORT).

Agente de Windows

El agente de Windows es un servicio de PowerShell para un host Windows. Automate Certificates le envía los certificados solo por https y con la clave del agente. Dónde se guardan los archivos y qué se ejecuta después se define en el host durante la instalación y nunca se toma de una solicitud. El instalador necesita PowerShell 7.4 o posterior (pwsh) y debe ejecutarse como administrador.

  1. Cree una clave de al menos 32 caracteres, por ejemplo con el comando de PowerShell del bloque siguiente.
  2. Descargue el instalador y ejecútelo como administrador, con la clave y las rutas de su servicio.
  3. Permita el puerto TCP de entrada 8443 desde Automate Certificates en el Firewall de Windows. El instalador no lo abre.
  4. Cree un destino en Automate Certificates con la URL del agente (https://<host>:8443) y la misma clave.
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

Guarde la clave; el destino necesita el mismo valor. El instalador registra el agente como una tarea programada llamada AutomateCertificatesAgent que se ejecuta como SYSTEM y guarda su configuración en C:\ProgramData\AutomateCertificates. El agente responde solo por https y devuelve 401 a cualquier solicitud sin la clave correcta. Los ajustes del instalador son:

AjusteQué hace
CERTAI_AGENT_KEYObligatorio. Al menos 32 caracteres. El destino necesita la misma clave.
CERTAI_CERT_PATH, CERTAI_KEY_PATHDónde se escriben cada certificado desplegado y su clave, en formato PEM. La carpeta predeterminada es C:\ProgramData\AutomateCertificates\certs.
CERTAI_CERT_STOREUn almacén de certificados LocalMachine, como My, en el que también se importa cada certificado.
CERTAI_RELOAD_COMMANDComando de PowerShell que se ejecuta después de cada despliegue, con CERTAI_CERT_PATH, CERTAI_KEY_PATH y CERTAI_THUMBPRINT definidos, por ejemplo para enlazar el nuevo certificado en IIS. Un código de salida distinto de cero hace fallar el despliegue.
CERTAI_PORTEl puerto en el que escucha el agente. El valor predeterminado es 8443.
CERTAI_TLS_CERT, CERTAI_TLS_KEYEl certificado https propio del agente. De forma predeterminada usa el certificado y la clave que gestiona, que ya deben existir en formato PEM y ser válidos para el nombre de host de la máquina. Un archivo de certificado que también contiene su clave no necesita archivo de clave.

Los archivos de clave siempre son legibles solo por SYSTEM y los administradores, en cada despliegue. Un servicio que deba leer su clave obtiene acceso en el comando de recarga, por ejemplo:

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

Si el certificado gestionado caduca, Automate Certificates ya no puede alcanzar el agente. Para evitarlo, apunte CERTAI_TLS_CERT y CERTAI_TLS_KEY a un certificado independiente de larga duración. Para abrir el puerto, el instalador imprime esta regla para que la ejecute:

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

Discovery

Los escaneos encuentran certificados que faltan en su inventario: escaneos de tenant de Azure, escaneos de AWS y GCP, y escaneos de red de dominios públicos. Los escaneos cuentan para el límite diario de escaneos de su plan, y iniciar uno requiere un administrador.

Webhooks

Añada un webhook en la página Alerts para enviar eventos a sus propias herramientas. Los eventos incluyen cert.issued, cert.expiring, cert.issue_failed, cert.renew_failed, cert.renewal_dns_required, deployment.success y deployment.failed. Cada solicitud va firmada: el encabezado X-Automate-Certificates-Signature contiene sha256= y un HMAC del cuerpo calculado con el secreto que se muestra una sola vez al crear el webhook.

MCP

Las herramientas MCP todavía no se pueden instalar desde el producto, por lo que hoy no forman parte de él.