GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Passbolt Self-Hosted Password Manager su CentOS 7

Passbolt è un gestore di password gratuito e open source per i team. Consente ai membri del team di archiviare e condividere credenziali/password in modo sicuro. Passbolt viene creato con PHP e può essere eseguito sotto lo stack LEMP o eseguito come contenitore docker.

In questo tutorial, ti mostreremo passo dopo passo l'installazione e la configurazione del gestore di password open source "Passbolt" sul server CentOS 7. Passbolt è un'applicazione web sviluppata con PHP e la eseguiremo sotto LEMP (Linux, Nginx, MySQL/MariaDB e PHP-FPM).

Prerequisiti

  • CentOS 7
  • Privilegi di root

Cosa faremo?

  1. Installa dipendenze
  2. Installa e configura il database MariaDB
  3. Installa Nginx e PHP-FPM
  4. Genera SSL Letsencrypt
  5. Configura Nginx e PHP-FPM
  6. Scarica Passbolt e genera la chiave OpenPGP
  7. Installa Passbolt
  8. Post-installazione Passbolt
  9. Configurazione aggiuntiva del server di sicurezza

Passaggio 1:installazione delle dipendenze

La prima cosa che faremo per questa guida è installare tutte le dipendenze dei pacchetti necessarie per l'installazione di Passbolt, inclusa l'installazione di repository PHP EPEL e Remi, compositore php, gcc ecc.

Aggiungi il repository EPEL.

sudo yum -y install yum-utils epel-release

Aggiungi e abilita il repository Remi PHP.

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

Ora installa le dipendenze dei pacchetti composer, git gcc ecc. usando il comando yum di seguito.

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

Attendi l'installazione di tutti i pacchetti.

Passaggio 2:installazione e configurazione di MySQL/MariaDB

In questo passaggio, installeremo il database MariaDB e quindi creeremo un nuovo database e un nuovo utente per l'installazione di Passbolt.

Installa il server MariaDB usando il comando yum di seguito.

sudo yum -y install mariadb-server

Al termine dell'installazione, avvia il servizio MariaDB e abilitalo all'avvio ogni volta all'avvio del sistema.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Ora dobbiamo configurare la password 'root' per MariaDB. Esegui il comando 'mysql_secure_installation' di seguito.

mysql_secure_installation

Digita la tua nuova password di root.

E la password di root di MariaDB è stata configurata.

Quindi, accedi alla shell MySQL usando l'utente 'root'.

mysql -u root -p

Crea un nuovo database e un utente chiamato "passbolt" con password "hakase-labs", esegui query MySQL di seguito.

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

Il server MariaDB è stato installato sul server CentOS 7 ed è stato creato il database per l'installazione "Passbolt".

Fase 3 - Installa Nginx e PHP-FPM

Dopo aver installato il server MariaDB, installeremo Nginx dal repository EPEL e i pacchetti PHP-FPM utilizzando il repository Remi.

Installa il server web Nginx.

sudo yum -y install nginx

Al termine dell'installazione, avvia il servizio Nginx e abilitalo all'avvio ogni volta all'avvio del sistema.

sudo systemctl start nginx
sudo systemctl enable nginx

Ora installa PHP-FPM con tutte le estensioni necessarie usando il comando yum qui sotto.

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

E se l'installazione è completa, avvia il servizio PHP-FPM e abilitalo all'avvio ogni volta all'avvio del sistema.

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

Il server web Nginx e PHP-FPM sono stati installati.

Fase 4:genera SSL Letsencrypt

Installa lo strumento certbot sul sistema.

sudo yum -y install certbot

Ora interrompi il servizio nginx.

sudo systemctl stop nginx

E genera SSL Letsencrypt per il nome di dominio passbolt 'passbolt.hakase.io'.

Esegui il comando certbot di seguito.

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

Lo strumento certbot eseguirà un server Web temporaneo per la verifica.

E quando sarà completo, otterrai il tuo certificato nella directory '/etc/letsencrypt/live/'.

Passaggio 5 - Configura Nginx e PHP-FPM

In questo passaggio, configureremo il server web Nginx creando una nuova configurazione di host virtuale per Passbolt, configureremo PHP-FPM e installeremo il supporto PHP GnuPG.

Configura PHP-FPM

Vai alla directory '/etc/php-fpm.d' e modifica la configurazione predefinita del pool 'www.conf' utilizzando l'editor vim.

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

Cambia l'utente e il gruppo predefiniti con l'utente 'nginx'.

user = nginx
group = nginx

Cambia la porta in ascolto per PHP-FPM nel file sock come di seguito.

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

Decommenta quelle righe sottostanti e cambia listen.owner e listen.group per il file sock in 'nginx'.

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

Salva ed esci.

Ora dobbiamo cambiare il proprietario della directory di sessione PHP e installare il supporto dell'estensione PHP GnuPG.

Modifica l'autorizzazione della directory della sessione php.

sudo chgrp nginx /var/lib/php/session

Installa l'estensione PHP GnuPG usando il comando pecl e attivalo.

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

L'estensione PHP GnuPG è stata installata.

Configura host virtuale Nginx

Vai alla directory '/etc/nginx/conf.d' e crea un nuovo file host virtuale 'passbolt.conf'.

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

Incolla le configurazioni di seguito.

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;
  }
}

Salva ed esci.

Testa la configurazione di nginx e assicurati che non ci siano errori.

sudo nginx -t

Ora riavvia entrambi i servizi Nginx e PHP-FPM.

sudo systemctl restart nginx
sudo systemctl restart php-fpm

Le configurazioni del server web Nginx e di PHP-FPM sono state completate con successo.

Passaggio 6:scarica Passbolt e genera la chiave OpenPGP

In questo passaggio, scaricheremo l'applicazione web passbolt e genereremo una nuova chiave OpenPGP che verrà utilizzata per l'API Passbolt.

Vai alla directory '/var/www' e clona l'applicazione web passbolt.

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

Ora installa il pacchetto 'haveged' e avvia il servizio.

sudo yum -y install haveged
sudo systemctl start haveged

Genera una nuova chiave OpenPGP usando il comando gpg qui sotto.

gpg --gen-key

Digita i tuoi dati come email, giorni di scadenza ecc.

Nota:

  • Le estensioni PHP GnuPG non supportano la passphrase della chiave OpenPGP, quindi lascia che la passphrase rimanga vuota.

Al termine, controlla tutte le chiavi disponibili e annota l'"impronta digitale" della tua chiave.

gpg --list-keys --fingerprint

Ora esporta la chiave pubblica e privata nella directory '/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

E cambia tutte le autorizzazioni per le chiavi e il proprietario della directory '/var/www/passbolt'.

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

L'applicazione web Passbolt è stata scaricata ed è stata creata la chiave OpenPGP.

Passaggio 7:installazione di Passbolt

Prima di installare tutte le dipendenze per "Passbolt", è necessario inizializzare il keyring della chiave gpg per l'utente nginx.

Esegui il comando seguente.

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

Ora accedi all'utente 'nginx' e vai alla directory '/var/www/passbolt'.

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

Installa tutte le dipendenze passbolt utilizzando il comando compositore di seguito.

composer install --no-dev

Al termine, copia il file di configurazione predefinito dell'app e modificalo con vim.

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

Nella sezione "App", cambia il nome di dominio con il tuo nome di dominio.

    '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',
    ],

Nella configurazione "Fonti dati", digita le informazioni sul database dei dettagli.

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

Nella configurazione del database, aggiungi una nuova configurazione 'ssl' per forzare tutte le connessioni a proteggere https.

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

Per la configurazione della posta SMTP, cambia tutto con i tuoi dati.

    // 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',
        ],
    ],

Infine, incolla l'impronta digitale della tua chiave OpenPGP e decommenta quelle righe di configurazione pubbliche e private.

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

Salva ed esci.

Ora installa "Passbolt" usando il comando seguente.

./bin/cake passbolt install

Ti verrà chiesto di creare un nuovo utente e una password amministratore:digita i tuoi dettagli.

E alla fine ti verrà dato il link 'registrazione', scrivilo sulla tua nota.

Fase 8 - Post-installazione Passbolt

Apri il tuo browser web e installa le estensioni "Passbolt" del tuo browser web.

Di seguito è riportato il collegamento dell'estensione passbolt per il browser Chrome. Installa l'estensione.

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

Ora apri una nuova scheda e incolla il link "registrazione" fornito nella barra degli indirizzi. Il mio era:

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

E avrai una pagina simile a quella mostrata di seguito.

Seleziona la casella in basso e fai clic sul pulsante "Avanti". Ora ti verrà chiesto di creare una nuova chiave per l'utente.

Fare clic sul pulsante "Avanti".

Imposta la "passphrase", digita la tua passphrase forte.

Fare clic sul pulsante "Avanti". Eseguire il backup della chiave premendo il pulsante "Download" e fare nuovamente clic su "Avanti".

Per il token di sicurezza, lascialo predefinito e fai clic su "Avanti".

E verrai reindirizzato alla pagina di accesso di Passbolt.

Digita la tua "Passphrase" e fai clic su "Accedi". E vedrai la dashboard utente Passbolt come di seguito.

L'installazione del gestore password open source Passbolt su CentOS 7 è stata completata correttamente.

Passaggio 9 - Configurazione aggiuntiva di Security Server

- Imposta il firewall

Apri nuove porte HTTP, HTTPS e SMTP sul server.

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

Ora ricarica la configurazione del firewalld.

sudo firewall-cmd --reload

- Imposta l'autorizzazione Selinux

Autorizzazione per la directory webroot '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

Autorizzazione per la directory del portachiavi Nginx gnupg.

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

Cent OS
  1. Come installare Vagrant su CentOS 7

  2. Come installare Gitea su CentOS 8

  3. Come installare Memcached su CentOS 8

  4. Come installare Nginx su CentOS 7

  5. Come installare ownCloud su CentOS 8

Come installare Passbolt Self-Hosted Password Manager su CentOS 8

Come installare Passbolt Self-Hosted Password Manager su Debian 11

Come installare Zoom su CentOS 8

Come installare Nethogs su CentOS

Come installare Yourls in CentOS 8

Come installare Passbolt Password Manager su Ubuntu 18.04