Wir sind stolz darauf, dass jeder Cloudflare-Kunde die Möglichkeit hat, kostenlos ein TLS-Zertifikat für seine Internetanwendung bereitzustellen. Mittlerweile sind wir für die Verwaltung des Lebenszyklus von fast 45 Millionen Zertifikaten verantwortlich: von der Ausstellung über die Bereitstellung bis zur Erneuerung. Wir arbeiten beständig daran, unsere Plattform so ausfallsicher und robust wie möglich zu machen. Dabei ist uns wichtig, dass sie für die Zukunft abgesichert und gegen unvorhersehbare Ereignisse gewappnet ist.
Ereignisse, die uns dazu veranlassen, Zertifikate für unsere Kunden neu auszustellen (z.B. die Kompromittierung von Schlüsseln, Sicherheitslücken und Massenwiderrufe), erfordern sofortiges Handeln. Ansonsten könnten Kunden ohne Schutz sein oder gar offline gehen. Wenn eines dieser Ereignisse eintritt, wollen wir die Auswirkungen sofort mindern können. Aber wie?
Indem wir ein Backup-Zertifikat bereithalten, das mit einem anderen privaten Schlüssel versehen ist und von einer anderen Zertifizierungsstelle (Certificate Authority) ausgestellt wurde als das primäre Zertifikat, das wir bereitstellen.
Ereignisse, die zur Neuausstellung von Zertifikaten führen
Cloudflare stellt jeden Tag Zertifikate neu aus - wir nennen dies eine Zertifikatserneuerung („Certificate Renewal“). Da Zertifikate mit einem Ablaufdatum versehen sind, leitet Cloudflare, wenn es feststellt, dass ein Zertifikat bald abläuft, einen neuen Auftrag zur Erneuerung eines Zertifikats ein. Auf diese Weise haben wir, wenn das Zertifikat abläuft, bereits ein aktualisiertes Zertifikat zur Verfügung, das für die TLS-Terminierung verwendet werden kann.
Leider werden nicht alle Zertifikatserneuerungen bis zum Ablaufdatum eingeleitet. Manchmal können unvorhersehbare Ereignisse wie die Kompromittierung von Schlüsseln zu einer Zertifikatserneuerung führen. Das liegt daran, dass ein neuer Schlüssel ausgestellt werden muss und somit auch ein entsprechendes Zertifikat.
Kompromittierung von Schlüsseln
Die Kompromittierung eines Schlüssels liegt vor, wenn eine unbefugte Person oder ein unbefugtes System in den Besitz des privaten Schlüssels gelangt, der zum Ver- und Entschlüsseln geheimer Informationen verwendet wird. Der schlimmste Albtraum von Sicherheitsverantwortlichen. Die Kompromittierung von Schlüsseln kann das Ergebnis einer Sicherheitslücke sein, wie z.B. Heartbleed, bei der ein Fehler in einem System dazu führen kann, dass der private Schlüssel preisgegeben wird. Sie können auch das Ergebnis böswilliger Handlungen sein, wie z.B. der Zugriff auf nicht autorisierte Informationen durch einen skrupellosen Mitarbeiter. Im Falle der Kompromittierung eines Schlüssels ist es wichtig, dass (1) sofort neue private Schlüssel ausgestellt werden, (2) neue Zertifikate bereitgestellt werden und (3) die alten Zertifikate widerrufen werden.
Die „Heartbleed“-Sicherheitslücke
2014 wurde die Sicherheitslücke „Heartbleed“ bekannt. Sie ermöglichte es Angreifern, den privaten Schlüssel von TLS-Zertifikaten für jeden Server zu extrahieren, auf dem die betroffene Version von OpenSSL, einer beliebten Verschlüsselungsbibliothek, lief. Wir haben den Bug gepatcht und dann vorsichtshalber die privaten Schlüssel und TLS-Zertifikate aller unserer Kunden neu ausgestellt, obwohl keiner unserer Schlüssel geleakt wurde. Die Fähigkeit von Cloudflare, schnell zu handeln, hat die Daten unserer Kunden vor der Offenlegung geschützt.
Heartbleed war ein Weckruf. Zu dieser Zeit war Cloudflare um eine Dimension kleiner. Würde bei unserer heutigen Größe eine ähnliche Sicherheitslücke bekanntwerden, bräuchten wir Wochen, nicht Stunden, um alle Zertifikate unserer Kunden neu auszustellen.
Mit Backup-Zertifikaten müssen wir uns nicht mehr darum kümmern, eine massenhafte Neuausstellung innerhalb eines kurzen Zeitraums zu veranlassen. Stattdessen werden die Kunden bereits über ein Zertifikat verfügen, das wir sofort bereitstellen können. Darüber hinaus wird das Backup-Zertifikat mit einem anderen Schlüssel als das primäre Zertifikat versehen, so dass es nicht durch eine Schlüsselkompromittierung beeinträchtigt werden kann.
Schlüsselkompromittierungen sind einer der Hauptgründe, warum eine massenhafte Ausstellung von Zertifikaten erforderlich werden kann. Aber auch andere Ereignisse können eine Neuausstellung notwendig machen, darunter Massenwiderrufe durch Zertifizierungsstellen (Certificate Authorities – CAs).
Massenwiderrufe von CAs
Heute ist das Certificate Authority/Browser Forum (CA/B Forum) das Gremium, das die Regeln und Standards für Zertifikate festlegt. Eine der Grundanforderungen des CA/B Forums besagt, dass Zertifizierungsstellen verpflichtet sind, Zertifikate, deren Schlüssel gefährdet sind, innerhalb von 24 Stunden zu widerrufen. Bei weniger unmittelbaren Problemen, wie z.B. Zertifikatsmissbrauch oder Verletzung der Zertifikatsrichtlinie einer CA, müssen Zertifikate innerhalb von fünf Tagen widerrufen werden. In beiden Szenarien werden die Zertifikate von der Zertifizierungsstelle innerhalb eines kurzen Zeitraums widerrufen, und eine sofortige Neuausstellung von Zertifikaten ist erforderlich.
Auch wenn Massenwiderrufe von CAs nicht üblich sind, gab es in den letzten Jahren doch einige Vorfälle. Kürzlich musste Let's Encrypt etwa 2,7 Millionen Zertifikate widerrufen. Grund dafür war die Nichteinhaltung einer DCV-Challenge bei der Implementierung. In diesem Fall waren die Kunden von Cloudflare nicht betroffen.
Ein anderes Mal stellte eine der von uns genutzten Zertifizierungsstellen fest, dass sie Zertifikate auf der Grundlage von Validierungs-Tokens erneuerte, die nicht den CA/B-Forum-Standards entsprachen. Dies veranlasste sie zu einem Massenwiderruf, von dem etwa fünftausend von Cloudflare verwaltete Domains betroffen waren. Wir haben mit unseren Kunden und der Zertifizierungsstelle zusammengearbeitet, um neue Zertifikate vor dem Widerruf auszustellen, so dass die Auswirkungen minimiert wurden.
Wir wissen, dass Fehler passieren, und wir hatten das Glück, dass unsere technischen Teams diese Probleme schnell beheben konnten, so dass keine Kunden betroffen waren. Aber das ist nicht genug: Unsere Systeme müssen für die Zukunft abgesichert sein, damit ein Widerruf von 45 Millionen Zertifikaten keine Auswirkungen auf unsere Kunden hat. Mit den Backup-Zertifikaten sind wir auf eine massenhafte Neuausstellung vorbereitet, egal in welchem Umfang.
Um gegen Massenwiderrufe durch unsere Zertifizierungsstellen gewappnet zu sein, stellen wir jedes Backup-Zertifikat von einer anderen Zertifizierungsstelle aus als das primäre Zertifikat. Dies bietet zusätzlichen Schutz für den Fall, dass eine unserer Zertifizierungsstellen einen Massenwiderruf veranlassen muss – etwas, das im Falle einer Auslösung eine tickende Zeitbombe darstellt.
Herausforderungen bei der Erneuerung von Zertifikaten
Größe: „Mit großer Macht kommt große Verantwortung“
Als die Heartbleed-Sicherheitslücke aufgedeckt wurde, mussten wir etwa 100.000 Zertifikate neu ausstellen. Zum damaligen Zeitpunkt stellte dies für Cloudflare keine Herausforderung dar. Jetzt sind wir für Dutzende von Millionen von Zertifikaten verantwortlich. Auch wenn unsere Systeme in der Lage sind, diese Größenordnung zu bewältigen, sind wir darauf angewiesen, dass unsere Partner bei den Zertifizierungsstellen dies ebenfalls tun können. Im Ernstfall wollen wir uns nicht auf Systeme verlassen müssen, die wir nicht kontrollieren können. Deshalb ist es wichtig, dass wir die Zertifikate im Voraus ausstellen, so dass wir uns im Ernstfall nur noch um die Bereitstellung der Backup-Zertifikate kümmern müssen.
Manueller Eingriff zur Durchführung der DCV
Eine weitere Herausforderung bei der Neuausstellung von Zertifikaten ist die Domain Control Validation (DCV). DCV ist eine Prüfung, mit der die Eigentümerschaft einer Domain bestätigt wird, bevor eine Zertifizierungsstelle ein Zertifikat für sie ausstellen kann. Wenn Kunden zu Cloudflare wechseln, können sie entweder Cloudflare als ihren DNS-Provider beauftragen oder Cloudflare als Proxy nutzen, während sie ihren derzeitigen DNS-Provider behalten.
Wenn Cloudflare als DNS-Provider für eine Domain fungiert, können wir im Namen unseres Kunden Domain Control Validation (DCV) Einträge hinzufügen. Das macht die Ausstellung und Erneuerung von Zertifikaten sehr viel einfacher.
Domains, die Cloudflare nicht als DNS-Provider nutzen — wir nennen sie Teilzonen — müssen sich auf andere Methoden zur Durchführung des DCV verlassen. Wenn diese Domains ihren Datenverkehr über uns abwickeln, können wir die HTTP-DCV in ihrem Namen abschließen, indem wir das HTTP-DCV-Token von unserer Edge aus bereitstellen. Kunden, die ihr Zertifikat ausgestellt haben möchten, bevor sie ihren Datenverkehr über einen Proxy abwickeln, müssen DCV jedoch manuell durchführen. Wenn Cloudflare Tausende oder Millionen von Zertifikaten neu ausstellen muss, aber die DCV nicht im Namen des Kunden abschließen kann, ist ein manuelles Eingreifen erforderlich. Die Durchführung der DCV ist zwar keine mühsame Aufgabe, aber wir sollten uns nicht darauf verlassen, dass unsere Kunden dies in einem Notfall tun, wenn sie nur einen kleinen Zeitrahmen haben und ein hohes Risiko besteht.
Hier kommen die Backup-Zertifikate ins Spiel. Von nun an werden bei jeder Zertifikatsausstellung zwei Aufträge erteilt: einer für ein Zertifikat der primären CA und einer für das Backup-Zertifikat. Wenn wir die DCV im Namen des Kunden durchführen können, werden wir dies für beide CAs tun.
Derzeit stellen wir nur Backup-Zertifikate für Domains aus, die Cloudflare als autorisierenden DNS-Anbieter verwenden. In Zukunft werden wir Backup-Zertifikate für Teilzonen bestellen. Das bedeutet, dass wir den Kunden für Backup-Zertifikate, für die wir die DCV nicht durchführen können, die entsprechenden DCV-Datensätze zur Verfügung stellen, damit das Zertifikat ausgestellt werden kann.
Plan für die Bereitstellung von Backup-Zertifikaten
Wir freuen uns, Ihnen mitteilen zu können, dass Cloudflare damit begonnen hat, Backup-Zertifikate für Bestellungen eines Universellen Zertifikats für Kunden mit Free-Tarif bereitzustellen, die Cloudflare als autoritativen DNS-Anbieter nutzen. Wir haben die Anzahl der Bestellungen von Backup-Zertifikaten langsam erhöht und erwarten, dass in den nächsten Wochen jede neue Bestellung eines Pakets mit Universellem Zertifikat für Kunden mit Free-, Pro- oder Biz-Konto ein Backup-Zertifikat enthalten wird, das mit einem anderen Schlüssel versehen ist und von einer anderen Zertifizierungsstelle ausgestellt wurde als das primäre Zertifikat.
Ende April werden wir mit der Ausstellung von Backup-Zertifikaten für unsere Enterprise-Kunden beginnen. Sie sind ein Enterprise-Kunde und haben Fragen zu Backup-Zertifikaten? Dann wenden Sie sich bitte an Ihr Account Team.
Demnächst: Backup-Zertifikate für alle
Heute machen Universelle Zertifikate 72 % der Zertifikate in unserer Pipeline aus. Doch wir wollen alles sichern! Deshalb wird unser Team unsere Pipeline für Backup-Zertifikate weiter ausbauen, um Erweiterte Zertifikate und SSL für SaaS-Zertifikate zu unterstützen. In Zukunft werden wir auch Backup-Zertifikate für Zertifikate ausstellen, die unsere Kunden selbst hochladen, damit sie ein Backup haben, auf das sie sich verlassen können.
Darüber hinaus werden wir unsere Pipeline weiter verbessern, um die Bereitstellung von Backup-Zertifikaten sofort zu ermöglichen. So bleiben unsere Kunden im Notfall sicher und online.Wir bei Cloudflare haben es uns zur Aufgabe gemacht, ein besseres Internet zu schaffen. Mit Backup-Zertifikaten helfen wir, ein sicheres, zuverlässiges Internet aufzubauen, das für jede Katastrophe gewappnet ist. Sie möchten uns dabei helfen? Wir stellen ein!