Documentação do Automate Certificates

Alvos, agentes e webhooks

Um alvo é um local onde um certificado é instalado. O Automate Certificates também pode procurar certificados que ainda não gere e enviar eventos para as suas ferramentas.

Tipos de alvo

Os planos Business e MSP abrangem os 21 tipos de alvo. O plano Team abrange 5 alvos.

Alvos de API personalizada

O ponto de acesso tem de ser um URL https://. Um ponto de acesso http:// simples é recusado, porque o pedido transporta a chave privada.

Agente Linux

O agente é um pequeno serviço Python 3 para um anfitrião Linux. O Automate Certificates envia-lhe o certificado por https e apenas com a chave do agente. O destino dos ficheiros e a forma como o serviço recarrega são definidos no anfitrião durante a instalação e nunca são retirados de um pedido. O instalador requer systemd.

  1. Crie uma chave longa e aleatória, por exemplo com openssl rand -hex 32. Deve ter pelo menos 32 caracteres.
  2. Transfira e execute o instalador no anfitrião, como root, com a chave e os caminhos do seu serviço.
  3. Crie um alvo no Automate Certificates com o URL do agente (https://<host>:8443) e a mesma chave.
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 a chave uma vez e guarde-a; o alvo precisa do mesmo valor. O instalador escreve um ficheiro de configuração acessível apenas ao root em /etc/automate-certificates/agent.json e inicia a unidade systemd automate-certificates-agent. O agente responde apenas por https e devolve 401 a qualquer pedido sem a chave correta. Serve https com o certificado em CERTAI_CERT_PATH (ou CERTAI_TLS_CERT e CERTAI_TLS_KEY), pelo que esse ficheiro tem de existir antes da instalação. A porta predefinida é 8443 (CERTAI_PORT).

Agente Windows

O agente Windows é um serviço PowerShell para um anfitrião Windows. O Automate Certificates envia-lhe certificados apenas por https, com a chave do agente. O destino dos ficheiros e o que é executado depois são definidos no anfitrião durante a instalação e nunca são retirados de um pedido. O instalador requer PowerShell 7.4 ou posterior (pwsh) e tem de ser executado como administrador.

  1. Crie uma chave com pelo menos 32 caracteres, por exemplo com o comando PowerShell do bloco abaixo.
  2. Transfira o instalador e execute-o como administrador, com a chave e os caminhos do seu serviço.
  3. Permita a porta TCP de entrada 8443 a partir do Automate Certificates na Firewall do Windows. O instalador não a abre.
  4. Crie um alvo no Automate Certificates com o URL do agente (https://<host>:8443) e a mesma chave.
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 a chave; o alvo precisa do mesmo valor. O instalador regista o agente como uma tarefa agendada com o nome AutomateCertificatesAgent, executada como SYSTEM, e mantém a configuração em C:\ProgramData\AutomateCertificates. O agente responde apenas por https e devolve 401 a qualquer pedido sem a chave correta. As definições do instalador são:

DefiniçãoO que faz
CERTAI_AGENT_KEYObrigatório. Pelo menos 32 caracteres. O alvo precisa da mesma chave.
CERTAI_CERT_PATH, CERTAI_KEY_PATHOnde cada certificado implementado e cada chave são escritos, em PEM. A pasta predefinida é C:\ProgramData\AutomateCertificates\certs.
CERTAI_CERT_STOREUm arquivo de certificados LocalMachine, como My, no qual cada certificado também é importado.
CERTAI_RELOAD_COMMANDPowerShell executado após cada implementação, com CERTAI_CERT_PATH, CERTAI_KEY_PATH e CERTAI_THUMBPRINT definidos, por exemplo para associar o novo certificado no IIS. Um código de saída diferente de zero faz a implementação falhar.
CERTAI_PORTA porta em que o agente escuta. A predefinição é 8443.
CERTAI_TLS_CERT, CERTAI_TLS_KEYO certificado https do próprio agente. Por predefinição, usa o certificado e a chave que gere, que já têm de existir em PEM e ser válidos para o nome de anfitrião da máquina. Um ficheiro de certificado que também contém a sua chave não precisa de ficheiro de chave.

Os ficheiros de chave são sempre legíveis apenas por SYSTEM e administradores, em cada implementação. Um serviço que precise de ler a sua chave obtém acesso no comando de recarga, por exemplo:

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

Se o certificado gerido expirar, o Automate Certificates deixa de conseguir contactar o agente. Para evitar isso, aponte CERTAI_TLS_CERT e CERTAI_TLS_KEY para um certificado separado de longa duração. Para abrir a porta, o instalador apresenta esta regra para executar:

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

Discovery

As análises encontram certificados em falta no seu inventário: análises de tenant Azure, análises AWS e GCP, e análises de rede de domínios públicos. As análises contam para o limite diário de análises do seu plano, e iniciar uma exige um administrador.

Webhooks

Adicione um webhook na página Alerts para enviar eventos às suas ferramentas. Os eventos incluem cert.issued, cert.expiring, cert.issue_failed, cert.renew_failed, cert.renewal_dns_required, deployment.success e deployment.failed. Cada pedido é assinado: o cabeçalho X-Automate-Certificates-Signature contém sha256= e um HMAC do corpo, gerado com o segredo mostrado uma única vez quando cria o webhook.

MCP

As ferramentas MCP ainda não podem ser instaladas a partir do produto, pelo que não fazem parte do produto atualmente.