Die Sicherheit des SSL-Zertifikats hängt vom privaten Schlüssel ab. Wer in den Besitz des Schlüssels gelangt, kann sich bis zum Ablauf des Zertifikats als Ihre Website ausgeben und in bestimmten Fällen auch den Datenverkehr zurückverfolgen. Sollte der Schlüssel offengelegt worden sein (oder ein Verdacht darauf bestehen), müssen Sie umgehend handeln.
Wann gilt ein Schlüssel als offengelegt?
- Sie haben dies per E-Mail, im Chat oder über ein Support-Ticket übermittelt.
- Es wurde an einem öffentlichen oder gemeinsam genutzten Ort hochgeladen, beispielsweise in ein Git-Repository, einen Cloud-Speicher oder ein Forum.
- Der Server, auf dem sich der Schlüssel befand, wurde gehackt.
- Ein ehemaliger Mitarbeiter oder ein externer Entwickler hatte Zugriff darauf, und Sie sind sich nicht sicher, ob er die Daten nicht gespeichert hat.
- Das Gerät, auf dem sich der Schlüssel befindet (Laptop, Sicherungskopie), ist verloren gegangen.
Die Schritte in der richtigen Reihenfolge
1. Erstellen Sie einen neuen privaten Schlüssel
Verwenden Sie den alten Schlüssel nicht mehr. Erstellen Sie einen neuen Schlüssel und eine CSR auf dem Server, auf dem Sie das Zertifikat verwenden möchten; siehe: CSR und privaten Schlüssel erstellen. Erstellen Sie keine neue CSR auf Basis des alten Schlüssels, da das neue Zertifikat sonst ebenfalls zu dem offengelegten Schlüssel gehören würde.
2. Stellen Sie das Zertifikat mit dem neuen Schlüssel neu aus
- Bei einem kostenpflichtigen Zertifikat beantragen Sie bitte im Kundenbereich auf der Zertifikatsseite über die Schaltfläche „Reissue“ eine Neuausstellung mit der neuen CSR. Dies ist innerhalb der Laufzeit des Abonnements kostenlos. Siehe: Einrichtung und Neuausstellung eines kostenpflichtigen SSL-Zertifikats.
- Bei einem kostenlosen Zertifikat auf einem cPanel-Hosting-Account wenden Sie sich bitte an unseren Support: Wir entfernen das alte Zertifikat, und AutoSSL beantragt mit einem neuen Schlüssel ein neues.
-
Beantragen Sie auf Ihrem eigenen Server bei Let’s Encrypt ein neues Zertifikat mit einem neuen Schlüssel:
certbot certonly --cert-name pelda.hu --force-renewal --new-key -d pelda.hu -d www.pelda.hu
3. Installieren Sie das neue Zertifikat
Installieren Sie das neue Zertifikat und den neuen Schlüssel überall dort, wo Sie das alte verwendet haben: Webserver, Mailserver, Load Balancer, CDN. Löschen Sie die alte Schlüsseldatei von den Servern und aus den Sicherungskopien.
4. Das alte Zertifikat widerrufen
Die Widerrufung (Revocation) signalisiert den Browsern, dass dem alten Zertifikat nicht mehr vertraut werden darf.
- Bei kostenpflichtigen Zertifikaten wenden Sie sich bitte an unseren Support; wir werden das alte Zertifikat dann beim Zertifikatsaussteller widerrufen. Geben Sie bitte an, dass der Schlüssel offengelegt wurde.
-
Let’s Encrypt-Zertifikat auf einem eigenen Server:
certbot revoke --cert-path /etc/letsencrypt/live/pelda.hu/cert.pem --reason keycompromise
Beantragen Sie die Rücknahme erst nach der Installation des neuen Zertifikats, da die Website andernfalls so lange einen Zertifikatsfehler anzeigt.
5. Finden Sie heraus, wie die Daten nach außen gelangt sind
Sollte der Schlüssel von einem gehackten Server durchgesickert sein, ist der Austausch des Zertifikats nur eine der erforderlichen Maßnahmen. Ändern Sie die Passwörter für den Server und die Anwendungen und überprüfen Sie das System. Sollte der Schlüssel in ein Git-Repository gelangt sein, reicht das Löschen der Datei nicht aus, da er in früheren Versionen erhalten bleibt. Betrachten Sie den Schlüssel in jedem Fall als offengelegt.
Warum reicht eine einfache Stornierung nicht aus?
Browser überprüfen die Sperrlisten nicht in jedem Fall, weshalb ein widerrufenes Zertifikat auf bestimmten Geräten bis zu seinem Ablaufdatum weiterhin als gültig akzeptiert werden kann. Das Risiko durch einen offengelegten Schlüssel wird daher am wirksamsten durch eine kurze Gültigkeitsdauer verringert. Dies ist einer der Gründe dafür, dass die Gültigkeitsdauer von Zertifikaten immer kürzer wird, siehe: Warum sind SSL-Zertifikate nicht mehr ein Jahr lang gültig?
Vorbeugung
- Erstellen Sie den privaten Schlüssel dort, wo Sie ihn verwenden werden, und übertragen Sie ihn nicht unnötig.
- Geben Sie diese Daten niemals an Dritte weiter, auch nicht an unseren Support. Wir werden Sie niemals danach fragen.
- Die Berechtigungen für die Schlüsseldatei sollten streng eingestellt sein (
chmod 600) und die Datei darf nicht in das Git-Repository aufgenommen werden (fügen Sie sie in die Datei.gitignoreein). - Verwenden Sie bei jeder Neuausstellung einen neuen Schlüssel.
- Nutzen Sie nach Möglichkeit die automatische Verlängerung: Bei cPanel-Hosting-Paketen erstellt und installiert die Funktion „AutoSSL“ oder die Option „Autoinstall“ für kostenpflichtige Zertifikate den Schlüssel ohne manuelle Eingriffe.