GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Passbolt Password Manager auf Ubuntu 20.04 Server

Passbolt ist ein selbst gehosteter Open-Source-Passwort-Manager, mit dem Sie Anmeldeinformationen für Websites, Router-Passwörter, Wi-Fi-Passwörter usw. sicher speichern und teilen können. Dieses Tutorial zeigt Ihnen, wie Sie Passbolt Community Edition (CE) installieren. auf Ubuntu 20.04 mit Apache- oder Nginx-Webserver.

Passbolt-Funktionen

  • Kostenlos und Open Source
  • Passwörter werden mit OpenPGP verschlüsselt, einem bewährten kryptografischen Standard.
  • Browsererweiterungen sind für Firefox und Google Chrome verfügbar.
  • Teilen Sie Anmeldeinformationen einfach mit Ihrem Team, ohne die Sicherheit zu gefährden.
  • Saubere, benutzerfreundliche Oberfläche.
  • Passwörter importieren und exportieren. Sie können Ihre Passwörter nach .kdbx exportieren oder .csv Dateiformat zur Verwendung mit KeepassX, LastPass oder 1password.
  • Sie können Anmeldedaten manuell hinzufügen.

Voraussetzungen für die Installation von Passbolt auf Ubuntu 20.04 Server

Passbolt ist in PHP geschrieben und stützt sich auf einen MySQL/MariaDB-Datenbankserver. Sie müssen also einen LAMP-Stack oder LEMP-Stack einrichten, bevor Sie Passbolt installieren. Wenn Sie den Apache-Webserver bevorzugen, richten Sie den LAMP-Stack ein.

  • So installieren Sie LAMP Stack auf Ubuntu 20.04

Wenn Sie den Nginx-Webserver bevorzugen, richten Sie den LEMP-Stack ein.

  • So installieren Sie den LEMP-Stack auf Ubuntu 20.04

Sie benötigen außerdem einen Domänennamen, damit Sie von überall mit einem Webbrowser sicher auf Passbolt zugreifen können. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und sie Whois-Datenschutz lebenslang kostenlos anbieten.

Nachdem die oben genannten Anforderungen erfüllt sind, befolgen Sie die nachstehenden Anweisungen, um Passbolt zu installieren.

Schritt 1:Laden Sie Passbolt auf Ihren Ubuntu 20.04-Server herunter

Wenn Sie auf die offizielle Website gehen, um Passbolt herunterzuladen, müssen Sie Ihren Namen und Ihre E-Mail-Adresse eingeben. Wenn Ihnen das nicht gefällt, laden Sie die neueste stabile Version von Github herunter, indem Sie die folgenden Befehle auf Ihrem Server ausführen.

sudo apt install git

cd /var/www/

sudo git clone https://github.com/passbolt/passbolt_api.git

Die Dateien werden in passbolt_api gespeichert Verzeichnis. Wir benennen es in passbolt um .

sudo mv passbolt_api passbolt

Machen Sie dann den Webserver-Benutzer (www-data ) als Eigentümer dieses Verzeichnisses.

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

Führen Sie den folgenden Befehl aus, um PHP-Module zu installieren, die von Passbolt benötigt oder empfohlen werden

sudo apt install php-imagick php-gnupg php7.4-common php7.4-mysql php7.4-fpm php7.4-ldap php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp php7.4-xsl

Starten Sie dann Apache neu. (Wenn Sie Nginx verwenden, müssen Sie Nginx nicht neu starten.)

sudo systemctl restart apache2

Verzeichnis wechseln.

cd /var/www/passbolt/

Installieren Sie Composer – den PHP-Abhängigkeitsmanager.

sudo apt install composer

Cache-Verzeichnis für Composer erstellen.

sudo mkdir /var/www/.composer

Machen Sie www-data als Eigentümer.

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

Verwenden Sie Composer, um Abhängigkeiten zu installieren.

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

Wenn Sie aufgefordert werden, Ordnerberechtigungen festzulegen, wählen Sie Y .

Schritt 2:Erstellen Sie eine MariaDB-Datenbank und einen Benutzer für Passbolt

Melden Sie sich bei der MariaDB-Konsole an.

sudo mysql -u root

Erstellen Sie als Nächstes mit dem folgenden Befehl eine neue Datenbank für Passbolt. Dieses Tutorial nennt es passbolt , können Sie einen beliebigen Namen für die Datenbank verwenden. Wir geben auch utf8mb4 an als Zeichensatz zur Unterstützung nicht-lateinischer Zeichen und Emojis.

CREATE DATABASE passbolt DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Der folgende Befehl erstellt einen Datenbankbenutzer und ein Passwort und gewährt dem neuen Benutzer gleichzeitig alle Berechtigungen für die neue Datenbank, damit Passbolt später in die Datenbank schreiben kann. Ersetzen Sie rote Texte durch Ihren bevorzugten Datenbanknamen, Benutzernamen und Passwort.

GRANT ALL ON passbolt.* TO 'passboltuser'@'localhost' IDENTIFIED BY 'password';

Berechtigungstabelle leeren und MariaDB-Konsole verlassen.

FLUSH PRIVILEGES;

EXIT;

Schritt 3:OpenPGP-Schlüssel generieren

Wenn Sie einen VPS (Virtual Private Server) verwenden, wird empfohlen, haveged zu installieren Paket, um genügend Entropie zu erzeugen.

sudo apt install haveged

Der haveged.service wird nach der Installation automatisch gestartet. Sie können den Status überprüfen mit:

sudo systemctl status haveged

Führen Sie dann den folgenden Befehl aus, um ein neues Schlüsselpaar zu generieren.

gpg --gen-key

Sie werden aufgefordert, Ihren Namen und Ihre E-Mail-Adresse einzugeben. Wenn Sie aufgefordert werden, eine Passphrase festzulegen, überspringen Sie diese, indem Sie die Tabulatortaste drücken und OK auswählen, da das php-gnupg-Modul die Verwendung einer Passphrase derzeit nicht unterstützt.

Kopieren Sie den privaten Schlüssel in den Speicherort der Passbolt-Konfiguration. Ersetzen Sie [email protected] mit der E-Mail-Adresse beim Generieren des PGP-Schlüssels.

gpg --armor --export-secret-keys [email protected] | sudo tee /var/www/passbolt/config/gpg/serverkey_private.asc > /dev/null

Und kopieren Sie auch den öffentlichen Schlüssel.

gpg --armor --export [email protected] | sudo tee /var/www/passbolt/config/gpg/serverkey.asc > /dev/null

Initialisieren Sie die www-data Schlüsselbund des Benutzers.

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

Schritt 4:Passbolt konfigurieren

Stellen Sie sicher, dass Sie sich in /var/www/passbolt/ befinden Verzeichnis.

cd /var/www/passbolt/

Kopieren Sie die Beispielkonfigurationsdatei in eine Produktionskonfigurationsdatei.

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

Bearbeiten Sie die Konfigurationsdatei mit einem Befehlszeilen-Texteditor wie Nano.

sudo nano config/passbolt.php

Suchen Sie zuerst die folgende Zeile.

'fullBaseUrl' => 'https://www.passbolt.test',

Ersetzen Sie die URL durch Ihre eigene URL, z. B. https://passbolt.yourdomain.com . Vergessen Sie nicht, einen DNS-A-Eintrag für diese Subdomain in Ihrem DNS-Eintragsmanager zu erstellen.

In der database configuration geben Sie den Datenbanknamen, den Datenbankbenutzernamen und das Passwort ein, die Sie in Schritt 2 erstellt haben.

    // Database configuration.
    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'user',
            'password' => 'secret',
            'database' => 'passbolt',
        ],
    ],

In der email configuration Abschnitt,

  • Geben Sie den SMTP-Hostnamen, die Portnummer und die Anmeldeinformationen an, damit Ihr Passbolt E-Mails senden kann. Normalerweise müssen Sie Port 587 verwenden, um E-Mails an den Remote-SMTP-Server zu senden. Stellen Sie sicher, dass Sie tls eingestellt haben auf true , sodass die SMTP-Transaktion verschlüsselt wird.
  • Stellen Sie auch den From: ein E-Mail-Adresse und Absendername.
    // Email configuration.
    'EmailTransport' => [
        'default' => [
            'host' => 'mail.yourdomain.com',
            'port' => 587,
            'username' => '[email protected]',
            'password' => 'secret',
            // 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' => ['[email protected]_organization.com' => 'Passbolt'],
            //'charset' => 'utf-8',
            //'headerCharset' => 'utf-8',
        ],
    ],

Um ganz einfach Ihren eigenen E-Mail-Server einzurichten, sehen Sie sich bitte das folgende Tutorial an.

  • So richten Sie mit iRedMail ganz einfach Ihren eigenen Mailserver auf Ubuntu 20.04 ein

Hinweis :Wenn Passbolt auf demselben Rechner wie Ihr Mailserver installiert ist, müssen Sie den Benutzernamen und das Passwort nicht im EmailTransport angeben . Verwenden Sie einfach // diese beiden Zeilen auskommentieren. Der folgende Screenshot zeigt eine Beispielkonfiguration für dieses Szenario.


Geben Sie im gpg-Abschnitt den Fingerabdruck des GPG-Schlüssels wie unten ein. Sie müssen alle Leerzeichen im Fingerabdruck löschen.

'fingerprint' => '2FC8945833C51946E937F9FED47B0811573EE67E',

Sie können Ihren Schlüsselfingerabdruck mit dem folgenden Befehl abrufen. Ersetzen Sie [email protected] mit Ihrer E-Mail-Adresse beim Generieren des PGP-Schlüsselpaars.

gpg --list-keys --fingerprint | grep -i -B 2 '[email protected]'

Entkommentieren Sie nach Eingabe des Fingerabdrucks die folgenden zwei Zeilen.

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

Speichern und schließen Sie die Datei.

Schritt 5:Führen Sie das Installationsskript aus

Führen Sie das Installationsskript als www-data aus Benutzer.

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

Während der Installation werden Sie aufgefordert, ein Administratorkonto zu erstellen.

Sobald Sie ein Konto erstellt haben, wird Ihnen eine URL zur Verfügung gestellt, um die Installation im Webbrowser abzuschließen . Zuvor müssen wir den Webserver mit Apache oder Nginx konfigurieren.

Schritt 6:Apache Virtual Host oder Nginx-Konfigurationsdatei für Passbolt erstellen

Apache

Wenn Sie den Apache-Webserver verwenden, erstellen Sie einen virtuellen Host für Passbolt.

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

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie passbolt.example.com mit Ihrem echten Domainnamen und vergessen Sie nicht, dafür einen DNS-A-Eintrag festzulegen. Beachten Sie auch, dass der Webstamm für Passbolt /var/www/passbolt/webroot/ ist , nicht /var/www/passbolt/ .

<VirtualHost *:80>
  ServerName passbolt.exmaple.com
  DocumentRoot /var/www/passbolt/webroot/

  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>
zulassen

Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host mit:

sudo a2ensite passbolt.conf

Laden Sie Apache neu, damit die Änderungen wirksam werden.

sudo systemctl reload apache2

Nginx

Wenn Sie den Nginx-Webserver verwenden, erstellen Sie einen virtuellen Host für Passbolt.

sudo nano /etc/nginx/conf.d/passbolt.conf

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie passbolt.example.com mit Ihrem echten Domainnamen und vergessen Sie nicht, dafür einen DNS-A-Eintrag festzulegen. Beachten Sie auch, dass der Webstamm für Passbolt /var/www/passbolt/webroot/ ist , nicht /var/www/passbolt/ .

server {
   listen 80;
   listen [::]:80;
   server_name passbolt.example.com;

   root /var/www/passbolt/webroot/;
   error_log /var/log/nginx/passbolt.error;
   access_log /var/log/nginx/passbolt.access;

   index index.php index.html index.htm index.nginx-debian.html;

   location / {
     try_files $uri $uri/ /index.php?$query_string;
   }

   location ~ \.php$ {
     # try_files $uri =404;
     fastcgi_split_path_info ^(.+\.php)(/.+)$;
     # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

     fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;

     fastcgi_buffer_size 128k;
     fastcgi_buffers 256 16k;
     fastcgi_busy_buffers_size 256k;
     fastcgi_temp_file_write_size 256k;
   }

    # Don't log favicon
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    # Don't log robots
    location = /robots.txt  {
        access_log off;
        log_not_found off;
    }

    # Deny all attempts to access hidden files/folders such as .htaccess, .htpasswd, .DS_Store (Mac), etc...
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    # Deny all grunt, composer files
    location ~* (Gruntfile|package|composer)\.(js|json)$ {
        deny all;
        access_log off;
        log_not_found off;
    }

     # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die Änderungen wirksam werden.

sudo systemctl reload nginx

Schritt 7:HTTPS aktivieren

Um den HTTP-Verkehr zu verschlüsseln, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) auf dem Ubuntu 20.04-Server zu installieren.

sudo apt install certbot

Wenn Sie Nginx verwenden, müssen Sie auch das Certbot Nginx-Plugin installieren.

sudo apt install python3-certbot-nginx

Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d passbolt.example.com

Wenn Sie Apache verwenden, installieren Sie das Certbot Apache-Plugin.

sudo apt install python3-certbot-apache

Und führen Sie diesen Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d passbolt.example.com

Wo

  • --nginx :Verwenden Sie das nginx-Plugin.
  • --apache :Verwenden Sie das Apache-Plugin.
  • --agree-tos :Nutzungsbedingungen akzeptieren.
  • --redirect :HTTPS durch 301-Umleitung erzwingen.
  • --hsts :Fügen Sie jeder HTTP-Antwort den Strict-Transport-Security-Header hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.
  • --staple-ocsp :Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.

Das Zertifikat sollte nun abgerufen und automatisch installiert werden.

Schritt 8:Schließen Sie die Passbolt-Installation im Webbrowser ab

Zuerst müssen Sie die Passbolt-Erweiterung in Ihrem Firefox- oder Google Chrome-Browser installieren.

  • Passbolt-Erweiterung für Firefox
  • Passbot-Erweiterung für Google Chrome

Kopieren Sie nun die URL, die Sie nach dem Ausführen des Installationsskripts erhalten haben, und fügen Sie sie in die Adressleiste Ihres Browsers ein. Sie sehen den webbasierten Einrichtungsassistenten. Der erste Schritt besteht darin, sicherzustellen, dass Ihr Domänen- und Serverschlüssel-Fingerabdruck korrekt sind.

Klicken Sie im zweiten Schritt einfach auf die Schaltfläche Weiter, um einen neuen Schlüssel zu erstellen.

Erstellen Sie im dritten Schritt eine Passphrase.

Laden Sie dann den verschlüsselten geheimen Schlüssel herunter und bewahren Sie ihn an einem sicheren Ort auf. Dieser Schlüssel kann nur mit Ihrer Passphrase entschlüsselt werden.

Setzen Sie im 4. Schritt ein Sicherheitstoken.

Schließlich können Sie sich mit Ihrer Passphrase anmelden.

Jetzt können Sie ein Passwort erstellen, ein Passwort aus einer CSV- oder KDBX-Datei importieren.

Schritt 8:Cron-Job zum automatischen Senden von E-Mails einrichten

Um System-E-Mails zu senden, führen Sie den folgenden Befehl aus.

sudo -u www-data /var/www/passbolt/bin/cake EmailQueue.sender

Sie können den Befehl in der Crontab-Datei des www-data-Benutzers hinzufügen, um E-Mails automatisch zu verarbeiten.

sudo crontab -u www-data -e

Fügen Sie die folgende Zeile in die Datei ein, um E-Mails jede Minute zu verarbeiten.

* * * * * /var/www/passbolt/bin/cake EmailQueue.sender

Speichern und schließen Sie die Datei.

(Optional) ModSecurity einrichten

Vielleicht möchten Sie auch die ModSecurity einrichten Webanwendungs-Firewall zum Schutz Ihrer PHP-Webanwendungen vor Hackerangriffen. Wenn Sie den Apache-Webserver unter Debian/Ubuntu verwenden, lesen Sie das folgende Tutorial.

  • So richten Sie ModSecurity mit Apache unter Debian/Ubuntu ein

Wenn Sie den Nginx-Webserver unter Debian/Ubuntu verwenden, lesen Sie das folgende Tutorial:

  • So richten Sie ModSecurity mit Nginx unter Debian/Ubuntu ein

Fehlerbehebung

Wenn Sie versuchen, ein Passwort zu erstellen, aber bei „Atmen Sie tief durch und genießen Sie es, im gegenwärtigen Moment zu sein… hängen bleiben “, liegt es wahrscheinlich daran, dass in Ihrer Apache- oder Nginx-Konfigurationsdatei etwas nicht stimmt. Wenn Sie die Apache/Nginx-Konfiguration aus dem Artikel kopieren, sollten Sie beim Erstellen des Passworts keine Probleme haben.

Wenn Sie die Webanwendungs-Firewall von ModSecurity aktiviert haben und Serverschlüssel konnte nicht überprüft werden angezeigt wird Fehler.

dann müssen Sie den folgenden benutzerdefinierten Regelausschluss hinzufügen in ModSecurity.

SecRule REQUEST_URI "@streq /auth/verify.json?api-version=v2" "id:1060,phase:2,ctl:ruleRemoveById=942100"

Und starten Sie Ihren Webserver neu.

sudo systemctl restart apache2

oder

sudo systemctl restart nginx

Ubuntu
  1. So installieren Sie einen Desktop (GUI) auf einem Ubuntu-Server

  2. So installieren Sie MySQL unter Ubuntu 20.04

  3. So installieren Sie MySQL unter Ubuntu 18.04

  4. So installieren Sie TeamPass Password Manager unter Ubuntu 20.04

  5. So installieren Sie CS-Cart unter Ubuntu 18.04

So installieren Sie KeePass Password Manager unter Ubuntu 16.04 LTS

So installieren Sie KeeWeb Password Manager unter Ubuntu 20.04 LTS

So installieren Sie MYKI Password Manager unter Ubuntu 20.04 LTS

So installieren Sie Teampass Password Manager auf Ubuntu 20.04 LTS

So installieren Sie Passbolt Password Manager unter Ubuntu 18.04

So installieren Sie den Bitwarden Password Manager unter Ubuntu 20.04