Certificate and key renewals become dangerous when nobody owns the inventory. These 20 practices help a Linux and UNIX administration team track expirations, protect keys and renew certificates before they interrupt the business.
- Inventory every certificate and key, including its expiration date and renewal period. Put the inventory in a database as soon as possible.
- Choose certificate management software that fits your requirements, such as HashiCorp Vault, Venafi Trust Protection Platform or DigiCert CertCentral.
- Configure the certificate management software and connect it to your infrastructure and applications.
- Create a workflow for requesting, approving and renewing certificates and keys.
- Store every certificate and key securely with the encryption controls provided by the software.
- Use the software API or CLI with Ansible, Chef or Puppet to automate certificate and key deployment across the infrastructure.
- Create a directory service such as LDAP or Active Directory for certificate and key records, then connect it to the management software.
- Use role-based access control (RBAC) to limit certificate and key access by role and permission.
- Use the software's hardware security module (HSM) integrations to protect keys.
- Use the certificate authorities (CAs) supplied by the software to issue and manage certificates and keys.
- Use Transport Layer Security (TLS) to protect network traffic and certificates and keys in transit.
- Monitor certificate transparency logs for unexpected issuance and unauthorized certificates.
- Use the software's certificate monitoring tools to track expiration and issuance.
- Use certificate validation tools to check SSL/TLS certificate validity and security.
- Use a reverse proxy such as Nginx or Apache with the management software for SSL/TLS termination and certificate management.
- Use the software's Let's Encrypt integration to obtain free SSL/TLS certificates and automate renewal.
- Use certificate revocation lists (CRLs) or the Online Certificate Status Protocol (OCSP) to revoke certificates.
- Use certificate pinning so clients trust only the specific certificates and keys you approve.
- Run the software's automation on a regular schedule to monitor and update the certificate inventory.
- Use the software's security features for regular security audits and penetration tests of the certificate and key management system.