GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie den selbstgehosteten Passwort-Manager von Passbolt unter CentOS 7

Passbolt ist ein kostenloser Open-Source-Passwortmanager für Teams. Es ermöglicht Teammitgliedern, Anmeldeinformationen/Kennwörter sicher zu speichern und zu teilen. Passbolt wird mit PHP erstellt und kann unter dem LEMP-Stack oder als Docker-Container ausgeführt werden.

In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie den Open-Source-Passwort-Manager „Passbolt“ auf dem CentOS 7-Server installieren und konfigurieren. Passbolt ist eine mit PHP entwickelte Webanwendung, die wir unter LEMP (Linux, Nginx, MySQL/MariaDB und PHP-FPM) ausführen werden.

Voraussetzungen

  • CentOS 7
  • Root-Rechte

Was werden wir tun?

  1. Abhängigkeiten installieren
  2. MariaDB-Datenbank installieren und konfigurieren
  3. Installieren Sie Nginx und PHP-FPM
  4. SSL Letsencrypt generieren
  5. Nginx und PHP-FPM konfigurieren
  6. Passbolt herunterladen und OpenPGP-Schlüssel generieren
  7. Installieren Sie Passbolt
  8. Passbolt-Nachinstallation
  9. Zusätzliche Einrichtung des Sicherheitsservers

Schritt 1 - Abhängigkeiten installieren

Das erste, was wir für dieses Handbuch tun werden, ist die Installation aller Paketabhängigkeiten, die für die Passbolt-Installation erforderlich sind, einschließlich der Installation von EPEL- und Remi-PHP-Repositories, PHP-Composer, gcc usw.

Fügen Sie das EPEL-Repository hinzu.

sudo yum -y install yum-utils epel-release

Fügen Sie das Remi PHP-Repository hinzu und aktivieren Sie es.

sudo yum -y install 'http://rpms.remirepo.net/enterprise/remi-release-7.rpm'
sudo yum-config-manager --enable 'remi-php72'

Installieren Sie nun die Pakete Dependencies Composer, Git Gcc usw. mit dem untenstehenden Befehl yum.

sudo yum -y install unzip wget composer policycoreutils-python git gcc

Warten Sie auf die Installation aller Pakete.

Schritt 2 – MySQL/MariaDB installieren und konfigurieren

In diesem Schritt installieren wir die MariaDB-Datenbank und erstellen dann eine neue Datenbank und einen neuen Benutzer für die Passbolt-Installation.

Installieren Sie den MariaDB-Server mit dem folgenden Befehl yum.

sudo yum -y install mariadb-server

Nachdem die Installation abgeschlossen ist, starten Sie den MariaDB-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Jetzt müssen wir das ‚root‘-Passwort für MariaDB konfigurieren. Führen Sie den 'mysql_secure_installation'-Befehl unten aus.

mysql_secure_installation

Geben Sie Ihr neues Root-Passwort ein.

Und das MariaDB-Root-Passwort wurde konfiguriert.

Melden Sie sich als Nächstes mit dem Benutzer „root“ bei der MySQL-Shell an.

mysql -u root -p

Erstellen Sie eine neue Datenbank und einen neuen Benutzer namens „passbolt“ mit dem Passwort „hakase-labs“, führen Sie die MySQL-Abfragen unten aus.

create database passbolt;
grant all on passbolt.* to 'passbolt'@'localhost' identified by 'hakase-labs';
flush privileges;
quit;

Der MariaDB-Server wurde auf dem CentOS 7-Server installiert und die Datenbank für die ‚Passbolt‘-Installation wurde erstellt.

Schritt 3 – Nginx und PHP-FPM installieren

Nach der Installation des MariaDB-Servers installieren wir Nginx aus dem EPEL-Repository und PHP-FPM-Pakete mit dem Remi-Repository.

Nginx-Webserver installieren.

sudo yum -y install nginx

Nachdem die Installation abgeschlossen ist, starten Sie den Nginx-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

sudo systemctl start nginx
sudo systemctl enable nginx

Installieren Sie nun PHP-FPM mit allen erforderlichen Erweiterungen mit dem untenstehenden yum-Befehl.

sudo yum -y install php-fpm php-intl php-gd php-mysql php-mcrypt php-pear php-devel php-mbstring php-fpm gpgme-devel

Und wenn die Installation abgeschlossen ist, starten Sie den PHP-FPM-Dienst und aktivieren Sie ihn, dass er jedes Mal beim Systemstart gestartet wird.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Der Nginx-Webserver und PHP-FPM wurden installiert.

Schritt 4 - Generieren Sie SSL Letsencrypt

Installieren Sie das certbot-Tool auf dem System.

sudo yum -y install certbot

Stoppen Sie jetzt den nginx-Dienst.

sudo systemctl stop nginx

Und generieren Sie SSL Letsencrypt für den Passbolt-Domänennamen ‚passbolt.hakase.io‘.

Führen Sie den folgenden certbot-Befehl aus.

sudo certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d passbolt.hakase.io

Das certbot-Tool führt einen temporären Webserver für die Überprüfung aus.

Und wenn es fertig ist, erhalten Sie Ihr Zertifikat im Verzeichnis „/etc/letsencrypt/live/“.

Schritt 5 – Nginx und PHP-FPM konfigurieren

In diesem Schritt werden wir den Nginx-Webserver konfigurieren, indem wir eine neue virtuelle Hostkonfiguration für Passbolt erstellen und das PHP-FPM konfigurieren und die PHP-GnuPG-Unterstützung installieren.

PHP-FPM konfigurieren

Gehen Sie zum Verzeichnis „/etc/php-fpm.d“ und bearbeiten Sie die Standard-Pool-Konfiguration „www.conf“ mit dem vim-Editor.

cd /etc/php-fpm.d/
sudo vim www.conf

Ändern Sie den Standardbenutzer und die Standardgruppe in den Benutzer „nginx“.

user = nginx
group = nginx

Ändern Sie den Port-Listener für PHP-FPM wie unten beschrieben in die SOCKET-Datei.

listen = /var/run/php-fpm/php-fpm.sock

Entkommentieren Sie diese Zeilen unten und ändern Sie listen.owner und listen.group für die Sockendatei in „nginx“.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Speichern und beenden.

Jetzt müssen wir den Besitzer des PHP-Session-Verzeichnisses ändern und die Unterstützung der PHP-GnuPG-Erweiterung installieren.

Ändern Sie die Berechtigung des PHP-Sitzungsverzeichnisses.

sudo chgrp nginx /var/lib/php/session

Installieren Sie die PHP GnuPG-Erweiterung mit dem Befehl pecl und aktivieren Sie sie.

sudo pecl install gnupg
echo "extension=gnupg.so" > /etc/php.d/gnupg.ini

Die PHP GnuPG-Erweiterung wurde installiert.

Konfigurieren Sie den virtuellen Nginx-Host

Gehen Sie in das Verzeichnis ‚/etc/nginx/conf.d‘ und erstellen Sie eine neue virtuelle Hostdatei ‚passbolt.conf‘.

cd /etc/nginx/conf.d/
sudo vim passbolt.conf

Konfigurationen unten einfügen.

server {
  listen 443;
  server_name passbolt.hakase.io;
  ssl on;
  ssl_certificate     /etc/letsencrypt/live/passbolt.hakase.io/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/passbolt.hakase.io/privkey.pem;
  ssl_protocols TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
  ssl_session_tickets off;
  root /var/www/passbolt;
  
  location / {
    try_files $uri $uri/ /index.php?$args;
    index index.php;
  }
  
  location ~ \.php$ {
    fastcgi_index           index.php;
    fastcgi_pass            unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(.+)$;
    include                 fastcgi_params;
    fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param           SERVER_NAME $http_host;
  }
       
  location ~* \.(jpe?g|woff|woff2|ttf|gif|png|bmp|ico|css|js|json|pdf|zip|htm|html|docx?|xlsx?|pptx?|txt|wav|swf|svg|avi|mp\d)$ {
    access_log off;
    log_not_found off;
    try_files $uri /webroot/$uri /index.php?$args;
  }
}

Speichern und beenden.

Testen Sie die nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt.

sudo nginx -t

Starten Sie jetzt sowohl die Nginx- als auch die PHP-FPM-Dienste neu.

sudo systemctl restart nginx
sudo systemctl restart php-fpm

Die Konfigurationen von Nginx-Webserver und PHP-FPM wurden erfolgreich abgeschlossen.

Schritt 6 – Passbolt herunterladen und OpenPGP-Schlüssel generieren

In diesem Schritt laden wir die Passbolt-Webanwendung herunter und generieren einen neuen OpenPGP-Schlüssel, der für die Passbolt-API verwendet wird.

Wechseln Sie in das Verzeichnis „/var/www“ und klonen Sie die Passbolt-Webanwendung.

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

Installieren Sie nun das 'haveged'-Paket und starten Sie den Dienst.

sudo yum -y install haveged
sudo systemctl start haveged

Generieren Sie mit dem untenstehenden gpg-Befehl einen neuen OpenPGP-Schlüssel.

gpg --gen-key

Geben Sie Ihre Details wie E-Mail, die Ablauftage usw. ein.

Hinweis:

  • Die PHP-GnuPG-Erweiterungen unterstützen die OpenPGP-Schlüssel-Passphrase nicht, lassen Sie die Passphrase also leer.

Überprüfen Sie nach Abschluss alle verfügbaren Schlüssel und notieren Sie sich den „Fingerabdruck“ Ihres Schlüssels.

gpg --list-keys --fingerprint

Exportieren Sie nun den öffentlichen und den privaten Schlüssel in das Verzeichnis ‚/var/www/passbolt‘.

gpg --armor --export-secret-keys [email protected] > /var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor --export [email protected] > /var/www/passbolt/config/gpg/serverkey.asc

Und ändern Sie die Berechtigung all dieser Schlüssel und den Besitzer des Verzeichnisses ‚/var/www/passbolt‘.

sudo chmod 640 /var/www/passbolt/config/gpg/serverkey*
sudo chown -R  nginx:nginx /var/www/passbolt

Die Passbolt-Webanwendung wurde heruntergeladen und der OpenPGP-Schlüssel wurde erstellt.

Schritt 7 - Passbolt installieren

Bevor wir alle Abhängigkeiten für „Passbolt“ installieren, müssen wir den Schlüsselbund des gpg-Schlüssels für den Nginx-Benutzer initialisieren.

Führen Sie den folgenden Befehl aus.

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

Melden Sie sich jetzt beim Benutzer ‚nginx‘ an und gehen Sie in das Verzeichnis ‚/var/www/passbolt‘.

su -s /bin/bash nginx
cd /var/www/passbolt/

Installieren Sie alle Passbolt-Abhängigkeiten mit dem Composer-Befehl unten.

composer install --no-dev

Kopieren Sie nach Abschluss die Standardkonfigurationsdatei der App und bearbeiten Sie sie mit vim.

cp config/passbolt.default.php config/passbolt.php
vim config/passbolt.php

Ändern Sie im Abschnitt „App“ den Domainnamen durch Ihren eigenen Domainnamen.

    'App' => [
        // A base URL to use for absolute links.
        // The url where the passbolt instance will be reachable to your end users.
        // This information is need to render images in emails for example
        'fullBaseUrl' => 'https://passbolt.hakase.io',
    ],

Geben Sie in der Konfiguration „Datenquellen“ Ihre Datenbankinformationen ein.

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

Fügen Sie unter der Datenbankkonfiguration eine neue „ssl“-Konfiguration hinzu, um alle Verbindungen auf sicheres https zu zwingen.

    'ssl' => [
        'force' => true,
    ],

Ändern Sie für die SMTP-Mail-Konfiguration alles mit Ihren Angaben.

    // Email configuration.
    'EmailTransport' => [
        'default' => [
            'host' => 'localhost',
            'port' => 25,
            'username' => 'user',
            'password' => 'secret',
            // Is this a secure connection? true if yes, null if no.
            'tls' => null,
            //'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',
        ],
    ],

Fügen Sie schließlich den „Fingerabdruck“ Ihres OpenPGP-Schlüssels ein und kommentieren Sie diese öffentlichen und privaten Konfigurationszeilen aus.

            'serverKey' => [
                // Server private key fingerprint.
                'fingerprint' => '63BA4EBB65126A6BE334075DD210E985E2ED02E5',
                'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
                'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',
            ],

Speichern und beenden.

Installieren Sie nun „Passbolt“ mit dem folgenden Befehl.

./bin/cake passbolt install

Sie werden aufgefordert, einen neuen Admin-Benutzer und ein neues Passwort zu erstellen – geben Sie Ihre Daten ein.

Und am Ende erhalten Sie den 'Registrierungs'-Link, schreiben Sie ihn auf Ihren Zettel.

Schritt 8 - Passbolt-Nachinstallation

Öffnen Sie Ihren Webbrowser und installieren Sie die „Passbolt“-Erweiterungen Ihres Webbrowsers.

Im Folgenden finden Sie den Link der Passbolt-Erweiterung für den Chrome-Browser. Installieren Sie die Erweiterung.

https://chrome.google.com/webstore/detail/passbolt-extension

Öffnen Sie nun einen neuen Tab und fügen Sie den Link „Registrierung“ in die Adressleiste ein. Meine war:

https://passbolt.hakase.io/setup/install/b830cc87-1aa5-4f6f-95f4-9be21accdefa/103001a4-39a1-4bb9-866c-822ac0f7c76f

Und Sie werden eine Seite sehen, die der unten gezeigten ähnelt.

Aktivieren Sie das Kontrollkästchen unten und klicken Sie auf die Schaltfläche „Weiter“. Jetzt werden Sie aufgefordert, einen neuen Schlüssel für den Benutzer zu erstellen.

Klicken Sie auf die Schaltfläche „Weiter“.

Richten Sie die „Passphrase“ ein, geben Sie Ihre starke Passphrase ein.

Klicken Sie auf die Schaltfläche „Weiter“. Sichern Sie Ihren Schlüssel, indem Sie auf die Schaltfläche „Herunterladen“ klicken und erneut auf „Weiter“ klicken.

Behalten Sie für das Sicherheitstoken die Standardeinstellung bei und klicken Sie auf „Weiter“.

Und Sie werden zur Anmeldeseite von Passbolt weitergeleitet.

Geben Sie Ihre „Passphrase“ ein und klicken Sie auf „Anmelden“. Und Sie werden das Passbolt-Benutzer-Dashboard wie unten sehen.

Die Installation des Passbolt-Open-Source-Passwortmanagers auf CentOS 7 wurde erfolgreich abgeschlossen.

Schritt 9 – Zusätzliche Einrichtung des Sicherheitsservers

- Richten Sie die Firewalld ein

Öffnen Sie neue HTTP-, HTTPS- und SMTP-Ports auf dem Server.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --add-service=smtp --permanent

Laden Sie nun die Firewall-Konfiguration neu.

sudo firewall-cmd --reload

- Selinux-Berechtigung einrichten

Berechtigung für das Webroot-Verzeichnis „Passbolt“.

sudo semanage fcontext -a -t httpd_sys_content_t '/var/www(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/passbolt/tmp(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/passbolt/logs(/.*)?'
sudo restorecon -Rv /var/www

Berechtigung für das Nginx gnupg-Schlüsselbundverzeichnis.

sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/lib/nginx/.gnupg(/.*)?'
sudo restorecon -Rv /var/lib/nginx/.gnupg

Cent OS
  1. So installieren Sie Vagrant unter CentOS 7

  2. So installieren Sie Gitea unter CentOS 8

  3. So installieren Sie Memcached auf CentOS 8

  4. So installieren Sie Nginx unter CentOS 7

  5. So installieren Sie ownCloud auf CentOS 8

So installieren Sie den selbstgehosteten Passwort-Manager von Passbolt unter CentOS 8

So installieren Sie den selbst gehosteten Passwort-Manager von Passbolt unter Debian 11

So installieren Sie Zoom unter CentOS 8

So installieren Sie Nethogs auf CentOS

So installieren Sie Yourls in CentOS 8

So installieren Sie Passbolt Password Manager unter Ubuntu 18.04