Passbolt Installation: Team-Passwort-Manager auf Linux Ubuntu 20.04 installieren

Mit der Software Passbolt stelle ich euch einen quelloffenen Passwort-Manager vor, der für die Zusammenarbeit von Teams entwickelt worden ist. Selbst-gehostet steht einem Team nach der Installation ein sicherer Passwort-Safe zur Verfügung, der die Eingabe von Passwörtern und Zugangsdaten mittels Browser-Plugins (Erweiterungen) vollständig automatisiert.

Davon profitieren vor allem größere Unternehmen, da Logins von Webanwendungen und Webseiten automatisiert werden können und nicht jedem Mitarbeiter Passwörter mitgeteilt werden müssen. Stellen wir uns einmal vor, als Administrator in einem Unternehmen beschäftigt und dafür verantwortlich zu sein, dass 200 Mitarbeiter alle Passwörter und Zugangsdaten selbstständig verwalten.

Bei jedem Abgang eines Mitarbeiters müssten alle sensiblen Passwörter zur Gewährung der Sicherheit geändert werden. Dazu kommt es häufig zu Login-Problemen, durch Flüchtigkeitsfehler beim Abtippen von Zugangsdaten oder weil Software-Zugänge miteinander verwechselt werden. Ein exorbitant hoher Aufwand für einen IT-Administrator.

Dieser lässt sich durch die Verwendung der Open-Source-Software Passbolt auf ein Minimum reduzieren. Anders als bei teuren Unternehmenslösungen, die firmeninterne Zugangsdaten auf Cloudspeicher durch die halbe Welt versenden, steht die Sicherheit bei dem Team-Passwort-Manager an oberste Stelle. Denn alle Daten bleiben ausnahmslos auf der eigenen Server-Infrastruktur.

Hinweis:

Falls du einen Passwort-Manager für eine Person installieren möchtest, kann ich dir mein Tutorial für die Installation von Vaultwarden empfehlen: https://www.veuhoff.net/vaultwarden-auf-einem-linux-hostsystem-installieren/

Inhaltsverzeichnis: Passbolt auf einen Linux-Ubuntu Server installieren

Funktionen und Feature von Passbolt Tutorial

Passbolt Passwort-Manager Funktionen:

  • Füge beliebig viele Anmeldedaten manuell hinzu
  • Browser-Erweiterungen für etablierte Browser wie z.B. Chrome und Firefox
  • Einfache Wartung und benutzerfreundlich in der Bedienung (Kein technisches Wissen notwendig)
  • Import und Export von Passwörtern möglich
  • Die Passbolt App ist auch für Android/Apple Smartphones in den App-Stores erhältlich
  • Erstelle zufällige Passwörter mit hoher Sicherheit (Generator)
  • Verwalte Benutzer und Gruppen mit Berechtigungen für Zugangsdaten (Zugriffsrechte)

LAMP-Stack für Passbolt auf Linux Ubuntu 20.04 installieren (Schritt 1.)

Der Team Password Manager Passbolt setzt einen sogenannten LAMP-Stack-Server voraus. Wir installieren in dieser Anleitung zuerst einen Apache-Webserver und eine MariaDB. Alternativ kann auch ein Nginx-Webserver (LEMP-Stack) installiert werden. Verwende die folgenden Befehle, um einen LAMP-Stack auf Linux Ubuntu zu installieren:

sudo apt-get install apache2 mariadb-server -y

Nachdem der Webserver und die Datenbank für unsere Passbolt Installation implementiert worden ist, installieren wir jetzt PHP und alle für den Betrieb erforderlichen Module und Abhängigkeiten. Verwende dafür die folgenden Befehle:

sudo apt-get install software-properties-common gnupg -y
sudo add-apt-repository ppa:ondrej/php --yes
sudo apt install php-imagick php-gnupg php7.4-common php7.4-mysql php7.4-fpm php7.4-json php7.4-ldap php7.4-gd php7.4-imap php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp php7.4-xsl

Sind alle Pakete erfolgreich installiert worden? Dann geht es im nächsten Abschnitt mit der Erstellung und Konfiguration der Datenbank für unseren Passbolt-Passwort-Manager weiter. Führe vorher noch einen Neustart von dem Apache-Webserverdienst durch:

sudo systemctl restart apache2

MariaDB Konfiguration und Erstellung der Datenbank für Passbolt (Schritt 2.)

In diesem Abschnitt erstellen und konfigurieren wir die Datenbank für Passbolt. Führe den folgenden Befehl aus und beantworte über die Konsole die Fragen während der Installation mit „Y“ (Siehe Beispiel):

mysql_secure_installation
Enter current password for root

OK, successfully used password, moving on...

Set root password? [Y/n] Y

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

Sobald die MariaDB konfiguriert wurde, melde dich an der MariaDB-Konsole mit dem folgenden Befehl an (gebe bei Aufforderung das Root-Passwort für die Authentifizierung ein):

sudo mysql -u root

Erstelle jetzt die Datenbank für Passbolt. In dieser Installationsanleitung benennen wir die Datenbank einfach nur „passbolt“. Verwende einen beliebigen Namen oder übernehme den Namen aus meinem Tutorial mit diesem Befehl:

CREATE DATABASE passbolt DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Erstelle einen Datenbank-Benutzer und setze ein sicheres Passwort, einschließlich der Gewährung aller Rechte für die neue Datenbank mit diesem Befehl:

GRANT ALL ON passboltdb.* TO 'passboltbenutzer'@'localhost' IDENTIFIED BY 'password';

Abschließend leeren wir die Privilegien und verlassen die MariaDB mit den folgenden Befehlen:

FLUSH PRIVILEGES;
EXIT;

Passbolt Team-Passwort-Manager herunterladen und Konfigurationen vornehmen (Schritt 3.)

Lade die aktuelle Version (stable) von Passbolt von Github herunter. Um diesen Vorgang zu vereinfachen, verwenden wir Git-Tools unter Linux Ubuntu:

sudo apt install git

Erstelle ein Verzeichnis für Passbolt und klone die aktuellste Version von Passbolt mit diesen Befehlen in das Apache-Webserver-Stammverzeichnis:

sudo mkdir /var/www/passbolt
sudo git clone https://github.com/passbolt/passbolt_api.git /var/www/passbolt

Ändere den Eigentümer des folgenden Verzeichnisses auf den Web-Server-User (Wichtig für die Webseitenausgabe):

sudo chown -R www-data:www-data /var/www/

Wechsel in das Passbolt-Verzeichnis und installiere das Composer-Paket:

cd /var/www/passbolt/

sudo apt install composer

Erstelle ein Verzeichnis für Composer:

sudo mkdir /var/www/.composer

Ändere auch hier den Eigentümer des Verzeichnisses auf den Web-Server-User:

sudo chown -R www-data:www-data /var/www/.composer

Installiere die folgenden Abhängigkeiten (dependencies):

sudo -u www-data composer install --no-dev

Gebe „Y“ ein und drücke die ENTER-Taste, wenn die Ausgabe „Set Folder Permissions ?“ in der Konsole erscheint.

Generierung eines OpenPGP-Schlüssels für die Passbolt Password-Manager Installation (Schritt 4.)

Als Nächstes muss ein OpenPGP-Schlüssel generiert werden. Dieser ist für JSON-Anfragen (JavaScript) unerlässlich. Verwende den folgenden Befehl, um einen OpenPGP-Schlüssel zu erzeugen:

cd /var/www/passbolt
gpg --full-generate-key

Während des Generierung-Prozesses wird die Frage nach er Verwendung einer Passphrase ausgegeben, überspringe diesen Schritt mit der ENTER-Taste, da das PHP-GnuPG-Modul gegenwärtig noch keine Unterstützung für die Verwendung einer Passphrase mitbringt.

Der öffentliche Schlüssel wird für die Einrichtung benötigt. Exportiere den öffentlichen und privaten Schlüssel mit dem folgenden Befehl in das Passbolt-Webverzeichnis:

gpg --armor --export-secret-keys deinemail@beispiel.de > /var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor --export deinemail@beispiel.de > /var/www/passbolt/config/gpg/serverkey.asc

Initialisiere den Keyring des GPG-Schlüssels für den Apache-Benutzer mit dem folgenden Befehl:

sudo su -s /bin/bash -c "gpg --list-keys" www-data

PHP und E-Mail-Konfiguration von Passbolt (Schritt 5.)

Begebe dich in das Passbolt-Webverzeichnis:

cd /var/www/passbolt/

Kopiere die Beispielkonfigurationsdatei und lege eine eigene PHP-Config für Passbolt an:

sudo cp config/passbolt.default.php config/passbolt.php

Öffne die Passbolt-PHP-Konfigurationsdatei jetzt mit dem Nano-Editor:

sudo nano config/passbolt.php

Bearbeite die Datei und definiere eine eigene fullBaseUrl, trage die Datenbank-Zugangsdaten ein und den Fingerprint des öffentlichen Schlüssels (Siehe Beispiel):

Beispiel (Kopieren):

  'fullBaseUrl' => 'https://deine.subdomain.de',

    // Database configuration.

    'Datasources' => [

        'default' => [

            'host' => 'localhost',

            //'port' => 'non_standard_port_number',

            'username' => 'passboltdb',

            'password' => 'password',

            'database' => 'passbolt',

            'serverKey' => [

            // Server private key fingerprint.

            'fingerprint' =>

'H9181DIU819D81X99HWO1922X11O91',

            'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',

            'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',

Tipp:

Der Fingerprint des öffentlichen Schlüssels lässt sich wie folgt auslesen:

gpg --list-keys --fingerprint | grep -i -B 2 deinemail@beispiel.de

Begebe dich in den Bereich „Email configuration“ innerhalb der PHP-Datei und trage eine Mail-Adresse und die Zugangsdaten einer gültigen E-Mail-Adresse ein, damit Passbolt Mails von diesem Konto aus versenden kann:

// Email configuration.

    'EmailTransport' => [

        'default' => [

            'host' => 'smtp-relay.beispielmail.de',

            'port' => 587,

            'username' => 'smtp_username',

            'password' => 'smtp_password',

            // Is this a secure connection? true if yes, null if no.

            'tls' => true,

            //'timeout' => 30,

            //'client' => null,

            //'url' => null,

        ],

    ],

    'Email' => [

        'default' => [

            // Defines the default name and email of the sender of the emails.

            'from' => ['passbolt@example.com' => 'Passbolt'],

            //'charset' => 'utf-8',

            //'headerCharset' => 'utf-8',

        ],

    ],

Speichere die Änderungen (STRG+S) ab und verlasse die Datei anschließend wieder (STRG+X).

Erstelle einen Apache Virtual Host für Passbolt (Schritt 6.)

Verwende den Nano-Editor, um eine Virtual Host Konfigurationsdatei für Passbolt zu erstellen, kopiere den folgenden Inhalt und ersetze die Beispiel-Domain durch deine eigene. Über diese Domain wird das Passbolt-Dashboard später erreichbar sein:

sudo nano /etc/apache2/sites-available/passbolt.conf
<VirtualHost *:80>
ServerName deine.subdomain.de
DocumentRoot /var/www/passbolt/

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

<Directory /var/www/passbolt/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

</VirtualHost>

Speichere die Änderungen ab (STRG+S) und verlasse den Nano-Editor wieder (STRG+X). Aktiviere den Virtual-Host mit dem folgenden Befehl und starte den Apache-Webserver anschließend einmal neu:

sudo a2ensite passbolt.conf

sudo systemctl reload apache2

Eine HTTPS-Verschlüsselung mit einem kostenlosen Let’s Encrypt Zertifikat für Passbolt installieren (Schritt 7.)

Es ist empfohlen, den Passbolt-Server nicht mit HTTP zu verwenden, sondern eine verschlüsselte HTTPS-Verbindung mithilfe eines kostenlosen Let’s Encrypt Zertifikat zu implementieren. Dafür verwenden wir in dieser Installationsanleitung die kostenlose Software Certbot. 

Eine detaillierte Anleitung inklusive Einrichtung eines Cronjobs für die Installation kannst du hier abrufen: https://www.veuhoff.net/ssl-zertifikat-installieren-mit-certbot-und-lets-encrypt/

Verwende den folgenden Befehl, um Certbot auf deinem Server zu installieren:

sudo apt install python3-certbot-apache

Beziehe mit diesem Befehl ein kostenloses SSL-Zertifikat von Let’s Encrypt (ändere die E-Mail-Adresse und die Domain):

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email deine@email.de -d deine.subdomain.de

Von nun an ist der Passbolt-Server mit einem Let’s Encrypt Zertifikat gesichert und die Verbindung ist verschlüsselt.

Passbolt-Installationsskript ausführen (Schritt 8.)

Die Installation von Passbolt ist jetzt fast abgeschlossen. Begebe dich in das Webverzeichnis von Passbolt und führe das Passbolt-Installationsskript wie angegeben aus:

cd /var/www/passbolt

sudo su -s /bin/bash -c "./bin/cake passbolt install --no-admin" www-data

Die Installation dauert nur wenige Sekunden bis Minuten. Sobald Passbolt erfolgreich installiert worden ist, erhältst du die Ausgabe „Passbolt installation success! Enjoy!

An diesem Schritt ist die Installation auf der Serverseite komplett abgeschlossen. Die Einrichtung und Konfiguration erfolgen jetzt über den Browser. Rufe an einem Client im selben Netzwerk die IP-Adresse oder die vergebene Domain deines Passbolt-Servers auf.

Es wird ein Browser-Plugin (Erweiterung für den Browser) von Passbolt benötigt:

Passbolt Browser-Plugin für Firefox: https://addons.mozilla.org/en-US/firefox/addon/passbolt/

Passbolt Browser-Plugin für Google Chrome: https://chrome.google.com/webstore/detail/passbolt-open-source-pass/didegimhafipceonhjepacocaffmoppf?utm_source=chrome-ntp-icon

Erstelle ein Admin-Benutzerkonto für Passbolt (Schritt 9.)

Erstelle ein Admin-Benutzerkonto für die Administration von Passbolt. Von diesem Konto aus wird die Weboberfläche bedient, Konfigurationen vorgenommen und komplett verwaltet:

cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u deinemail@beispielmail.de -f passboltadminname -l Demo -r admin" www-data

Anschließend wird der folgende Inhalt ausgegeben „User saved successfully“. Kopiere den angezeigten Link und füge ihn in den Browser ein, um mit dem Installationsassistenten im Browser zu beginnen. Die Einrichtung über den Browser dauert keine 5-Minuten und ist sehr selbsterklärend.

Gratulation! Du hast deinen eigenen Passbolt-Passwortmanager auf einem Linux Ubuntu / Debian Server installiert. Erstelle verschiedene Benutzer und Gruppen, füge beliebig viele Passwörter und Zugangsdaten für dein Team/Unternehmen hinzu.

Passbolt Installation Linux

Schreibe einen Kommentar

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