SSL/TLS certificates auto-renew before expiry; certificate will not expire within 30 days
Why it matters
An expired SSL/TLS certificate takes your entire site offline for all users instantly — browsers block access, not just warn. CWE-295 covers improper certificate validation; NIST SC-17 and PCI DSS Req-4.2.1 require maintaining valid certificates. A certificate expiring within 30 days with no auto-renewal is a timed production outage. Manual renewal requires remembering a calendar event and having the right credentials available — both fail under operational stress.
Severity rationale
Low because most modern platforms (Vercel, Netlify, AWS) handle SSL auto-renewal automatically, so this only affects self-hosted deployments, but expiry causes immediate and total service unavailability.
Remediation
Enable auto-renewal via Certbot for self-hosted servers. Vercel and Netlify handle this automatically — verify the platform setting if in doubt.
For Nginx with Let's Encrypt:
# Install Certbot
sudo apt-get install certbot python3-certbot-nginx
# Issue certificate
sudo certbot --nginx -d your-domain.com
# Certbot auto-installs a systemd timer; verify it
sudo systemctl status certbot.timer
# Test renewal without applying
sudo certbot renew --dry-run
If you prefer a cron fallback:
0 3 * * * /usr/bin/certbot renew --quiet --no-eff-email
Set a calendar reminder 60 days before expiry as a backstop. Document the renewal owner in DEPLOYMENT.md.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Deployment Readiness Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- cwe · CWE-295 — Improper Certificate Validation
- nist:rev5 · SC-17 — Public Key Infrastructure Certificates
- pci-dss:4.0 · Req 4.2.1 — Strong cryptography used to safeguard PAN in transit — valid certificates required
Taxons
History
- 2026-04-18·v1.0.0·Initial import from deployment-readiness·automated