🔗 Ein Passwort übergeben ist keine Verwaltungsaufgabe

Dieser Blog hat eine kleine Serie über Passwörter: erst Vaultwarden selbst gehostet, dann der Wechsel zu KeePass + KeeWeb, zuletzt Passwörter, die man am Telefon vorlesen kann. Heute kommt der Teil, der mir am meisten beigebracht hat – und der KeeWeb wieder abräumt.

Vorweg, weil es die Pointe ist: KeeWeb war kein Reinfall. Es hat getan, was es soll. Ich hatte nur die falsche Frage gestellt.

🤔 Die Frage, die ich mir gestellt hatte

Sie lautete: „Wo können meine Kunden ihre Passwörter einsehen?“ Aus dieser Frage folgt zwingend ein Kundenbereich – eine Seite, auf der jeder Kunde seine Datenbank findet, jederzeit, dauerhaft. Genau das habe ich gebaut. Sauber verschlüsselt, ordentlich getrennt, jeder sieht nur seins.

Die Frage war nur falsch. Die richtige lautet: „Wie bekommt ein Kunde ein Passwort von mir?“

Das klingt nach Wortklauberei, ist aber der ganze Unterschied. Aus der ersten Frage folgt ein Portal, das dauerhaft läuft und dauerhaft etwas vorhält. Aus der zweiten folgt eine Übergabe – ein Vorgang mit Anfang und Ende.

📊 Was meine Kunden tatsächlich gemacht haben: nichts

Das Schöne an einem Portal ist, dass man nachsehen kann, ob es benutzt wird. Ich habe es getan und über sechs Monate gemessen: null Kundenzugriffe. Keiner. Nicht wenige – keiner.

Im Nachhinein völlig einleuchtend. Meine Kunden verwalten ihre Passwörter selbst, im Browser, im Manager, im Notizbuch, wie auch immer. Was sie von mir brauchen, ist einmal lesen: die Zugangsdaten zum neuen Postfach, das Kennwort zum Server, den Zugang zur Webseite. Danach wandert es in ihre eigene Ablage, und mein Portal ist überflüssig – nicht schlecht gemacht, sondern gegenstandslos.

Dazu die ehrliche Mengenangabe: Es geht um drei bis vier Übergaben im Monat. Dafür hatte ich einen Dauerbetrieb aufgesetzt. Das ist, als würde man für vier Briefe im Monat ein Postamt eröffnen.

🔍 Und dann habe ich meinen eigenen Aufbau geprüft

Bevor ich über Werkzeuge entschieden habe, wollte ich es genau wissen und habe den eigenen Aufbau von außen durchgesehen – so, wie ich es bei einem fremden täte. Das ist unangenehm, weil man findet, was man findet.

Und ich habe etwas gefunden. Die Zugangsschicht um KeeWeb herum – selbst geschriebenes PHP, nicht KeeWeb selbst – prüfte an einer Stelle das Falsche: ob die Datei existiert, statt ob der Anfragende sie haben darf. Schon der Aufruf der Kundenseite erteilte die Erlaubnis zum Herunterladen. Das einzige, was man wissen musste, war der Name des Kunden – und das ist ein Firmenname, kein Geheimnis.

Was nicht kaputt war, gehört zur Wahrheit dazu: die Verschlüsselung. Die Dateien waren nach aktuellem Stand verschlüsselt, es gab kein Klartext-Leck. Wer eine abgegriffen hätte, hätte einen verschlüsselten Klumpen gehabt. Aber das ist eine Sicherheitsstufe weniger, als vorgesehen war, und darauf will man sich nicht verlassen müssen.

Das Bild, das ich seitdem benutze: Das Schloss am Schließfach war tadellos. Nur bekam man den Schlüssel schon dafür ausgehändigt, dass man einen Namen nannte.

Noch am selben Tag habe ich die betroffenen Kunden informiert und den Bereich abgeschaltet. Danach nachgeprüft, dass wirklich nichts mehr da ist – nicht verdeckt, sondern weg.

🧠 Der eigentliche Fehler war eine Ebene höher

Man könnte es dabei belassen: dumme Stelle im Code, behoben, weiter. Nur wäre das zu einfach. Diese Zugangsschicht existierte überhaupt nur, weil ich einen dauerhaften Kundenbereich gebaut hatte. Für eine Übergabe braucht man keinen. Kein Kundenbereich, keine Zugangsschicht, keine Stelle, an der sie das Falsche prüfen kann.

Der zweite, größere Punkt heißt Blast-Radius: die Frage, wie viel kaputtgeht, wenn etwas kaputtgeht. In einer Passwort-Datenbank steht alles. So ein Totalverlust-Szenario gehört nicht ins offene Web – und schon gar nicht für einen Nutzen, den ich gerade mit null gemessen hatte. Hohes Risiko, kein Ertrag: Das ist keine schwierige Abwägung.

📮 Das richtige Werkzeug hält nichts fest

Ersetzt hat es Password Pusher, ein quelloffener Dienst, den ich selbst auf dem Mini-PC betreibe. Das Prinzip ist so schlicht, dass man kurz überlegt, ob das reicht:

  • 🔗 Ich lege ein Passwort ab und bekomme einen Link – den schicke ich per Mail oder Chat
  • ⏳ Der Link verfällt – nach wenigen Tagen oder nach wenigen Ansichten, je nachdem, was zuerst eintritt
  • 🗑️ Danach ist der Inhalt weg, nicht ausgeblendet, sondern gelöscht
  • 📎 Auch Dateien – eine Passwortdatei und die Nachricht dazu gehen in einem Link raus

Der entscheidende Satz steht nicht in der Funktionsliste, sondern im Ergebnis: Es gibt keinen Ort mehr, an dem alle Kundenpasswörter liegen. Der Blast-Radius sind die zwei, drei Übergaben, die gerade laufen. Der Rest existiert schlicht nicht.

Meine eigene Sammlung liegt weiterhin da, wo sie hingehört: lokal in KeePass, auf keinem Webserver. Kunden können mir über ein Konto auch etwas zuschicken – aber bewusst nur das. Es ist ein Rückkanal, kein Portal. Wer eingeloggten Kunden etwas zum Nachschlagen hinlegt, baut genau das nach, was gerade abgeräumt wurde.

🚪 Ein Detail, das ich richtig gut finde

Ruft man einen Link auf, der nicht mehr gilt, erscheint eine schlichte Seite: „Dieser geheime Link ist nicht mehr gültig.“ Was mir daran gefällt: Diese Seite erscheint für drei verschiedene Fälle – der Link ist abgelaufen, der Link wurde von mir gelöscht, oder es gab ihn nie.

Das ist kein Schludrian, sondern Absicht. Ein ehrliches „gibt es nicht“ wäre eine Auskunft: Es würde jedem Fremden bestätigen, dass es die anderen Links gibt. Eine Software, die an so etwas gedacht hat, hat vermutlich auch an anderes gedacht. Das war für mich ein besseres Argument als jede Funktionsliste.

Fazit

Ich habe ein halbes Jahr ein Portal betrieben, das niemand benutzt hat, und dabei ein Risiko getragen, das ich nicht tragen musste. Das ist der unangenehme Teil.

Der andere Teil: Ich habe es gemessen statt vermutet, ich habe meinen eigenen Aufbau geprüft statt ihn für gut zu halten, und ich habe gehandelt, als das Ergebnis nicht schmeichelhaft war. Genau deshalb steht das hier – man lernt mehr von Umbauten als von Neubauten.

Die Lehre, die ich mitnehme, hat wenig mit Passwörtern zu tun: Ein Werkzeug ist nicht gut oder schlecht, es passt zur Aufgabe oder nicht. Und die Aufgabe steht in der Frage, die man sich vorher stellt. „Wo sehen meine Kunden ihre Passwörter?“ führt zwangsläufig zu einem Portal. „Wie bekommt ein Kunde ein Passwort von mir?“ führt zu einem Link, der abläuft. Dieselbe Aufgabe, zwei völlig verschiedene Bauwerke. 🔗

Läuft bei dir etwas, von dem du nicht sicher weißt, ob es überhaupt benutzt wird? Melde dich gerne – einfach Kontakt aufnehmen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert