Travis CI: Falsch gesetzte Variable führt zu gelöschter Datenbank

Der mit Github genutzte Dienst Travis-CI war für mehrere Stunden nicht erreichbar. Der Grund ist offenbar eine falsch gesetzte Variable eines Entwicklers, die zum Verlust der Produktivdatenbank geführt hat. Eventuell waren Nutzerdaten für andere einsehbar.

Artikel veröffentlicht am ,
Beim Remote-Zugriff auf Server kann schon mal was schief gehen.
Beim Remote-Zugriff auf Server kann schon mal was schief gehen. (Bild: Quinn Dombrowski/CC-BY-SA 2.0)

Bereits Mitte März ist der in Verbindung mit dem Code-Hoster Github verwendete Dienst Travis CI für fast acht Stunden nicht erreichbar oder nicht nutzbar gewesen. In einer ausführlichen Analyse beschreibt das Betreiberteam des Continuous-Integration-Dienstes, wie es dazu kommen konnte: Offenbar hat einer der Entwickler versehentlich die Produktivdatenbank gelöscht, indem alle Tabellen als leer markiert worden sind (Truncate). Eigentlich sollte dies nur auf einem Testsystem geschehen, eine falsch gesetzte Variable führte den Test jedoch auf dem Produktivsystem durch.

Stellenmarkt
  1. Systementwickler / Administrator IoT-Solutions (w/m/d)
    KHS GmbH, Dortmund
  2. Inhouse Service Manager (AMS) (m/w/div.)
    GILDEMEISTER Beteiligungen GmbH, Bielefeld
Detailsuche

Das Terminal, in dem der Befehl ausgeführt worden ist, war eine mehrere Tage alte Tmux-Sitzung, in der die Umgebungsvaribale DATABASE_URL für das Produktivsystem noch gesetzt war. Der betroffene Entwickler hat demnach zuvor über die Sitzung und die Variable das Produktivsystem untersucht, kehrte für das Ausführen der Tests aber "unwissentlich" in diese Sitzung zurück, ohne den Inhalt der Variable zu ändern. Dass das Team überhaupt auf diese Weise Schreibzugriff auf das Produktivsystem hat, führen die Betreiber auf schlechte Werkzeuge zurück, die die Arbeit mit der Read-only-Kopie erschwerten. Der direkte Zugriff sei eine "übliche Abkürzung". Die Datenbank ist nach dem Fehler aus einem Backup wieder hergestellt worden.

Um solche Fehler künftig komplett zu vermeiden, hat das Travis-Team eigenen Angaben zufolge die Rechteoptionen für den Truncate-Befehl entfernt. Darüber hinaus überprüft ein internes Werkzeug künftig, ob die Variable gesetzt ist und warnt die Entwickler in diesem Fall. Für das genutzte Testwerkzeug Database Cleaner hat das Team ebenfalls eine Schutzfunktion gebaut, damit über die Variable nicht aus Versehen auf eine entfernte Datenbank zugegriffen wird.

Eventuell Nutzerdaten betroffen

Da nach dem Löschen der Datenbank die Anwendungen des Dienstes selbst noch rund 30 Minuten online gewesen sind, habe es beim Login zu Überscheidungen der Nutzer kommen können, so dass Daten eventuell von Dritten einsehbar waren. Der Untersuchung zufolge habe mindestens ein Nutzer in diesem Zeitraum zumindest theoretisch Zugriff auf Daten gehabt. Davon möglicherweise betroffene Kunden und Nutzer hat das Team von Travis bereits informiert.

Golem Karrierewelt
  1. Kotlin für Java-Entwickler: virtueller Zwei-Tage-Workshop
    13./14.10.2022, Virtuell
  2. ITIL 4® Foundation: virtueller Zwei-Tage-Workshop
    29./30.08.2022, virtuell
Weitere IT-Trainings

Dass bestimmte Dienste wegen Problemen mit gelöschten Datenbanken ausfallen, kommt immer wieder vor. So hatte im vergangenen Jahr ein Mitarbeiter von Github-Konkurrent Gitlab versehentlich die Produktivdatenbank gelöscht, auch der Cloud-Hoster Digital Ocean hatte im vergangenen Jahr mit solch einer Panne zu kämpfen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anonymer Nutzer 10. Apr 2018

Das lässt sich schwer pauschalisieren. Im Normalfall haben größere Firmen eigene IT...

VigarLunaris 09. Apr 2018

Wir haben unsere DB-Zugriffe ebenso an AD-Konten gebunden. D. h. kein Problem mit User...

Anonymer Nutzer 09. Apr 2018

So eine "Funktion", die Vermutlich nur eingebaut wurde um Dinge vermeintlich "bequemer...



Aktuell auf der Startseite von Golem.de
Führung in der IT
Über das Unentbehrlichsein

Wie ich als Chef zum wandelnden Lexikon wurde und dabei meinen Spaß an der Arbeit verlor - und wie ich versuche, es besser zu machen.
Ein Erfahrungsbericht von @SoFuckingAgile

Führung in der IT: Über das Unentbehrlichsein
Artikel
  1. FTTC: Nachfrage für Vectoring der Telekom steigt um 60 Prozent
    FTTC
    Nachfrage für Vectoring der Telekom steigt um 60 Prozent

    Die Telekom sieht sich mit dem kupferbasierten Anschluss erfolgreich. Im Jahresvergleich hat sich der Kundenbestand um 1,3 Millionen auf 5,4 Millionen erhöht.

  2. Sensorfehler: Spinne legt Rendsburger Schwebefähre lahm
    Sensorfehler
    Spinne legt Rendsburger Schwebefähre lahm

    Ein Krabbeltier hat ein wichtiges Verkehrsmittel zur Überquerung des Nord-Ostsee-Kanals gestoppt - indem es ein Netz über einem Sensor gesponnen hat.

  3. Financial Modeling World Cup: Excel-E-Sport im Fernsehen
    Financial Modeling World Cup
    Excel-E-Sport im Fernsehen

    Ein TV-Sender in den USA übertrug erstmals die Ausscheidung der Excel-Weltmeisterschaft.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 jetzt bestellbar • Neuer MM-Flyer • MindStar (Gigabyte RTX 3070 Ti 699€, XFX RX 6950 XT 999€) • eBay Re-Store -50% • AVM Fritz-Box günstig wie nie • Top-SSDs 1TB/2TB (PS5) zu Hammerpreisen • MSI-Sale: Gaming-Laptops/PCs -30% • Der beste Gaming-PC für 2.000€ [Werbung]
    •  /