Der Blog

Post-Mortem-Analyse zum Ausfall – 11. Dezember 2013

von Arup Chakrabarti 20. Dezember 2013 | 4 Minuten Lesezeit

Am 11. Dezember kam es bei PagerDuty zu einem Ausfall, der eine Untergruppe von Kunden betraf und den Zugriff auf alle pagerduty.com-Adressen blockierte. Zunächst einmal möchten wir uns zutiefst dafür entschuldigen. Jeder Ausfall, egal wie viele Kunden betroffen waren, ist inakzeptabel. Die Grundursache des Ausfalls kann auf ein Problem mit unserer DNS-Infrastruktur zurückgeführt werden, genauer gesagt auf DNSSEC. Dieser Beitrag beschreibt im Detail, was passiert ist und welche Verbesserungen wir vornehmen werden, um dies in Zukunft zu verhindern.

Hintergrund zu DNSSEC bei PagerDuty
Im Juni haben wir Domain Name System Security Extensions (DNSSEC) für alle PagerDuty Domänen aktiviert. Damit möchten wir unseren Kunden die Möglichkeit geben, von PagerDuty empfangene DNS-Einträge auf sichere Weise zu validieren. Ein Teil des Signaturprozesses für DNSSEC umfasst die Verwendung von Zone Signing Keys (ZSK) zum Signieren von Resource Records (RR), und die resultierende Signatur (RRSIG) wird dann automatisch von unserem DNS-Anbieter bereitgestellt. Alle drei Monate werden neue RRSIGs generiert und regelmäßig rotiert und bereitgestellt. Um sicherzustellen, dass immer ein gültiges RRSIG vorhanden ist, werden sowohl die neuen als auch die vorhandenen RRSIGs nebeneinander bereitgestellt, um sicherzustellen, dass es eine gewisse Überschneidung gibt. DNSSEC wird seit 2005 verwendet und die meisten großen DNS-Anbieter haben es in den letzten fünf Jahren implementiert. Anfang dieses Jahres begannen sowohl Comcast als auch Google DNS mit der Durchsetzung von DNSSEC. Dies bedeutet, dass, wenn für einen DNS-Eintrag DNSSEC aktiviert ist, RRSIG jedoch nicht validiert werden kann, die DNS-Anforderung als Fehler zurückgegeben wird, um den Anforderer vor potenziell manipulierten DNS-Daten zu schützen. Genau das geschah am Abend des 11. Dezember 2013.

Zeitleiste der Ereignisse (alle Zeiten sind in PST):

  • 27. November – Unser DNS-Anbieter erstellt einen neuen ZSK für unsere Zone pagerduty.com, der neue RRSIG wird jedoch aufgrund eines Fehlers in der Automatisierungsinfrastruktur unseres DNS-Anbieters nicht bereitgestellt.
  • 11. Dez., 22:51 Uhr – Das vorhandene RRSIG, das in der Zone pagerduty.com bereitgestellt wird, läuft ab. DNS-Anbieter, die DNSSEC erzwingen, liefern keine Ergebnisse mehr für die Zone pagerduty.com.
  • 11. Dez., 23:51 Uhr – Unser sekundärer externer Überwachungsanbieter weist uns darauf hin, dass auf pagerduty.com nicht zugegriffen werden kann.
  • 12. Dez. 00:03 Uhr – Ein PagerDuty Techniker entfernt den Delegation Signer (DS)-Eintrag, um DNSSEC in der Zone pagerduty.com zu deaktivieren.
  • 12. Dez., 00:37 Uhr – DNS-Anbieter mit aktivierter DNSSEC-Durchsetzung geben jetzt DNS-Einträge von pagerduty.com zurück.

Der Aufprall
Während des Ausfalls konnte kein Kunde, der einen DNS-Anbieter verwendete, der DNSSEC erzwingt, auf eine pagerduty.com-Adresse zugreifen. Das bedeutet, dass eine kleine Anzahl unserer Kunden die Website, unsere API oder unsere mobilen Apps nicht nutzen konnte. Wir haben betroffenen Kunden geraten, einen anderen DNS-Anbieter zu verwenden, um dieses Problem zu umgehen. Da wir keinen Datenverkehr von betroffenen Kunden erhielten, ist es schwierig, die Auswirkungen zu berechnen. Unsere Schätzung, die auf der Betrachtung der durchschnittlichen Datenverkehrsniveaus unseres Lastenausgleichs basiert, ist, dass weniger als 2 % unseres gesamten Anfragevolumens betroffen waren.

Was wir gelernt haben
Als wir DNSSEC ursprünglich aktivierten, richteten wir eine Überwachung unserer DNS-Einträge ein. Die eingerichtete Überwachung war jedoch eher auf das Netzwerk als auf die Sicherheit ausgerichtet. Obwohl unser primärer externer Überwachungsanbieter feststellte, dass Google DNS ungültige Ergebnisse zurückgab, erhielten wir keine entsprechenden Alarme dafür. Wenn wir uns die Ablaufzeiten der RRSIGs angesehen hätten, hätten wir dieses Problem viel früher erkennen können. Auch wenn ein sekundärer DNS-Anbieter dieses spezielle Problem nicht gelöst hätte, benötigen wir zusätzliche Redundanz, um uns vor DNS-Ausfällen zu schützen. Der Grund dafür, dass dieser Ausfall nicht deutlicher sichtbar war, war schließlich, dass nicht alle DNS-Anbieter DNSSEC durchsetzen. Sowohl Google als auch Comcast haben Schritte unternommen, um die Sicherheit rund um DNS zu verbessern, und wir hoffen, dass mehr DNS-Anbieter dies ebenfalls tun.

Was wir dagegen tun
Obwohl wir keinen direkten Einfluss auf die Grundursache dieses Ausfalls hatten, werden wir Verbesserungen vornehmen, um ein erneutes Auftreten zu verhindern und das Problem früher zu erkennen.

Wir werden:

  • Aktualisieren Sie unseren primären externen Überwachungsanbieter, um DNS-Änderungen als Warnungen auf Katastrophenniveau zu behandeln
  • Richten Sie eine kontinuierliche Überwachung und Benachrichtigung rund um unsere RRSIG-Ablaufzeiten ein
  • Senken Sie die TTL unseres DS-Eintrags auf 1 Minute, um Verzögerungen bei der Ausbreitung von Änderungen zu reduzieren.
  • Einrichten eines sekundären DNS-Anbieters

Wir verbessern unsere Infrastruktur kontinuierlich, um unseren Kunden den zuverlässigsten Service zu bieten. Wenn Sie Fragen oder Kommentare haben, lassen Sie es uns bitte wissen.