Diesen Passwortmanager solltest du kennen! | Passbolt
Dieser Beitrag entstand in bezahlter Kooperation mit Passbolt.
Übersicht
Passwörter gehören zu den Dingen, die man besser nicht in irgendwelchen Textdateien, Excel-Tabellen oder unverschlüsselten Notizen ablegen sollte. Noch schwieriger wird es, wenn Zugangsdaten innerhalb eines Teams sicher geteilt und gemeinsam verwaltet werden müssen.
Genau hier setzt Passbolt an. Passbolt ist ein Open-Source-Passwortmanager (Community Edition, AGPL), der sich selbst hosten lässt und besonders auf die gemeinsame Verwaltung und das Teilen von Zugangsdaten ausgelegt ist.
In diesem Artikel schauen wir uns Passbolt genauer an, installieren die kostenlose Community Edition mit Docker Compose und richten die wichtigsten Einstellungen ein. Anschließend werfen wir einen Blick auf die Weboberfläche und schauen uns an, wie Passwörter und andere Zugangsdaten mit Passbolt verwaltet und geteilt werden können.
Das Video zum Beitrag hier: https://youtu.be/Udg9PhlkM8A
Versionen
Passbolt hat unterschiedliche Versionen. Wir schauen uns dabei heute die kostenlose Community Edition an. Trotzdem hier einmal die Unterschiede & Preise der Editionen direkt von der Webseite.
Ich finde die Aufteilung dabei eigentlich sehr fair. Alle wichtigen Funktionen sind in der Community Edition enthalten. Das Einzige, was vielleicht noch schön gewesen wäre, wäre Single Sign-On. Single Sign-On ist allerdings den kostenpflichtigen Editionen vorbehalten.

Installation
Es gibt verschiedene Möglichkeiten, Passbolt zu installieren. Ich bevorzuge den Weg mit Docker bzw. Docker Compose.

Docker
Als Erstes installieren wir Docker, falls das noch nicht geschehen ist, da wir Passbolt mit Docker betreiben möchten. Das können wir ganz einfach mit dem offiziellen Convenience Script von Docker machen.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Verzeichnis
Bevor wir fortfahren, müssen wir uns ein geeignetes Verzeichnis erstellen, wo wir Passbolt später laufen lassen wollen. Ich habe meine Docker-Compose Stacks immer gerne unter /opt, darunter erstelle ich einen neuen Ordner für Passbolt mit:
sudo mkdir /opt/passbolt
cd /opt/passbolt
Docker Compose
Kommen wir jetzt zu dem docker-compose.yml File von Passbolt selber. Das bekommen wir direkt von Passbolt mit folgendem Befehl.
curl -LO https://download.passbolt.com/ce/docker/docker-compose-ce.yaml
Zusätzlich können wir die von Passbolt bereitgestellte SHA512-Prüfsumme herunterladen und damit überprüfen, ob unsere heruntergeladene Compose-Datei der von Passbolt veröffentlichten Prüfsumme entspricht.
curl -LO https://github.com/passbolt/passbolt_docker/releases/latest/download/docker-compose-ce-SHA512SUM.txt
Prüfen können wir das dann mit folgendem Befehl:
sha512sum -c docker-compose-ce-SHA512SUM.txt
Wenn dort folgende Meldung zurückkommt, ist alles in Ordnung.
docker-compose-ce.yaml: OK
Compose-File anpassen
Als Nächstes müssen wir die docker-compose.yml auf unser Setup anpassen. Das ist mit wenigen Schritten schnell getan.
Als Erstes passen wir die Variable APP_FULL_BASE_URL auf unsere gewünschte Domain an, über die wir Passbolt später erreichen wollen.
Zusätzlich sollten wir das Datenbankpasswort noch anpassen. Dafür können wir uns bspw. einen langen Hex-String mit openssl rand -hex 32 generieren. Denselben Wert tragen wir bei MYSQL_PASSWORD und DATASOURCES_DEFAULT_PASSWORD ein, damit das Passwort des Datenbankbenutzers mit der Datenbankkonfiguration von Passbolt übereinstimmt.
Fertig sieht das dann bspw. so aus:

SMTP (optional)
Optional können wir SMTP direkt mit in der docker-compose.yml konfigurieren. Dafür gibt es zusätzliche Variablen, die wir hinzufügen und mit unseren SMTP-Server-Daten ausstatten können.
Wir haben aber später auch noch die Möglichkeit, SMTP direkt in der Weboberfläche zu konfigurieren und zu hinterlegen.
| Variable name | Description | Default value |
|---|---|---|
| EMAIL_DEFAULT_FROM_NAME | From email username | 'Passbolt' |
| EMAIL_DEFAULT_FROM | From email address | 'you@localhost.test' |
| EMAIL_TRANSPORT_DEFAULT_HOST | Server hostname | 'localhost' |
| EMAIL_TRANSPORT_DEFAULT_PORT | Server port | 25 |
| EMAIL_TRANSPORT_DEFAULT_USERNAME | Username for email server auth | null |
| EMAIL_TRANSPORT_DEFAULT_PASSWORD | Password for email server auth | null |
| EMAIL_TRANSPORT_DEFAULT_TLS | Set tls | null |
Starten der Container
Damit haben wir auch schon alles soweit angepasst und können Passbolt starten. Das machen wir mit folgendem Befehl.
Alternativ kann das File auch in
docker-compose.ymlodercompose.ymlumbenannt werden, damit spart man sich das-f docker-compose-ce.yaml.
docker compose -f docker-compose-ce.yaml up -d
Reverse Proxy
Bevor wir jetzt unseren ersten Benutzer und Passbolt weiter einrichten, müssen wir erstmal dafür sorgen, dass wir auf unsere Instanz ordentlich mit gültigem Zertifikat und via https zugreifen können.
Das ist am einfachsten mit einem Reverse-Proxy. In diesem Setup habe ich einen bereits eingerichteten Nginx Proxy Manager auf einem anderen System, welches den Passbolt-Server erreicht.
Ihr habt auch die Möglichkeit, das Ganze direkt mit auf dem Host zu konfigurieren und Passbolt ohne zusätzliche Ports ausschließlich über den Reverse-Proxy erreichbar zu machen.
Zwei verschiedene Ansätze dazu findet ihr auch nochmal hier:
Auf dem genannten Nginx Proxy Manager in dem aktuellen Setup sieht der Eintrag dann so aus:



Erste Schritte
Ein kurzer Test mit Aufrufen der entsprechend eingerichteten Passbolt-Domain zeigt, dass Passbolt erreichbar ist.

Wir werden mit einem Login-Feld begrüßt, allerdings haben wir ja noch gar keinen Benutzer. Für die Erstellung des ersten Benutzers müssen wir noch ein letztes Mal zurück auf den Server. Mit folgendem Befehl wird der Benutzer erstellt und gleichzeitig auch zum Passbolt-Admin.
docker compose -f docker-compose-ce.yaml \
exec passbolt su -m -c "/usr/share/php/passbolt/bin/cake \
passbolt register_user \
-u YOUR_EMAIL \
-f YOUR_NAME \
-l YOUR_LASTNAME \
-r admin" -s /bin/sh www-data
Falls das
docker-compose-ce.yamlumbenannt wurde, muss-f docker-compose-ce.yamlweggelassen werden.
Wir erhalten dann einen Link, über den wir den Account einrichten können.

Initialen Account erstellen
Auf der Seite angekommen, werden wir erstmal darum gebeten, die Passbolt-Erweiterung für den entsprechenden Browser herunterzuladen. Diese ist nämlich bei Passbolt sehr essenziell.

Nachdem wir die Erweiterung zu unserem Browser hinzugefügt haben, können wir uns eine Passphrase festlegen. Damit entsperren wir später unseren Account, um auf unsere Passwörter zuzugreifen.

Anschließend wird automatisch ein Recovery-Kit heruntergeladen. Das sollte gut gesichert werden und ist quasi der Schlüssel zu unseren Passwörtern.

Als Nächstes können wir einen Sicherheitstoken definieren. Der dient einfach nur zur Erkennung, ob Anfragen wirklich von Passbolt stammen. Immer wenn Passbolt die Passphrase anfordert, wird der Sicherheitstoken angezeigt.

Und damit sind wir auch schon auf unserem Account angekommen und können jetzt unsere Passwörter hinterlegen!

Konfiguration
Bevor wir zu der Erstellung und Verwaltung der Passwörter kommen, gehen wir einmal kurz durch die wichtigsten Einstellungen von Passbolt.
Der erstellte Account ist automatisch Admin der Passbolt-Instanz, sodass wir entsprechend einmal alles auf unsere Bedürfnisse anpassen können.
Um zu den gesamten Einstellungen der Instanz zu gelangen, gehen wir auf das Zahnrad oben rechts und dann auf Organisationseinstellung.

Hier finden wir jetzt eine Menge konfigurierbarer Punkte, schauen wir uns aber einmal die wichtigsten an.

Multi-Faktor-Authentifizierung
Natürlich gibt es auch bei Passbolt die Möglichkeit, seinen Account nochmal zusätzlich mit einer Multi-Faktor-Authentifizierung abzusichern. Damit das funktioniert, müssen wir das in den Einstellungen für die Instanz aktivieren.
Das empfehle ich ausdrücklich!

Die Authentifizierung mit Passkeys ist aktuell auf der Roadmap
E-Mail-Server
Spätestens hier in den Einstellungen sollten wir jetzt unseren E-Mail-Server hinterlegen, worüber Passbolt dann E-Mails verschicken kann.
Gerade wenn mehrere Personen die Instanz verwenden sollen, ist das wichtig, da Passbolt unter anderem die Einladungslinks via E-Mail verschickt.

E-Mail-Benachrichtigungen
Welche Benachrichtigungen wir dann wirklich bekommen wollen, definieren wir in dem Menüpunkt darunter.

Passbolt API Status
Ebenfalls praktisch ist der API-Status-Menüpunkt. Hier gibt es Informationen zu der Instanz und ggf. Empfehlungen für Einstellungen, die nicht gesetzt sind etc.

Konto Verwaltung
Jeder Benutzer hat eine eigene Konto-Seite. Dort gibt es einige nützliche Funktionen.

Schlüsselprüfer
In diesem Menüpunkt können wir unseren Schlüssel, den wir zum Entsperren unseres Accounts brauchen, prüfen und auch erneut herunterladen.

MFA
Nachdem wir die Multi-Faktor-Authentifizierung für die Instanz aktiviert haben, können wir hier unser MFA einrichten.

Mobile-Einrichtung
Möchten wir Passbolt auch auf unserem Smartphone verwenden, um uns bequem an Webseiten anzumelden, ist das der richtige Ort.
Hier bekommen wir einen QR-Code angezeigt, den wir mit der Passbolt-App einscannen müssen, um unser Smartphone mit unserem Passbolt-Account auszustatten.

Benutzer & Gruppen
Es gibt außerdem noch den Punkt Benutzer & Gruppen. Wie der Name verrät, haben wir hier als Admin die Möglichkeit, weitere Benutzer zu erstellen & einzuladen. Außerdem haben wir die Möglichkeit, Gruppen zu erstellen, die wir dann ebenfalls auf unsere Passwörter berechtigen können, um diese zu teilen.

Nach Erstellung eines neuen Benutzers bekommt dieser eine E-Mail und kann sich bei Passbolt registrieren.
Passwörter verwalten
Kommen wir also zum Highlight von Passbolt, dem Verwalten unserer Passwörter. Wir sehen in Passbolt 3 Bereiche. Links haben wir unseren Arbeitsbereich, wo wir unsere Passwörter in Ordner sortieren können, in der Mitte sehen wir dann den aktuell ausgewählten Bereich oder Ordner und die Passwörter, und rechts sehen wir Informationen zum ausgewählten Eintrag.
Ein neues Passwort oder auch Ordner legen wir über den blauen Button links an. Auch ein Import aus bspw. einem Keepass kann hier vorgenommen werden.

Passwort erstellen
Gehen wir auf Passwort, öffnet sich ein Fenster, wo wir alles eintragen können. Wir haben auch die Möglichkeit, einen Passworteintrag um bspw. TOTP und benutzerdefinierte Felder zu ergänzen.

Erstellt taucht der Eintrag dann auf unserer Startseite auf.

Ordner
Wenn wir unseren Passwortmanager mit Ordnern entsprechend sortiert und ordentlich halten wollen, können wir das tun.
Passwörter können einfach via Drag and Drop an gewünschte Orte verschoben werden.

Teilen
Ebenfalls sehr komfortabel ist das Teilen von Passwörtern oder auch ganzen Ordnern. Dafür wählen wir das gewünschte Objekt aus und gehen auf Teilen. Anschließend können wir die Personen oder Gruppen angeben und der Ordner oder das einzelne Passwort wird freigegeben.


Jetzt sehen wir als Max ebenfalls den Homelab-Ordner mit enthaltenen Passwörtern.

Web-Erweiterung
Die Web-Erweiterung macht uns das Einloggen auf Webseiten super komfortabel. Sobald Passbolt einen Eintrag für die Webseite findet, können wir diesen auswählen und die Daten werden für uns automatisch ausgefüllt.

Falls wir auf einer Seite noch keinen Account haben und wir gerade bei der Erstellung sind, können wir die Erweiterung ebenfalls nutzen, um unkompliziert direkt einen Account mit generiertem Passwort und Co. zu erstellen.

Fazit
Damit läuft unsere eigene Passbolt-Instanz und wir können unsere Zugangsdaten zentral verwalten und bei Bedarf mit anderen Benutzern teilen.
Besonders interessant ist Passbolt meiner Meinung nach überall dort, wo Zugangsdaten nicht nur für eine einzelne Person gespeichert, sondern innerhalb eines Teams organisiert und kontrolliert geteilt werden sollen. Durch die kostenlose Community Edition lässt sich Passbolt außerdem erst einmal ohne zusätzliche Lizenzkosten selbst hosten und ausprobieren.
Wer später zusätzliche Funktionen für den Unternehmenseinsatz benötigt, kann die Instanz entsprechend um eine der kostenpflichtigen Editionen erweitern.