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

So installieren Sie Passbolt Password Manager auf Ubuntu 18.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 teilen und speichern können. Dieses Tutorial zeigt Ihnen, wie Sie Passbolt Community Edition (CE) installieren. auf Ubuntu 18.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 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 Anmeldedaten manuell hinzufügen.

Sie haben vielleicht schon von anderen selbst gehosteten Passwort-Managern wie Bitwarden gehört, aber es erfordert die Installation von Docker, sodass es nur auf 64-Bit-Computern funktioniert. Dieses Passbolt-Tutorial funktioniert sowohl auf 32-Bit- als auch auf 64-Bit-Computern.

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

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

  • So installieren Sie LAMP Stack auf Ubuntu 18.04 Server/Desktop

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

  • So installieren Sie LEMP Stack (Nginx, MariaDB, PHP7.2) auf Ubuntu 18.04 LTS

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

Schritt 1:Laden Sie Passbolt auf Ihren Ubuntu 18.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 den folgenden Befehl 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/

Verzeichnis wechseln.

cd /var/www/passbolt/

Installieren Sie Composer – den PHP-Abhängigkeitsmanager.

sudo apt install 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

Jetzt müssen wir uns bei der MariaDB-Konsole anmelden und eine Datenbank und einen Benutzer für Passbolt erstellen. Standardmäßig verwendet das MaraiDB-Paket auf Ubuntu unix_socket um die Benutzeranmeldung zu authentifizieren, was im Grunde bedeutet, dass Sie den Benutzernamen und das Passwort des Betriebssystems verwenden können, um sich bei der MariaDB-Konsole anzumelden. Sie können also den folgenden Befehl ausführen, um sich anzumelden, ohne das MariaDB-Root-Passwort anzugeben.

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:Erforderliche und empfohlene PHP-Module installieren.

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.2-common php7.2-mysql php7.2-fpm php7.2-ldap php7.2-gd php7.2-imap php7.2-json php7.2-curl php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl php7.2-gmp php7.2-xsl

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

sudo systemctl restart apache2

Schritt 4: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

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, drücken Sie einfach die Tabulatortaste und wählen Sie OK, da das php-gnupg-Modul die Verwendung einer Passphrase derzeit nicht unterstützt.

Kopieren Sie den privaten Schlüssel an den Speicherort der Passbolt-Konfiguration:

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 5: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 im Abschnitt Datenbankname, Datenbankbenutzername und Kennwort ein, die Sie zuvor 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 auf true setzen, damit 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 schnell Ihren eigenen Mailserver auf Ubuntu 18.04 mit Modoboa ein

Hinweis:Wenn Passbolt auf demselben Rechner wie Ihr Mailserver installiert ist, müssen Sie den Benutzernamen und das Passwort nicht im EmailTransport angeben . Kommentieren Sie diese beiden Zeilen einfach mit // aus. 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 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.

sudo 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 6: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 7: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;
   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.2-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 8: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 18.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 den Strict-Transport-Security-Header zu jeder HTTP-Antwort 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 9: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 den vorhandenen Schlüssel zu importieren.

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.

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… stecken 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 die folgenden benutzerdefinierten Regelausschlüsse in ModSecurity hinzufügen.

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