Bitwarden: Mein neuer Favorit unter den Passwort-Managern

Bitwarden ist seit dem Wochenende mein neuer Favorit unter den Passwort-Managern:

Ich benutze seit Jahren eine Implementierung von KeePass. Aus Überzeugung: Es handelt sich um 1. Open-Source und 2. muss ich meine Passworte nicht einem Anbieter anvertrauen. Einiges an Komfort habe ich erreicht, in dem ich zum einen meine KeePass-Datei auf dem eigenen Nextcloud-Server abgelegt habe. Zum anderen habe die chromePass-Browser-Extension verwendet. Trotzdem habe ich immer neidisch zu den Benutzern von LastPass oder One-Password “rübergeschaut”: Dort funktioniert die Benutzung sowohl im Browser deutlich besser, als auch im Handy (iOS): Da werdendie Passwörter automatisch ausgefüllt…

Nun habe ich Bitwarden ausprobiert. Und zwar in allen für mich wichtigen Aspekten:

  • Mac Desktop-Anwendung.

  • Die iOS-App. Wunderbar integriert. Lässt sich unter “Einstellungen” -> “Automatisch ausfüllen” so aktivieren, dass Passworte in verschiedenen Anwendungen automatisch ausgefüllt werden.

  • Die Android-App. Habe ich noch nicht intensiv ausprobiert, fühlt sich aber auch sehr “rund” an.

  • Der Bitwarden Server selbstgehostet: Dies war für mich der Ausschlag, das ganze selber mal auszuprobieren. Ich möchte meine Passworte (s.o.) keinem noch so vertrauenswürdigen fremden Anbieter anvertrauen müssen.

    Ich habe mich entschieden, – nicht den offiziellen Server zu verwenden, weil mir der zu viele Ressourcen zu verbrauchen scheint. Schon alleine, weil zwar Docker verwendet wird, aber offenbar ein ganz eigener Server nötig ist – was nicht gut in mein Hosting-Konzept via Docker passt.

    Stattdessen habe ich hier eine “Anleitung” gefunden, die ein Docker-Image verwendet, welches auf einer alternativen Implementierung des Bitwarden-Servers basiert, welche deutlich schlanker ist. Es ist ein einzelnes Image und passt daher gut in meine Landschaft.

    Kann ich dieser alternativen Implementierung Vertrauen? Darüber habe ich mich hier informiert. Vor allem die Konstruktion, dass der Server die Klartext-Passworte nie bekommt, hat mich überzeugt.

Vertrauen

Folgende Überlegungen haben hier zu meinem Vertrauen in die Gesamtkonstrukton geführt:

  • Die Passworte werden immer verschlüsselt, bevor sie das Gerät verlassen, das sich gerade in meinen Händen befindet. Keine Andere Komponente (v.a. nicht der Server) ist in der Lage, das Passwort zu entschlüsseln. Auch bei der Web-Anwendung ist das so.
  • Ich behalte alle Passworte (und seien sie verschlüsselt) unter eigener Kontrolle, weil ich eigene Server verwende – nur von mir administriert – nur ich habe Zugriff.
  • Hosting im Rechenzentrum meines Vertrauens: WorNet: Da bin ich Mit-Eigentümer und kenne jeden Admin persönlich.
  • Bitwarden hat ein Security-Audit “überstanden”.
  • Jeder Client “holt sich” die gesamte verschlüsselte Passwort-DB. Das heißt im Fall, dass der Server mal nicht erreichbar ist, kann ich trotzdem noch auf die Passworte zugreifen.
  • 2FA: Der Server-Zugriff lässt sich mit 2-Faktor-Authentifizierung (“Two-step Login”) zusätzlich absichern. Dabei gibt es verschiedene Methoden zur Auswahl. Ich benutze eine Authenticator App (OTP).

Trotzdem ist natürlich klar, dass es – auch beim hochsensiblen Thema der Passwort-Speicherung – keine 100%ige Lösung gibt. Der Zettel mit den notierten Passworten kann in falsche Hände gelangen, Passworte zu merken schaffe ich nicht und jede andere Lösung hat meines Erachtens nicht die Flexibilität von Bitwarden (oder anderen gehosteten Passwort-Managern). Da Closed-Source für mich hier nicht in Frage kommt, habe ich wohl das Optimum gefunden – zumindest für meine Belange.

Was mir obendrein besonders gefällt:

  • Ich konnte meine Keepass-DB vollständig importieren. (Trotzdem werde ich zu Sicherheit mein Keepass wohl noch lange “betriebsbereit” halten – für den Fall der Fälle.)
  • Auch die Passwort-Listen der Browser (z.B. Chrome) lassen sich importieren. (Ja, ich habe da immer noch Passworte gespeichert…) Hier gibt es eine Liste, was alles importiert werden kann.
  • Das automatische Ausfüllen der Passworte im Browser ist wirklich gut. So lassen sich z.B. für jeden Eintrag mehrere URLs definieren, für die der Eintrag gelten soll.
  • Benutzer lassen sich in Organisationen gruppieren, die auf gemeinsame Passworte zugreifen. Dabei lassen sich die Rechte steuern – wer die Passworte z.B. nur sehen, aber nicht verändern darf.

Meine Installation

Docker-Compose

version: '2.1'

services:
  bitwarden:
    image: mprasil/bitwarden
    container_name: bitwarden
    ports:
    - 8100:80
    - 8101:3012
    restart: always
    environment:
      - SIGNUPS_ALLOWED=true
      - WEBSOCKET_ENABLED=true
      - DOMAIN=https://mein.bitwarden.server/
    volumes:
    - ${BITWARDEN_DATA_DIR:?err}/data:/data
    - /etc/localtime:/etc/localtime:ro
    - /etc/timezone:/etc/timezone:ro

Kong Reverse-Proxy

(Ich benutze zwar noch nicht die Kong DB-Less declarative configuration, aber mit deck kann man super einen Dump der DB-basierten Konfig anlegen. So ist die hier gerzeigte Konfiguration entstanden.)

Außerdem wird im Kong über xxx ein SSL-Zertifikat von Letsencrypt geholt und aktualisiert.

Backup

Mit diesem kleinen Script erstelle ich nächtliche Dumps der Sqlite3-DB:

Anhang: Links

2 thoughts on “Bitwarden: Mein neuer Favorit unter den Passwort-Managern

  1. Hier noch ein paar Links mit weiteren Infos:

    Außerdem habe ich eine Weile gebraucht, herauszufinden, wie ich in Chrome (sowohl Desktop als auch Android) die in Chome gespeicherten Passworte löschen kann. Antwort ist: Über “Browserdaten löschen”.

  2. Hier nochmal meine Kriterien für einen Passwort-Manager, die mich schließlich zu Bitwarden geführt haben:

    • OpenSource (nur so ist vertrauenswürdige Sicherheit möglich)
    • Security-Audit
    • Sync zwischen verschiedenen Geräten
    • Ver-/Entschlüsselung der Passwörter nur lokal (kein Klartext-Passwort auf dem Server – zu keinem Zeitpunkt)
    • Hosting auf meinen eigenen Servern (verhindert bzw. erschwert Brute-Force-Angriffe auf die Rohdaten). Hosting mit Docker möglich.
    • Funktion, auch wenn der Server nicht erreichbar ist (Offline oder Server-Ausfall)
    • Ausfüllhilfe für gängige Browser (Firefox, Chrome, Safari)
    • Apps für iOS, Android die auch dort jeweils das automatische Ausfüllen unterstützen
    • Importmöglichkeiten für meine bestehenden Passworte (Keepass, Chrome etc.)
    • Möglichkeit, den Zugriff auf den Passwort-Speicher (Tresor) über 2FA abzusichern
    • Speicherung von 2FA-Tokens bei den Passwörten und Generierung des TOTP
    • Möglichkeit mit anderen Benutzern gemeinsame Passwörter zu haben und gemeinsam zu pflegen.

Schreibe einen Kommentar

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