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
- Azure: máquina virtual, SQL, App Service, Key Vault, Application Gateway e Front Door.
- AWS: ACM, CloudFront, balanceador de carga e RDS.
- Google Cloud: máquina virtual, balanceador de carga HTTPS, Cloud SQL e Cloud Run.
- Bases de dados: PostgreSQL, MySQL, MongoDB e Redis.
- Outros: Cloudflare, anfitriões SSH e uma API personalizada.
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.
- Crie uma chave longa e aleatória, por exemplo com
openssl rand -hex 32. Deve ter pelo menos 32 caracteres. - Transfira e execute o instalador no anfitrião, como root, com a chave e os caminhos do seu serviço.
- 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.shImprima 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.
- Crie uma chave com pelo menos 32 caracteres, por exemplo com o comando PowerShell do bloco abaixo.
- Transfira o instalador e execute-o como administrador, com a chave e os caminhos do seu serviço.
- Permita a porta TCP de entrada 8443 a partir do Automate Certificates na Firewall do Windows. O instalador não a abre.
- 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.ps1Guarde 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ção | O que faz |
|---|---|
CERTAI_AGENT_KEY | Obrigatório. Pelo menos 32 caracteres. O alvo precisa da mesma chave. |
CERTAI_CERT_PATH, CERTAI_KEY_PATH | Onde cada certificado implementado e cada chave são escritos, em PEM. A pasta predefinida é C:\ProgramData\AutomateCertificates\certs. |
CERTAI_CERT_STORE | Um arquivo de certificados LocalMachine, como My, no qual cada certificado também é importado. |
CERTAI_RELOAD_COMMAND | PowerShell 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_PORT | A porta em que o agente escuta. A predefinição é 8443. |
CERTAI_TLS_CERT, CERTAI_TLS_KEY | O 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 MongoDBSe 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 AllowDiscovery
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.