HTTPS auf Autopilot mit Zertifikatsmanager
Die Lebensdauer der Zertifikate wird immer kürzer. Automatisierung ist nicht mehr optional.
Die Lebensdauer der Zertifikate wird immer kürzer. Automatisierung ist nicht mehr optional.

Verfallene Zertifikate haben einige der peinlichsten Ausfälle in der Technologiegeschichte verursacht. Große Unternehmen, beliebte Apps, sogar Sicherheitsanbieter sind gefallen, weil jemand vergessen hat, ein Zertifikat zu erneuern. Es ist immer die gleiche Geschichte: eine Kalender-Erinnerung, die an jemanden ging, der gegangen ist, ein manueller Prozess, an den sich niemand erinnert hat.
Und das Problem wird immer schwieriger zu ignorieren, weil die Lebensdauer von Zertifikaten schnell abnimmt.
Wenn Sie mich besuchen https://shop.example.com, der Server sendet eine Zertifikat Das heißt "Ich bin shop.example.com", signiert von einem Zertifizierungsstelle (CA) Ihr Browser vertraut. Der Browser überprüft die Signatur, den Namen und das Verfallsdatum. Wenn alles in Ordnung ist, stellt es eine verschlüsselte Verbindung her.
Die Zertifikate verfallen absichtlich. Wenn ein privater Schlüssel gestohlen wird, ist ein Ablaufdatum ein Begrenzungszeitraum für den Missbrauch. Und kurze Lebenszeiten zwingen zur Automatisierung, was das gesamte System agiler macht.
Das CA/Browser Forum, das die Regeln für öffentliche Zertifikate festlegt, hat einen Zeitplan zur Verkürzung der maximalen Zertifikatsdauer von 398 Tagen genehmigt:
Die Zeit, für die die Validierung der Domäne wiederverwendet werden kann, schrumpft ebenfalls. Let's Encrypt, das immer 90-Tage-Zertifikate ausgegeben hat, hat auch begonnen, viel kürzer lebende Zertifikate anzubieten.
Was dies in der Praxis bedeutet: Die manuelle Zertifikatsverlängerung stirbt. Nach 47 Tagen wird die manuelle Erneuerung von nur einer Handvoll Zertifikaten zu einem ständigen Ärger und zu einem Ausfall, der nur darauf wartet.
Wenn ein Mensch sich daran erinnern muss, ein Zertifikat zu erneuern, wird das Zertifikat schließlich ablaufen.
Wir verschlüsseln. ist eine kostenlose, automatisierte CA, die das Web verändert hat: Sie erteilt Zertifikate über die ACME-Protokoll, mit dem Software die Kontrolle über eine Domain nachweisen und ein Zertifikat ohne menschliche Beteiligung erhalten kann.
Zwei häufige Möglichkeiten, Kontrolle zu beweisen:
http://yourdomain/.well-known/acme-challenge/...- Ich weiß . Einfach, aber braucht Port 80 erreichbar und unterstützt keine Wildcards.Es gibt auch andere ACME-Zertifizierungsstellen (ZeroSSL, Google Trust Services und viele kommerzielle Zertifizierungsstelle), und private Zertifizierungen können ACME für interne Zertifikate sprechen.
Auf Kubernetes, Zertifizierungsmanager (ein CNCF-Projekt) ist die Standardmethode zur Automatisierung von Zertifikaten. Es fordert Zertifikate an, speichert sie in Kubernetes-Geheimnissen und erneuert sie lange bevor sie ablaufen.
Installieren Sie es:
helm install cert-manager oci://quay.io/jetstack/charts/cert-manager \
--namespace cert-manager --create-namespace \
--set crds.enabled=true
Erstellen Sie eine Emittent (hier Let's Encrypt mit DNS-01 auf Route 53, mit der Workload-Identität):
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: platform@example.com
privateKeySecretRef:
name: letsencrypt-account-key
solvers:
- dns01:
route53:
region: eu-central-1
Anfordern Sie eine Bescheinigung:
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: example-com
namespace: infra
spec:
secretName: example-com-tls
issuerRef:
name: letsencrypt
kind: ClusterIssuer
dnsNames:
- example.com
- "*.example.com"
Der Cert-Manager erstellt das Geheimnis und erneuert es automatisch (standardmäßig, wenn zwei Drittel der Lebensdauer abgelaufen sind). Verweise auf das Geheimnis von deinem Gateway oder Ingress und du bist fertig.
Es ist auch mit Gateway-API direkt: Annotation eines Gateways, und der Zertifikatsmanager erstellt Zertifikate für seine Zuhörer.
Tipp: Test gegen Let's Encrypt's Aufstellung Der Server zuerst. Der Produktionsserver hat Geschwindigkeitslimits, und eine falsche Konfiguration kann Sie für eine Weile ausschließen.
Automatisierung kann stillschweigend versagen: DNS-Zugriffsrechte verfallen, die Geschwindigkeitsgrenzen werden erreicht, ein Webhook bricht. Die Verfallsdauer sollte immer überwacht werden:
certmanager_certificate_expiration_timestamp_seconds- Ich weiß . Warnen Sie, wenn eine Bescheinigung weniger als zwei Wochen hat.Schreiben Sie alle Zertifikate auf, die Sie heute von Hand erneuern. Sie können sie in den Certi-Manager, einen Cloud-Zertifikatsmanager oder einen Server mit integriertem ACME verschieben. Hinzufügen von Verfallswarnungen. Wenn die 47-Tage-Zertifikate ankommen, merken Sie es nicht einmal.
Meine Meinung: Zertifikate sollten sich selbst erneuern, wie Ihr Handy seine Uhr aktualisiert. Je kürzer sie werden, desto mehr ist das wahr.
Desly