Automate Certificates-documentatie

Targets, agents en webhooks

Een target is een plek waar een certificaat wordt geïnstalleerd. Automate Certificates kan ook scannen op certificaten die u nog niet beheert en events naar uw eigen tools sturen.

Targettypen

De abonnementen Business en MSP dekken alle 21 targettypen. Team dekt 5 targets.

Targets met een eigen API

Het eindpunt moet een https://-URL zijn. Een gewoon http://-eindpunt wordt geweigerd, omdat het verzoek de privésleutel bevat.

Linux-agent

De agent is een kleine Python 3-service voor een Linux-host. Automate Certificates stuurt het certificaat er uitsluitend over https en met de agentsleutel naartoe. Waar de bestanden komen en hoe de service herlaadt, wordt bij de installatie op de host ingesteld en nooit uit een verzoek overgenomen. Het installatieprogramma vereist systemd.

  1. Maak een lange willekeurige sleutel, bijvoorbeeld met openssl rand -hex 32. Deze moet minstens 32 tekens lang zijn.
  2. Download en start het installatieprogramma op de host, als root, met de sleutel en de paden voor uw service.
  3. Maak in Automate Certificates een target aan met de agent-URL (https://<host>:8443) en dezelfde sleutel.
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

Toon de sleutel eenmaal en bewaar hem; het target heeft dezelfde waarde nodig. Het installatieprogramma schrijft een configuratiebestand dat alleen voor root leesbaar is naar /etc/automate-certificates/agent.json en start de systemd-unit automate-certificates-agent. De agent antwoordt alleen via https en geeft 401 terug op elk verzoek zonder de juiste sleutel. Hij serveert https met het certificaat op CERTAI_CERT_PATH (of CERTAI_TLS_CERT en CERTAI_TLS_KEY), dus dat bestand moet bestaan vóór de installatie. De standaardpoort is 8443 (CERTAI_PORT).

Windows-agent

De Windows-agent is een PowerShell-service voor een Windows-host. Automate Certificates stuurt certificaten er uitsluitend over https en met de agentsleutel naartoe. Waar de bestanden komen en wat daarna wordt uitgevoerd, wordt bij de installatie op de host ingesteld en nooit uit een verzoek overgenomen. Het installatieprogramma vereist PowerShell 7.4 of nieuwer (pwsh) en moet als beheerder worden uitgevoerd.

  1. Maak een sleutel van minstens 32 tekens, bijvoorbeeld met het PowerShell-commando in het onderstaande blok.
  2. Download het installatieprogramma en start het als beheerder, met de sleutel en de paden voor uw service.
  3. Sta in Windows Firewall inkomend TCP-poort 8443 toe vanaf Automate Certificates. Het installatieprogramma opent deze niet.
  4. Maak in Automate Certificates een target aan met de agent-URL (https://<host>:8443) en dezelfde sleutel.
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

Bewaar de sleutel; het target heeft dezelfde waarde nodig. Het installatieprogramma registreert de agent als geplande taak met de naam AutomateCertificatesAgent die als SYSTEM draait, en bewaart de configuratie onder C:\ProgramData\AutomateCertificates. De agent antwoordt alleen via https en geeft 401 terug op elk verzoek zonder de juiste sleutel. De instellingen van het installatieprogramma zijn:

InstellingWat het doet
CERTAI_AGENT_KEYVereist. Minstens 32 tekens. Het target heeft dezelfde sleutel nodig.
CERTAI_CERT_PATH, CERTAI_KEY_PATHWaar elk geïmplementeerd certificaat en elke sleutel als PEM wordt weggeschreven. De standaardmap is C:\ProgramData\AutomateCertificates\certs.
CERTAI_CERT_STOREEen LocalMachine-certificaatopslag, zoals My, waarin elk certificaat ook wordt geïmporteerd.
CERTAI_RELOAD_COMMANDPowerShell dat na elke implementatie wordt uitgevoerd, met CERTAI_CERT_PATH, CERTAI_KEY_PATH en CERTAI_THUMBPRINT ingesteld, bijvoorbeeld om het nieuwe certificaat in IIS te koppelen. Een afsluitcode ongelijk aan nul laat de implementatie mislukken.
CERTAI_PORTDe poort waarop de agent luistert. De standaard is 8443.
CERTAI_TLS_CERT, CERTAI_TLS_KEYHet eigen https-certificaat van de agent. Standaard gebruikt hij het certificaat en de sleutel die hij beheert; die moeten al als PEM bestaan en geldig zijn voor de hostnaam van de machine. Een certificaatbestand dat ook zijn sleutel bevat, heeft geen sleutelbestand nodig.

Sleutelbestanden zijn bij elke implementatie altijd alleen leesbaar voor SYSTEM en beheerders. Een service die zijn sleutel moet lezen, krijgt toegang in het herlaadcommando, bijvoorbeeld:

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

Als het beheerde certificaat verloopt, kan Automate Certificates de agent niet meer bereiken. Om dat te voorkomen, laat u CERTAI_TLS_CERT en CERTAI_TLS_KEY verwijzen naar een apart, langlopend certificaat. Om de poort te openen, toont het installatieprogramma deze regel om uit te voeren:

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

Discovery

Scans vinden certificaten die in uw inventaris ontbreken: Azure-tenantscans, AWS- en GCP-scans en netwerkscans van openbare domeinen. Scans tellen mee voor de dagelijkse scanlimiet van uw abonnement en het starten ervan vereist een beheerder.

Webhooks

Voeg op de pagina Meldingen een webhook toe om events naar uw eigen tools te sturen. Events zijn onder meer cert.issued, cert.expiring, cert.issue_failed, cert.renew_failed, cert.renewal_dns_required, deployment.success en deployment.failed. Elk verzoek is ondertekend: de header X-Automate-Certificates-Signature bevat sha256= en een HMAC van de body, gemaakt met het geheim dat eenmalig wordt getoond wanneer u de webhook aanmaakt.

MCP

MCP-tools kunnen nog niet vanuit het product worden geïnstalleerd, dus ze maken vandaag geen deel uit van het product.