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. Test Automatisierer (m/w/d) IT
    M-net Telekommunikations GmbH, München
  2. IT System Engineer (gn)
    HORNBACH Baumarkt AG, Bornheim bei Landau in der Pfalz
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 Akademie
  1. Elastic Stack Fundamentals - Elasticsearch, Logstash, Kibana, Beats
    26.-28. Oktober 2021, online
  2. PostgreSQL Fundamentals
    6.-9. Dezember 2021, online
  3. Microsoft 365 Security Workshop
    27.-29. Oktober 2021, online
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
Waffensystem Spur
Menschen töten, so einfach wie Atmen

Soldaten müssen bald nicht mehr um ihr Leben fürchten. Wozu auch, wenn sie aus sicherer Entfernung Roboter in den Krieg schicken können.
Ein IMHO von Oliver Nickel

Waffensystem Spur: Menschen töten, so einfach wie Atmen
Artikel
  1. OpenBSD, TSMC, Deathloop: Halbleiterwerk für Automotive-Chips in Japan bestätigt
    OpenBSD, TSMC, Deathloop
    Halbleiterwerk für Automotive-Chips in Japan bestätigt

    Sonst noch was? Was am 15. Oktober 2021 neben den großen Meldungen sonst noch passiert ist, in aller Kürze.

  2. Whatsapp: Vater bekommt wegen eines Nacktfotos Ärger mit Polizei
    Whatsapp
    Vater bekommt wegen eines Nacktfotos Ärger mit Polizei

    Ein Vater nutzte ein 15 Jahre altes Nacktfoto seines Sohnes als Statusfoto bei Whatsapp. Nun läuft ein Kinderpornografie-Verfahren.

  3. Pornoplattform: Journalisten wollen Xhamster-Eigentümer gefunden haben
    Pornoplattform
    Journalisten wollen Xhamster-Eigentümer gefunden haben

    Xhamster ist und bleibt Heimat für zahlreiche rechtswidrige Inhalte. Doch ohne zu wissen, wer profitiert, wusste man bisher auch nicht, wer verantwortlich ist.

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 • Bis 21% auf Logitech, bis 33% auf Digitus - Cyber Week • Crucial 16GB Kit 3600 69,99€ • Razer Huntsman Mini 79,99€ • Gaming-Möbel günstiger (u. a. DX Racer 1 Chair 201,20€) • Alternate-Deals (u. a. Razer Gaming-Maus 19,99€) • Gamesplanet Anniversary Sale Classic & Retro [Werbung]
    •  /