A certificate lifecycle manager can request, renew, revoke and often deploy certificates for every server, device and workload you run, which makes it one of the most powerful machine-identity systems in the estate and a target in its own right. Teams spend months automating renewals ahead of shorter TLS certificate lifetimes and then leave the platform that does the automating with shared admin accounts, CA connector credentials in plain configuration and no alerting on what it issues. This vendor-neutral guide covers how to secure the certificate lifecycle manager (CLM) itself: its admin roles, the service accounts and credentials it holds, the private keys it may generate or store, its logs and its own lifecycle from build to decommission. It is for PKI engineers, platform owners and security architects. How certificate lifecycle management works as a programme is in the Machine Identity, PKI and Certificate Lifecycle Guide.
Key takeaways
- Treat the CLM as a tier 0 system. Whoever controls it can obtain trusted certificates for your names, so protect it like a certificate authority or a domain controller, not like a reporting tool.
- Its integrations are its real attack surface. CA connector credentials, ACME account keys, discovery scanner accounts and deployment agent credentials are non-human identities that need owners, scope and rotation.
- Separate who defines policy from who issues. Template and policy administrators, certificate requesters and approvers should be different roles, with dual control for high-assurance certificates.
- Minimise private key handling. Prefer key generation on the target system or in an HSM, so the CLM never stores private keys it does not need.
- Log every issuance and reconcile it. Compare what the CLM requested with what the CAs issued and what appears in Certificate Transparency logs, and alert on anything unexpected.
Why the CLM is a high-value target
A CLM sits between your certificate authorities and your infrastructure. Depending on the deployment it holds credentials to request certificates from public and private CAs, credentials to log in to load balancers, web servers, cloud certificate stores and Kubernetes clusters to install them, and sometimes the private keys themselves. MITRE ATT&CK describes adversaries stealing private keys (T1552.004 Private Keys), stealing or forging authentication certificates (T1649) and obtaining digital certificates for their own operations (T1588.004 Digital Certificates). A compromised CLM can serve all three. NIST SP 1800-16 treats certificate management as a formal enterprise programme because certificate failures cause both outages and compromises; the CLM is the system that runs that programme.
| CLM asset | What an attacker gains | Primary control |
|---|---|---|
| Admin console and API | Change policies, add CAs, issue for any allowed name, disable alerts | Privileged access with MFA, separate roles, no shared accounts |
| Public CA account or ACME account key | Trusted public certificates for your domains | Scoped accounts, external account binding, CAA records, key rotation |
| Private CA connector credential | Internal certificates usable for client authentication and code or document signing | Restrict to named templates; mutual TLS or workload identity; rotation |
| Deployment credentials for targets | Admin access to load balancers, servers and clusters | Per-target least privilege, vaulted credentials, agent pull models |
| Stored private keys (if any) | Impersonation of the services using them | Do not store; if unavoidable, HSM or KMS wrapped with access logging |
| Inventory database | A full map of your services, hosts and expiry dates | Encryption at rest, restricted read access, backup protection |
Admin roles and privileged access
NIST SP 800-53 AC-5 and AC-6 call for separation of duties and least privilege; in a CLM they map to a small set of distinct roles. Use the platform's role model, or groups in your identity provider, to build roles like these:
| Role | Can do | Should not do |
|---|---|---|
| Platform administrator | System settings, integrations, role assignment, upgrades | Issue certificates or approve requests |
| Policy or template administrator | Define allowed CAs, key types and sizes, validity, name constraints per team | Approve their own policy changes in production |
| Requester or application owner | Request and renew within their policy and namespace | Change policy, request outside their namespace |
| Approver | Approve requests that need review (wildcards, extended key usages, high-assurance) | Approve their own requests |
| Auditor | Read inventory, policies and logs | Make any change |
| Break-glass | Restore access if the identity provider or role model fails | Be used day to day; it is sealed and alerted |
- Federate and enforce MFA: connect the console to your identity provider with SAML or OIDC, require phishing-resistant MFA for administrative roles, and disable local accounts except the break-glass account.
- Just-in-time admin: grant platform and policy administration through your PAM or elevation workflow with time limits. See the Privileged Access Management Guide.
- Dual control for sensitive certificates: require a second approver for wildcards, certificates for externally facing high-value domains, and any certificate with code signing or client authentication usage. Code signing usually belongs in a dedicated signing service; see the Code Signing Certificate Validity Changes guide.
- Namespace by team: restrict each team to the domains, subdomains and internal name patterns it owns, so one compromised requester cannot obtain certificates for another team's services.
Service accounts, connectors and agents
The CLM is itself a large non-human identity user. List every credential it holds and give each an owner, a scope and a rotation date. The Service Account Security Guide covers the general controls; the specifics for a CLM are below.
- Public CA accounts: use a separate CA account per environment or business unit rather than one organisation-wide account. Where you use ACME, RFC 8555 lets a CA require external account binding (Section 7.3.4) so a new ACME account must be tied to an existing customer account with a MAC key supplied out of band. Treat that MAC key as a secret, store it in a vault and do not reuse it.
- ACME account keys: RFC 8555 Section 7.3.5 defines account key rollover, signed by both old and new keys, and Section 7.3.6 defines account deactivation, which cannot be reversed. Plan both: rotate account keys on a schedule (NHI Mgmt Group suggests annually and on any staff or system change), and deactivate accounts you retire. Publish CAA records naming only the CAs, and where supported the account URIs, you actually use. See the ACME and Automated Certificate Management Guide.
- Private CA connectors: authenticate the CLM to the internal CA with a dedicated identity, ideally certificate-based mutual TLS or a platform workload identity, restricted to named certificate templates. Never give the connector CA administrator rights. See the Securing the internal PKI and certificate authority itself guide.
- Discovery scanners: network and cloud discovery accounts need read-only rights. Scanners that log in to hosts to read certificate stores should use a dedicated, non-interactive account with no other privileges.
- Deployment credentials: push-based deployment means the CLM holds admin credentials for many targets. Prefer agent or pull models where the target fetches its own certificate using its own identity, or keep push credentials in a secrets manager with per-target scope and rotation. See the Secrets Management Guide.
- API tokens for automation: pipelines and infrastructure-as-code tools that call the CLM API should use short-lived tokens or workload identity federation, scoped to one namespace, never an administrator's personal token.
More detail on each integration type is in the Certificate lifecycle manager integration security guide.
Private keys and the CLM's own keys
- Generate keys where they are used: the safest pattern is for the endpoint, agent or HSM to generate the key pair and send only a certificate signing request. Avoid server-side key generation unless a use case needs it, for example devices that cannot generate keys.
- If the CLM must hold keys: wrap them with a key held in an HSM or cloud KMS, log every export, require approval for export, and delete the escrowed copy once deployed unless a recovery requirement says otherwise. The OWASP Key Management Cheat Sheet advises never escrowing signing keys.
- Protect the CLM's own secrets: the database encryption key, the master key protecting stored credentials and the TLS certificate for the CLM console should be in an HSM or KMS, not in configuration files. See the HSM Deployment and Operations Guide.
- Enforce key policy centrally: set minimum key types and sizes, disallow key reuse across renewals, and keep validity within the CA/Browser Forum limits for public TLS, which Ballot SC-081v3 reduces in stages from 398 days to 47 days between March 2026 and March 2029. See the Certificate Expiry Outages and 47-Day TLS Certificates Guide.
Logging, detection and measurement
Send the CLM's audit log to your SIEM and keep it outside the CLM's own administrators' control. NIST SP 800-53 AU-2 and SI-4 cover what to log and monitor.
| Event | Why it matters | Alert when |
|---|---|---|
| New CA or connector added; connector credential changed | Could route issuance to an attacker-controlled or unapproved CA | Always; confirm against a change record |
| Policy or template change (validity, key size, allowed names, EKUs) | Widens what can be issued | Change made outside a change window or without approval |
| Issuance of wildcard, code signing or client authentication certificates | Highest abuse value | Requester or namespace outside the expected list |
| Private key export or download | Direct impersonation risk | Always for production |
| Role assignment changes and break-glass login | Privilege escalation inside the CLM | Always |
| Bulk revocation or bulk renewal | Can cause outages or hide malicious issuance | Volume above baseline |
Reconcile three sources: what the CLM says it requested, what each CA says it issued, and what public Certificate Transparency logs show for your domains. A certificate in CT that the CLM did not request is either shadow issuance or misuse. See the Certificate Transparency Monitoring Guide for Web Teams.
Metrics that show the CLM itself is secure:
- Number of standing administrative accounts (target: break-glass only).
- Percentage of CLM integration credentials with an owner and rotation within their agreed period.
- Percentage of public certificates issued that the CLM can match to a request (target: 100 per cent).
- Percentage of private keys generated on the target or in an HSM rather than by the CLM.
- Time from an unexpected issuance to alert, measured in a quarterly exercise.
The CLM's own lifecycle
- Build: deploy on hardened hosts or a dedicated cloud account or project, with admin interfaces reachable only from privileged access workstations or a management network. Record a configuration baseline (NIST SP 800-53 CM-2).
- Onboard integrations in order: read-only discovery first, then private CA issuance for a pilot team, then public CA issuance, then automated deployment. Test each in a non-production instance and keep the previous manual process available as rollback until renewals run cleanly for a full cycle.
- Patch and update: apply vendor security updates promptly and include agents and connectors, which are often missed. Test upgrades in non-production because a failed upgrade can stop renewals across the estate.
- Back up and recover: back up configuration, inventory and any wrapped keys, encrypted, with the wrapping key held separately. Test a restore at least yearly (NIST SP 800-53 CP-9), including re-establishing CA connector trust.
- Review: quarterly access review of roles and integration credentials; yearly review of policies and namespaces against the current organisation.
- Decommission or migrate: revoke or rotate every credential the CLM held, deactivate ACME accounts, remove CA connector identities, destroy stored keys and confirm agents are removed. The Certificate lifecycle manager migration playbook covers moving to a new platform.
Small versus large organisations: a small team may run a hosted CLM with a handful of integrations; the priorities are federated MFA login, scoped CA accounts and CT monitoring. A large estate with many teams needs namespaces, approval workflows, agent-based deployment and SIEM reconciliation from the start.
Common failure patterns
- One organisation-wide CA account: a single public CA or ACME account shared by every team means one leaked credential can issue for every domain.
- Connector with CA admin rights: the CLM is given full administrator rights on the internal CA "to make integration easier", so a CLM compromise becomes a CA compromise.
- Push credentials everywhere: the CLM holds domain or root-level credentials for hundreds of servers in its own store, turning it into a credential vault nobody reviews.
- Keys generated and kept centrally: server-side generation becomes the default, and the CLM database ends up holding thousands of private keys.
- Logs that only show success: the CLM logs renewals but not policy changes, role changes or key exports, and nothing reconciles issued certificates against requests.
- Forgotten agents: agents and connectors are left on old versions or remain after a platform migration, still holding credentials.
Framework mapping
| Control area | NIST SP 800-53 Rev. 5 | NIST CSF 2.0 | MITRE ATT&CK (threat addressed) |
|---|---|---|---|
| Certificate issuance and policy | SC-17 Public Key Infrastructure Certificates | PR.AA-05 | T1588.004, T1649 |
| Key protection | SC-12 | PR.DS-01 | T1552.004 |
| Roles and separation of duties | AC-5, AC-6 | PR.AA-05 | T1649 |
| Integration credentials | IA-5, IA-5(2) | PR.AA-05 | T1552.004 |
| Audit logging and monitoring | AU-2, AU-6, SI-4 | DE.CM-03 | T1649 |
| Baseline and backup | CM-2, CP-9 | PR.DS-01 | Recovery after any of the above |
Practitioner checklist
- Classify the CLM as tier 0 and restrict its admin interfaces to a management network or privileged access workstations.
- Federate admin login with phishing-resistant MFA; keep only a sealed, alerted break-glass local account.
- Separate platform, policy, requester, approver and auditor roles, and require dual control for wildcard, code signing and client authentication certificates.
- Inventory every CA account, ACME account key, connector, scanner and deployment credential the CLM holds, with an owner and rotation date.
- Use external account binding and CAA records for public CAs, and scope private CA connectors to named templates.
- Generate private keys on targets or in an HSM; wrap any key the CLM must store and alert on every export.
- Stream CLM audit events to the SIEM and reconcile CLM requests, CA issuance and Certificate Transparency logs.
- Patch the CLM, its agents and connectors promptly, and test upgrades outside production.
- Back up configuration and wrapped keys with the wrapping key held separately, and test a restore yearly.
- On decommission, rotate or revoke every credential the CLM held and deactivate its ACME accounts.
Standards and references
- NIST: SP 1800-16, Securing Web Transactions: TLS Server Certificate Management
- IETF: RFC 8555, Automatic Certificate Management Environment (ACME)
- CA/Browser Forum: Ballot SC-081v3, schedule of reducing validity and data reuse periods
- NIST: SP 800-57 Part 1 Rev. 5, Recommendation for Key Management
- MITRE ATT&CK: T1649 Steal or Forge Authentication Certificates
- OWASP: Key Management Cheat Sheet
- Cloud Security Alliance: Cloud Controls Matrix
Related NHI Mgmt Group resources: Certificate lifecycle manager day-2 operations runbook · If your certificate lifecycle manager is compromised · CLM Buyer's Guide · PKI and Certificate Lifecycle Maturity Model