/ Linux

Bitwarden - Schicker Passwortmanager auch zum selbst hosten

Passwortmanager sind denke ich aus dem Alltag der meisten von uns nicht mehr wegzudenken. Bei immer komplexer werdenden Passwörtern, die man am besten für jeden Login auch noch varriert helfen sie Ordnung in das Chaos zu bringen.

Bisher fiel meine Wahl immer auf 1Password. Schicke Apps, gelungene Integration. Doch das kommende Upgrade auf Version 7 werde ich zum einen aus Preisgründen nicht mehr mitmachen und zum anderen stört mich seit längerer Zeit der Weg in Richtung eigener 1Password-Cloud.
Es soll jeder machen, wie er möchte. Ich nutze auch Dienste wie Dropbox und Nextcloud und habe Dinge in der Cloud liegen. Bei Passwörtern oder ähnlichen sensiblen Dokumenten überwiegt bei mir aber einfach die Vorsicht. Ich möchte wissen, wo meine Daten liegen.

Und natürlich müssen Entwickler von etwas leben und ich bezahle gerne für gute Software. Aber der Preis muss für mich immer noch in Relation zum Nutzen stehen. Allgemein sei erwähnt, dass ich gegenüber Abo-Modellen auch nicht abgeneigt bin und teilweise andere Apps nutzte, die auf ein Abo-Modell gesetzt haben - so lange für mich persönlich der Nutzen überwiegt.

Neben Anbietern wie LastPass darf man gerade im OpenSource-Bereich natürlich KeePass nicht vergessen. Kann man natürlich machen. Ich persönlich finde die App einfach sperrig und nicht schön - auch wenn es Alternativen wie KeeWeb gibt. Gute Apps haben für mich auch etwas mit guter Usability zu tun.

bitwarden-1

Für mich persönlich habe ich nun eine Alternative in Bitwarden gefunden. Lokalisierte Apps für jedes System (Die WebApp ist zur Zeit noch auf Englisch), sympathische Entwickler, die offen für Feature-Requests sind, ein Quellcode unter OpenSource und vor allem, ich kann eine Instanz mittels Docker selbst hosten. Ich weiß somit, wo meine Daten sind und bin für die (Server)-Sicherheit selber verantwortlich. Muss man natürlich auch wollen.

Wo wir gerade beim Thema Sicherheit sind, die wird bei Bitwarden so umgesetzt:

Bitwarden uses AES 256 bit encryption as well as PBKDF2 to secure your data.

AES is used by the US government and other government agencies around the world for protecting top secret data. With proper implementation and a strong encryption key (your master password), AES is considered unbreakable.

PBKDF2 is used to derive the encryption key from your master password. This key is then salted and hashed.

Bitwarden does not write any crypto code. Bitwarden only invokes crypto from popular and reputable crypto libraries that are written and maintained by cryptography experts. The following crypto libraries are used:

Javascript (web and browser extension vaults)
    Forge
    Web Crypto
C# (mobile vault)
    CommonCrypto (iOS, Apple)
    Javax.Crypto (Android, Oracle)
    BouncyCastle (Android)

Bitwarden always encrypts and/or hashes your data on your local device before it is ever sent to the cloud servers for syncing. The Bitwarden servers are only used for storing encrypted data. It is not possible to get your unencrypted data from the Bitwarden cloud servers.

Wie erwähnt läuft eine eigene Instanz über Docker auf einem Server. Die Installation ist schnell erledigt. Alles was ihr benötigt ist ein Server mit Docker:

curl -s -o bitwarden.sh \
    https://raw.githubusercontent.com/bitwarden/core/master/scripts/bitwarden.sh \
    && sudo chmod u+x bitwarden.sh
./bitwarden.sh install
./bitwarden.sh start
./bitwarden.sh updatedb

Und es läuft. Anschließend könnt solltet ihr euch noch um die weitere, schnelle Konfiguration kümmern um beispielsweise den E-Mail-Empfang zu gewährleisten. Die WebApp wird automatisch mittels Let's Encrypt gesichert und lässt sich zusätzlich auch mittels 2FA schützen.

Einen Premium-Plan gibt es auch, ist aber nicht zwingend erforderlich. Dieser kostet im Jahr 10 USD und erweitert nach Kauf auch die selbst gehostete Lösung. Ich sehe die Premium-Lizenz allerdings eher als Unterstützung für die Entwickler um beispielsweise bei der Finanzierung eines Security Audits mitzuhelfen.