Installieren und Konfigurieren von Passbolt Team Password Manager unter Ubuntu 20.04

Passbolt ist ein kostenloser, quelloffener, selbst gehosteter und erweiterbarer Passwortmanager, der Sie dabei unterstützt, Anmeldeinformationen, wie das Passwort des Routers, der Website, Wi-Fi und mehr, sicher weiterzugeben und zu speichern. Er unterscheidet sich von anderen Passwortmanagern. Er ist auf die Verwendung im Team und nicht auf Einzelpersonen ausgerichtet. Er ist sowohl als Community- als auch als kostenpflichtige Version erhältlich. Es bietet eine Vielzahl von Funktionen, von denen einige unten aufgeführt sind:

  • Bietet Firefox- und Google Chrome-Erweiterungen.
  • Verwenden Sie OpenPGP, um das Kennwort zu verschlüsseln.
  • Einfache und benutzerfreundliche Webschnittstelle.
  • Ermöglicht den Import und Export von Passwörtern.
  • Ermöglicht das manuelle Hinzufügen von Anmeldedaten.

In diesem Tutorial werden wir erklären, wie man den Passbolt Password Manager mit Apache und Let’s Encrypt unter Ubuntu 20.04 installiert.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Ein gültiger Domain-Name, der auf Ihre Server-IP zeigt.
  • Der Server wird mit einem Root-Passwort konfiguriert.

LAMP-Server installieren

Zuerst müssen Sie Apache und MariaDB-Server in Ihrem System installieren. Sie können sie mit dem folgenden Befehl installieren:

apt-get install apache2 mariadb-server -y

Nachdem Sie die oben genannten Pakete installiert haben, müssen Sie auch PHP und andere erforderliche Pakete in Ihrem System installieren.

Standardmäßig wird Ubuntu 20.04 mit PHP7.4 in seinem Standard-Repository ausgeliefert. Passbolt unterstützt jedoch PHP7.4 nicht. Daher müssen Sie das PHP-Repository in Ihrem System hinzufügen.

Installieren Sie zunächst die erforderlichen Pakete mit dem folgenden Befehl:

apt-get install software-properties-common gnupg -y

Fügen Sie als nächstes das PHP-Repository mit folgendem Befehl hinzu:

add-apt-repository ppa:ondrej/php --yes

Installieren Sie anschließend die PHP-Version 7.3 mit Composer und anderen erforderlichen Erweiterungen mit folgendem Befehl:

apt-get install php7.3 php7.3-mysql libapache2-mod-php7.3 php7.3-intl php7.3-mbstring php7.3-gd php7.3-imagick php7.3-xml php7.3-common php7.3-curl php7.3-json php7.3-ldap php7.3-gnupg zlib1g unzip git composer curl -y

Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.

MariaDB-Datenbank konfigurieren

Zuerst müssen Sie die MariaDB-Installation sichern und das MariaDB-Root-Passwort festlegen. Sie können dies mit dem folgenden Befehl tun:

mysql_secure_installation

Dieses Skript setzt das MariaDB-Root-Passwort, entfernt anonyme Benutzer, sperrt die Remote-Anmeldung von Root und entfernt die Testdatenbank und den Zugriff darauf wie unten gezeigt:

Enter current password for root (enter for none): 
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 gesichert ist, melden Sie sich in der MariaDB-Shell mit dem folgenden Befehl an:

mysql -u root -p

Geben Sie Ihr Root-Passwort an, wenn Sie dazu aufgefordert werden, und erstellen Sie dann eine Datenbank und einen Benutzer für Passbolt mit dem folgenden Befehl:

MariaDB [(none)]> CREATE DATABASE passboltdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL on passboltdb.* to passbolt@localhost identified by 'password';

Anschließend leeren Sie die Privilegien und verlassen die MariaDB mit folgendem Befehl:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Herunterladen und Konfigurieren von Passbolt

In diesem Abschnitt erfahren wir, wie Sie Passbolt herunterladen und konfigurieren:

Passbolt herunterladen

Laden Sie zunächst die neueste Version des Passbolts mit folgendem Befehl in das Apache-Web-Stammverzeichnis herunter:

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

Ändern Sie nach dem Herunterladen den Besitzer des Passbolts mit dem folgenden Befehl in www-data:

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

Ändern Sie als nächstes das Verzeichnis auf passbolt und installieren Sie die erforderlichen Abhängigkeiten mit dem folgenden Befehl:

cd /var/www/passbolt
sudo -u www-data composer install --no-dev

Sie sollten die folgende Ausgabe erhalten:

> Cake\Composer\Installer\PluginInstaller::postAutoloadDump
9 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
thadafinser/package-info:  Generating class...
thadafinser/package-info: ...generating class
> App\Console\Installer::postInstall
Created `config/app.php` file
Created `/var/www/passbolt/logs` directory
Created `/var/www/passbolt/tmp/cache/models` directory
Created `/var/www/passbolt/tmp/cache/persistent` directory
Created `/var/www/passbolt/tmp/cache/views` directory
Created `/var/www/passbolt/tmp/sessions` directory
Created `/var/www/passbolt/tmp/tests` directory
Set Folder Permissions ? (Default to Y) [Y,n]? Y

Geben Sie Y ein und drücken Sie Enter, um die Ordnerberechtigungen festzulegen.

OpenPGP-Schlüssel erzeugen

Als nächstes müssen Sie einen OpenPGP-Schlüssel generieren, um ausgehende JSON-Anfragen zu authentifizieren und zu signieren. Sie können ihn mit dem folgenden Befehl erzeugen:

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

Während des Vorgangs werden Sie nach der Passphrase gefragt, drücken Sie einfach die Tab-Taste, wählen Sie OK und bestätigen Sie, dass Sie diese nicht setzen wollen, da das php-gnupg-Modul die Verwendung der Passphrase im Moment nicht unterstützt.

gpg (GnuPG) 2.2.19; Copyright (C) 2019 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
  (14) Existing key from card
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y

GnuPG needs to construct a user ID to identify your key.

Real name: Hitesh
Email address: hitjethva1981@gmail.com
Comment: Hi
You selected this USER-ID:
    "Hitesh (Hi) <hitjethva1981@gmail.com>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 2DA8E7FB8E23B2FD marked as ultimately trusted
gpg: directory '/root/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/9622291A72D99A4EC78ABCB92DA8E7FB8E23B2FD.rev'
public and secret key created and signed.

pub   rsa4096 2020-07-25 [SC]
      D2394A45B7CBBAB7F00CC79B23D4750486780854
uid                      Hitesh (Hi) <hitjethva1981@gmail.com>
sub   rsa4096 2020-07-25 [E]

Bitte merken Sie sich den obigen Fingerabdruck des öffentlichen Schlüssels, da er später bei der Einrichtung benötigt wird.

Als nächstes exportieren Sie den öffentlichen und den privaten Schlüssel mit den folgenden Befehlen in das Verzeichnis ‚/var/www/passbolt‘:

gpg --armor --export-secret-keys hitjethva1981@gmail.com > /var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor --export hitjethva1981@gmail.com > /var/www/passbolt/config/gpg/serverkey.asc

Als nächstes müssen Sie den Keyring des gpg-Schlüssels für den Apache-Benutzer initialisieren. Sie können dies mit dem folgenden Befehl tun:

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

Sie sollten die folgende Ausgabe erhalten:

gpg: directory '/var/www/.gnupg' created
gpg: keybox '/var/www/.gnupg/pubring.kbx' created
gpg: /var/www/.gnupg/trustdb.gpg: trustdb created

Durchgangsbolzen konfigurieren

 

Kopieren Sie zunächst die Beispielkonfigurationsdatei für Passbolt mit dem folgenden Befehl:

cp /var/www/passbolt/config/passbolt{.default,}.php

Bearbeiten Sie dann die Passbolt-Konfigurationsdatei mit folgendem Befehl::

nano /var/www/passbolt/config/passbolt.php

Definieren Sie Ihre Fullbaseurl, Ihre Datenbank und Ihren Fingerabdruck des öffentlichen Schlüssels wie unten gezeigt:

        'fullBaseUrl' => 'https://passbolt.linuxbuz.com',
    // Database configuration.

    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'password',
            'database' => 'passboltdb',
            'serverKey' => [
            // Server private key fingerprint.
            'fingerprint' => 'D2394A45B7CBBAB7F00CC79B23D4750486780854',
            'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
            'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Wenn Sie sich nicht mehr an den Fingerabdruck Ihres öffentlichen Schlüssels erinnern, können Sie ihn mit dem folgenden Befehl abrufen:

gpg --list-keys --fingerprint | grep -i -B 2 hitjethva1981@gmail.com

Sie sollten die folgende Ausgabe erhalten:

gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   rsa4096 2020-07-25 [SC]
      D239 4A45 B7CB BAB7 F00C  C79B 23D4 7504 8678 0854
uid           [ultimate] Hitesh (Hi) <hitjethva1981@gmail.com>

Konfigurieren Sie Apache für Passbolt

Als nächstes müssen Sie eine Apache-Konfigurationsdatei für den virtuellen Host für Passbolt erstellen. Sie können diese mit dem folgenden Befehl erstellen:

nano /etc/apache2/sites-available/passbolt.conf

Fügen Sie die folgenden Zeilen hinzu:

<VirtualHost *:80>

        ServerName passbolt.linuxbuz.com
        DocumentRoot /var/www/passbolt

        ErrorLog ${APACHE_LOG_DIR}/passbolt_error.log
        CustomLog ${APACHE_LOG_DIR}/passbolt_access.log combined


      <Directory /var/www/passbolt/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
        </Directory>

</VirtualHost>

Speichern und schließen Sie die Datei, aktivieren Sie dann die Datei des virtuellen Hosts und starten Sie den Apache-Dienst mit dem folgenden Befehl neu:

a2ensite passbolt
systemctl restart apache2

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Sicherer Passbolzen mit Let’s Encrypt

Um Ihre Website mit Let’s Encrypt SSL zu sichern, müssen Sie das Certbot-Client-Dienstprogramm in Ihrem System installieren, um das SSL-Zertifikat zu verwalten.

Sie können ihn mit dem folgenden Befehl installieren:

apt-get install python3-certbot-apache -y

Nach der Installation führen Sie den folgenden Befehl aus, um Ihre Website mit Let’s Encrypt SSL zu sichern:

certbot --apache -d passbolt.linuxbuz.com

Sie werden gebeten, Ihre E-Mail einzugeben und den unten aufgeführten Bedingungen zuzustimmen:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): hitjethva1981@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for passbolt.linuxbuz.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/passbolt-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/passbolt-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/passbolt-le-ssl.conf

Wählen Sie als nächstes aus, ob HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht, wie unten gezeigt:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Geben Sie 2 ein und drücken Sie Enter, um Let’s Encrypt SSL für Ihre Website zu installieren:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/passbolt.conf to ssl vhost in /etc/apache2/sites-available/passbolt-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://passbolt.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=passbolt.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Zu diesem Zeitpunkt ist Ihre Website mit Let’s Encrypt SSL gesichert.

Passbolt installieren

Anschließend können Sie Passbolt installieren, indem Sie das Passbolt-Installationsskript ausführen.

Ändern Sie zunächst das Verzeichnis in /var/www/passbolt:

cd /var/www/passbolt

Führen Sie als nächstes das Passbolt-Installationsskript mit dem folgenden Befehl aus:

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

Sobald die Installation erfolgreich abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:

All Done. Took 1.6533s

Import the server private key in the keyring
---------------------------------------------------------------
Importing /var/www/passbolt/config/gpg/serverkey_private.asc
Keyring init OK

Passbolt installation success! Enjoy! ?

Als nächstes müssen Sie die Einrichtung von Passbolt vom Browser aus abschließen. Öffnen Sie Ihren Webbrowser und besuchen Sie die URL https://passbolt.linuxbuz.com. Sie sollten den folgenden Bildschirm sehen:

Passbolzen-Download

Hier müssen Sie ein Plugin für Ihren Browser herunterladen und installieren. Klicken Sie auf das Plugin herunterladen, um das Passbolt-Plugin herunterzuladen und zu installieren. Sobald das Plugin installiert ist, können Sie mit dem nächsten Schritt fortfahren.

Zugang zur Passbolt-Webschnittstelle

Bevor Sie beginnen, müssen Sie einen Admin-Benutzer erstellen und ein Passwort für Passbolt festlegen. Sie können dies mit dem folgenden Befehl tun:

cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u hitjethva1981@gmail.com -f howtoforge -l Demo -r admin" www-data

Sie sollten die folgende Ausgabe erhalten:

     ____                  __          ____  
    / __ \____  _____ ____/ /_  ____  / / /_ 
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ 
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /    
 /_/    \__,_/____/____/_.___/\____/_/\__/   

 Open source password manager for teams
---------------------------------------------------------------
User saved successfully.
To start registration follow the link provided in your mailbox or here: 
https://passbolt.linuxbuz.com/setup/install/5bcfb186-3d9f-448f-8388-f705abd855c8/a2ba80dc-5ef2-433a-9138-11282747b377

Kopieren Sie nun den Link aus der obigen Ausgabe und verwenden Sie ihn, um die Einrichtung von Passbolt im Browser abzuschließen. Sie sollten den folgenden Bildschirm sehen:

Get Passbolt Plugin

Bestätigen Sie, dass die URL und der Fingerabdruck des GPG-Schlüssels in Ordnung sind und klicken Sie auf die Schaltfläche Weiter. Sie sollten den folgenden Bildschirm sehen:

Neuen Schlüssel erstellen

Geben Sie den Namen und die E-Mail-Adresse des Eigentümers an und klicken Sie auf die Schaltfläche Weiter. Sie sollten den folgenden Bildschirm sehen:

Passphrase setzen

Legen Sie Ihr Passwort fest und klicken Sie auf die Schaltfläche Weiter. Sie sollten den folgenden Bildschirm sehen: Stellen Sie Ihr Passwort ein und klicken Sie auf die Schaltfläche Weiter:

Sicherung erstellen

Laden Sie Ihren geheimen Schlüssel herunter und klicken Sie auf die Schaltfläche Next. Sie sollten den folgenden Bildschirm sehen:

Sicherheits-Token einstellen

Stellen Sie ein Sicherheits-Token ein und klicken Sie auf die Schaltfläche Weiter. Sie sollten den folgenden Bildschirm sehen:

Anmeldung mit Passbolzen

Geben Sie Ihren Benutzernamen und Ihr Passwort ein und klicken Sie auf den Login-Button. Auf dem folgenden Bildschirm sollten Sie das Passbolt-Dashboard sehen:

Passwort-Manager des Passbolt-Teams

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben den Passbolt-Passwortmanager mit Let’s Encrypt SSL erfolgreich auf dem Ubuntu 20.04-Server installiert. Sie können nun Ihre Passwörter speichern und mit Ihren Teams und einzelnen Benutzern teilen. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …