Skip to content

Datenbank-Passwort löschen

Ich gebe zu, das folgende Thema kann man kontrovers diskutieren.

Bei unseren Webhosting-Paketen führen wir intern eine Liste der an unsere Kunden vergebenen Datenbanken - samt Passwort. Im Klartext. Aber verschlüsselt. Abgelegt in einer unserer internen, von außen nicht erreichbaren und sehr gut abgeschirmten Datenbank.

Hintergrund, warum wir das Passwort im Klartext speichern: Damit wir die einfache Installation von Anwendungen, z.B. WordPress & Co., überhaupt erst möglich machen können. Denn in jeder Anwendungs-Konfiguration, wie auch immer sie nun erstellt wurde (von Hand oder automatisch), muss das Datenbank-Passwort dauerhaft und im Klartext eingetragen werden.

Und genau da kann man entsprechend "pro Klartext" argumentieren: Das Datenbank-Passwort muss sowieso "irgendwo" im Klartext vorhanden sein. Da macht es eigentlich keinen Unterschied, ob der Webhoster dieses auch noch im Klartext behält.

Aber ich gebe zu, dass ich auch die Argumente der Kunden verstehe, die sich dabei nicht wohl fühlen. Egal, wie sicher wir das Passwort intern abschotten. Es ist eine weitere Stelle, an der es vorliegt.

Deshalb haben wir uns dazu entschieden, unseren Kunden die Möglichkeit zu geben, das Passwort im Kunden-Menü zu "löschen". Sprich wir haben noch die Information über die Datenbank an sich (Name und Benutzername), nicht aber mehr das Passwort. Wer dann eine Anwendung über den 1-Klick-Installer installieren will, muss es händisch eingeben.

Ich finde, das ist ein fairer Kompromiss.

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

dingens

Das ist kein fairer Kompromiss, das ist IMHO die einzig richtige Möglichkeit.
"Dass wir dein Passwort im Klartext speichern ist alternativlos" ist ein Unding.

Andi

Interessant wäre eine Statistik in 6 Monaten wie viele Benutzer das Passwort tatsächlich gelöscht haben.

ednong

Mich würde interessieren, warum ihr es überhaupt gespeichert habt? Und natürlich, ob es auch die Option gibt, zukünftige Datenbanken ohne PW-Speicherung anlegen zu lassen ...

Dennis

Ähm steht doch alles oben?

ednong

Nicht ganz.
1. Nur when des 1-click-Mechanismus? Find ich ja dann krass.
2. Wird irgendwie nicht durch den Post beantwortet.

protte

Als Hoster kommt man, wenn man möchte eh an das Paswort für die DB ran. In den meisten Softwares ist das DB-Passwort in den Config Datein im klartext hinterlegt. Die berühmte mysql.php kennt ja jeder... Schlimmer ist nur, wenn man als nicht Hoster an die Dateien kommt.

Aber anderre Frage warum überhaupt ein Passwort und nicht einfach ohne passwort und nur auf local oder IP stellen.

Ben

Du kannst eine neue Datenbank nicht ohne Passwort anlegen, so wie es aussieht – zumindest bisher nicht. Du kannst es aber direkt nach dem Anlegen löschen. Natürlich wäre es angenehmer, wenn man direkt beim Erstellen eine 1-Klick-unfähige Datenbank (ohne Speicherung) erstellen könnte, aber das würde wieder Programmieraufwand bedeuten – und mal unter uns: Man kann's auch übertreiben.

ednong

Nun ja,
ich kenne 1-Click-Installationen bisher so, dass man vorher eine DB anlegen muß und die Zugangsdaten dann bei der 1-Click-Installation eingibt. Und vermutlich wird dabei das Passwort nicht noch irgendwo gespeichert.

Von daher mein Unverständnis.
Und ja, ich hab es vorher gelesen.

ednong

*für

Dirk

Gute Entscheidung!

Erst kostenloses SSL, jetzt das, und wenn nun noch PHP 7 kommt, dann buche ich ein Paket :)

Dennis

Das Passwort wird doch dann sowieso als Klartext in der Config des entsprechenden PHP Scripts gespeichert - sprich: Ja es wird irgendwo gespeichert. Als Klartext. So wie Manuel es auch oben geschrieben hat in seinem Beitrag. Also hast du es nicht vorher gelesen O_o

ednong

* wegen, natürlich

ednong

Ehrlich?
Es geht doch gar nicht darum, dass das Passwort im Klartext in irgendeiner Konfigurationsdatei steht. Das ist mir klar - wie wohl den meisten hier.

Es geht darum, dass das Passwort _zusätzlich_ (in diesem Fall in einer Datenbank) wie-auch-immer-kodiert steht. Darum geht es. Und dass der Kunde bisher darauf keinen Einfluß nehmen konnte.

Und dass ich genau diese Dinge nicht nachvollziehen konnte. Weder, warum es in der Datenbank stehen mußte (wohl wegen des 1-Click-Mechanismus, den ich nur anders kannte) noch warum der Kunde darauf keinen Einfluß nehmen konnte.

Und zusätzlich noch wissen wollte, ob es jetzt auch präventiv möglich ist, dass keines angelegt wird beim Einrichten einer neuen DB.

Echt jetzt - nicht gelesen scheint ja der neue Trollsatz zu werden, wenn ich das mal so überspitzen darf ;)
Klar hab ich das alles gelesen.

Michael

Vermutliche wenige. Ich finde nämlich die Stelle im Kundenmenü nicht.

Dennis

Achtung: Du hast als Kunde keinen Einfluss darauf, dass der Hoster zur Not auch ohne dein Passwort Zugriff auf deine Datenbank hat.

Man kann es echt übertreiben ey :D

Du kannst deine Passwörter übrigens aus dieser internen DB löschen lassen.

Warum spielt es so eine Rolle, ob der Hoster für seine Services das Passwort nochmal irgendwo gut abgesichert speichert? :D Fürchtest du dich vor dem Hoster? Dann brauchst du ne eigene Maschine ^^

ednong

Lesen scheint wirklich zu bilden ...

Ich habe nirgendwo gesagt, dass ich mich fürchte, dass es noch mal irgendwo steht.

Vielleicht drücke ich es ja mal in einem Satz aus, der ggf. verständlicher ist:
Ich wollte einfach nur wissen, warum man das nochmal in einer weiteren DB gespeichert hat. Mir war zum Zeitpunkt der Frage nicht klar, dass der 1-Click-Mechanismus darauf zugriff, da ich den anders kenne.

Und nein, ich fürchte mich nicht vor dem Hoster meines Vertrauens. Denn sonst hätte er dieses Vertrauen ja nicht ... ;)

Manuel Schmitt (manitu)

Um mal etwas Druck rauszunehmen ...

Es gibt mehrere Gründe, warum wir die Zugangsdaten bisher immer gespeichert haben:

1. (wie geschrieben) für den 1-Klick-Installer

Praktisch 100% aller unerfahrenen Kunden erwarten, dass Sie sich das Datenbank-Passwort nicht nochmal woher "zuppeln" müssen (sprich selbst irgendwo merken müssen). Sie erwarten, dass ein WordPress mit 1 Klick installiert ist, ohne großes Tam-Tam.

2. Das Datenbank-Passwort muss auch ohne Neu-Setzen verfügbar sein

Viele Kunden erwarten, dass sie das Passwort bei UNS einsehen können, ohne es Neu-Setzen zu müssen - z.B. für eine manuelle Installation einer Anwendung. Sie suchen für die Konfiguration ihrer Anwendung nach den Zugangsdaten, und wenn sie diese nicht direkt finden, fragen sie den Support. Wäre das Passwort nicht mehr vorhanden und müsste neu gesetzt werden, wären ggf. andere Anwendungen in derselben Datenbank betroffen.

Dass es mehrere Datenbanken und die Möglichkeit einer Trennung gibt, leuchtet nicht jedem ein, und hier wäre es eine Abstrafung unerfahrener Kunden. Mal abgesehen vom Verlust von Vertrauen von Kunden, die es gerne "einfach haben".

3. Kein zusätzliches Sicherheitsrisiko

Die Zugangsdaten müssen (mal abgesehen von seltenen, proprietären Lösungen) immer im Klartext vorliegen, damit PHP/Python/Perl/...-Anwendungen auf die Datenbank zugreifen können. Im Webspace ist das Passwort - sorry - praktisch am unsichersten. Dort, wo wir es speichern, ist es sicherer als sonstwo ;-)

Nun zu Deiner Frage bzgl. "zukünftig ohne speichern". Aufgrund des Prozesses, wie es derzeit gehandelt wird, geht das noch nicht, wird aber in einigen Monaten kommen. Derzeit sind die Prozesse "anlegen" und "Kunde informieren" getrennt, und müssen es aus technischen Gründen erst einmal auch so bleiben. Das werden wir ändern, sobald sich die Gelegenheit aufgrund geänderter interner Strukturen ergibt.

ednong

ERst einmal vielen Dank für die Info ;)

Die Erwartung von 1 würde ich so nicht haben, deshalb mein Unverständnis. Aber wahrscheinlich bin ich auch kein Kunde mehr, der unerfahren ist. Und auch für 2 bin ich nicht mehr unerfahren genug - bisher habe ich die Zugangsdaten immer gefunden.

Und ja, ich stimme dir zu - sie liegen auf dem Webspace am unsichersten. Läßt sich aber wohl (noch) nicht vermeiden. Ich fände es auch besser, wenn sie an sicherer Stelle liegen würden. Und dass sie bei euch in der DB sicherer liegen, war nie etwas, das ich angezweifelt habe - ich hatte lediglich die Notwendigkeit dafür nicht gesehen, weil ich da weniger Ansprüche (und wohl mehr Erfahrung) habe, als die Kunden, die so etwas notwendig machen. Danke daher für die ausführliche Erklärung.

Engywuck

zu "3. Kein zusätzliches Sicherheitsrisiko"

das stimmt so nicht (mathematisch jedenfalls. Das zusätzliche Risiko mag vernachlässigbar sein, Null ist es nie.

ganz so arg gering ist es m.E. ohnehin nicht, denn immerhin muss es automatisch ausgelesen werden können für 1-Klick -- und es ist dem Kunden anzeigbar. Das heißt es gibt eine automatisierte Schnittstelle, die das Passwort abgreifen kann. Es liegt also nicht nur verschlüsselt auf einem USB-Stick im Tresor für den "Fall der Fälle" sondern ist Dauer-Online. Natürlich nicht auf demselben Server wie die Kundendatenbank, aber immerhin.
Im Falle einer Sicherheitslücke könnte also ein Angreifer gleich alle Passwörter auf einmal abgreifen. Das macht es ein potentiell lohnendes Ziel. Ebenso könnte jemand potentiell die DB "am Stück" klauen und entschlüsseln (wenn alles mit demselben Schlüssel verschlüsselt st, wenn es dagegen z.B. den hash des Kundenkennworts braucht...)

Schön wäre, wenn dem Kunden dies mitgeteilt werden würde bei der Einrichtung und er dort entscheiden könnte. Gerne mit dem Hinweis auf "liegt ohnehin prinzipbedingt unverschlüsselt auf 'deinem' Server". Passwort-Recovery durch den Support (das scheint ja eine Befürchtung zu sein) darf dann auch was kosten.

Tetja Rediske

Es gibt keine Stelle die Online nach dem Passwort abgefragt werden kann, da ist keine zusätzliche Angriffsfläche. ;)

Engywuck

"Viele Kunden erwarten, dass sie das Passwort bei UNS einsehen können, ohne es Neu-Setzen zu müssen" klingt für mich ganz stark nach "der Kunde kann es online abfragen". Oder muss er etwa persönlich vorbeikommen und kann es dann aus dem bankschließfach abholen?

Jens H.

Ich muss auch sagen, dass ich die ganze Sache sehr fragwürdig finde. Theoretisch könnte einer eurer Mitarbeiter ohne weiteres sämtlich DB-Passwörter stehlen und meistbietend in einem Darknet Marketplace verscheuern...

Kunde

Deshslb ja verschlüsselt. ..

Und: Ein Mitarbeiter mit Berechtigung zum Datenbank -Server kann wh alle Daten lesen. Das geht auch ohne Passwort!

Und: Du kannst bei mysql dein Passwort ändern, dann kennt es Manitu auch nicht mehr.

Tetja Rediske

Was ich meinte war, es gibt keinen zusätzlichen Dienst, wie einen Webserver, über den man die ganzen Passwörter erbeuten könnte.

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

BBCode-Formatierung erlaubt
Formular-Optionen