Diesen Passwortmanager solltest du kennen! | Passbolt

Diesen Passwortmanager solltest du kennen! | Passbolt
Werbung

Dieser Beitrag entstand in bezahlter Kooperation mit Passbolt.

Mehr zu 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.yml oder compose.yml umbenannt 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.yaml umbenannt wurde, muss -f docker-compose-ce.yaml weggelassen 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.