GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Passbolt Self-Hosted Password Manager na CentOS 7

Passbolt je bezplatný a open source správce hesel pro týmy. Umožňuje členům týmu bezpečně ukládat a sdílet přihlašovací údaje/hesla. Passbolt je vytvořen pomocí PHP a lze jej spustit pod zásobníkem LEMP nebo spustit jako kontejner dockeru.

V tomto tutoriálu vám ukážeme krok za krokem instalaci a konfiguraci správce hesel s otevřeným zdrojovým kódem „Passbolt“ na serveru CentOS 7. Passbolt je webová aplikace vyvinutá pomocí PHP a budeme ji provozovat pod LEMP (Linux, Nginx, MySQL/MariaDB a PHP-FPM).

Předpoklady

  • CentOS 7
  • Oprávnění uživatele root

Co uděláme?

  1. Instalovat závislosti
  2. Nainstalujte a nakonfigurujte databázi MariaDB
  3. Nainstalujte Nginx a PHP-FPM
  4. Vygenerujte SSL Letsencrypt
  5. Nakonfigurujte Nginx a PHP-FPM
  6. Stáhněte si Passbolt a vygenerujte klíč OpenPGP
  7. Nainstalujte Passbolt
  8. Po instalaci Passbolt
  9. Další nastavení serveru zabezpečení

Krok 1 – Instalace závislostí

První věc, kterou pro tuto příručku uděláme, je nainstalovat všechny závislosti balíčku potřebné pro instalaci Passboltu, včetně instalace EPEL a Remi PHP repozitářů, php skladatele, gcc atd.

Přidejte úložiště EPEL.

sudo yum -y install yum-utils epel-release

Přidejte a povolte úložiště Remi PHP.

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

Nyní nainstalujte skladatel závislostí balíčků, git gcc atd. pomocí příkazu yum níže.

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

Počkejte na instalaci všech balíčků.

Krok 2 – Instalace a konfigurace MySQL/MariaDB

V tomto kroku nainstalujeme databázi MariaDB a poté vytvoříme novou databázi a uživatele pro instalaci Passbolt.

Nainstalujte server MariaDB pomocí příkazu yum níže.

sudo yum -y install mariadb-server

Po dokončení instalace spusťte službu MariaDB a povolte její spuštění při každém spuštění systému.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Nyní musíme nakonfigurovat heslo „root“ pro MariaDB. Spusťte níže uvedený příkaz 'mysql_secure_installation'.

mysql_secure_installation

Zadejte své nové root heslo.

A kořenové heslo MariaDB bylo nakonfigurováno.

Dále se přihlaste do prostředí MySQL pomocí uživatele 'root'.

mysql -u root -p

Vytvořte novou databázi a uživatele s názvem 'passbolt' s heslem 'hakase-labs', níže spusťte dotazy MySQL.

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

Server MariaDB byl nainstalován na server CentOS 7 a byla vytvořena databáze pro instalaci „Passbolt“.

Krok 3 – Instalace Nginx a PHP-FPM

Po instalaci serveru MariaDB nainstalujeme Nginx z úložiště EPEL a balíčky PHP-FPM pomocí úložiště Remi.

Nainstalujte webový server Nginx.

sudo yum -y install nginx

Po dokončení instalace spusťte službu Nginx a povolte její spuštění při každém spuštění systému.

sudo systemctl start nginx
sudo systemctl enable nginx

Nyní nainstalujte PHP-FPM se všemi potřebnými rozšířeními pomocí příkazu yum níže.

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

A pokud je instalace dokončena, spusťte službu PHP-FPM a povolte její spuštění při každém startu systému.

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

Byl nainstalován webový server Nginx a PHP-FPM.

Krok 4 – Vygenerování SSL Letsencrypt

Nainstalujte do systému nástroj certbot.

sudo yum -y install certbot

Nyní zastavte službu nginx.

sudo systemctl stop nginx

A vygenerujte SSL Letsencrypt pro název domény passbolt 'passbolt.hakase.io'.

Spusťte níže uvedený příkaz certbot.

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

Nástroj certbot spustí dočasný webový server pro ověření.

A až bude hotovo, dostanete svůj certifikát do adresáře '/etc/letsencrypt/live/'.

Krok 5 – Konfigurace Nginx a PHP-FPM

V tomto kroku nakonfigurujeme webový server Nginx vytvořením nové konfigurace virtuálního hostitele pro Passbolt a nakonfigurujeme PHP-FPM a nainstalujeme podporu PHP GnuPG.

Konfigurace PHP-FPM

Přejděte do adresáře '/etc/php-fpm.d' a upravte výchozí konfiguraci fondu 'www.conf' pomocí editoru vim.

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

Změňte výchozího uživatele a skupinu na uživatele 'nginx'.

user = nginx
group = nginx

Změňte naslouchání portů pro PHP-FPM na sock soubor, jak je uvedeno níže.

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

Odkomentujte tyto řádky níže a změňte listen.owner a listen.group pro soubor sock na 'nginx'.

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

Uložte a ukončete.

Nyní musíme změnit vlastníka adresáře PHP session a nainstalovat podporu rozšíření PHP GnuPG.

Změňte oprávnění adresáře php session.

sudo chgrp nginx /var/lib/php/session

Nainstalujte rozšíření PHP GnuPG pomocí příkazu pecl a aktivujte jej.

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

Rozšíření PHP GnuPG bylo nainstalováno.

Konfigurace virtuálního hostitele Nginx

Přejděte do adresáře '/etc/nginx/conf.d' a vytvořte nový soubor virtuálního hostitele 'passbolt.conf'.

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

Vložte konfigurace níže.

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

Uložte a ukončete.

Otestujte konfiguraci nginx a ujistěte se, že nedochází k chybě.

sudo nginx -t

Nyní restartujte služby Nginx i PHP-FPM.

sudo systemctl restart nginx
sudo systemctl restart php-fpm

Konfigurace webového serveru Nginx a PHP-FPM byly úspěšně dokončeny.

Krok 6 – Stáhnout Passbolt a vygenerovat klíč OpenPGP

V tomto kroku si stáhneme webovou aplikaci passbolt a vygenerujeme nový klíč OpenPGP, který bude použit pro Passbolt API.

Přejděte do adresáře '/var/www' a naklonujte webovou aplikaci passbolt.

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

Nyní nainstalujte balíček 'havged' a spusťte službu.

sudo yum -y install haveged
sudo systemctl start haveged

Vygenerujte nový klíč OpenPGP pomocí příkazu gpg níže.

gpg --gen-key

Zadejte své údaje, jako je e-mail, dny vypršení platnosti atd.

Poznámka:

  • Rozšíření PHP GnuPG nepodporují přístupovou frázi klíče OpenPGP, takže ji nechte prázdnou.

Po dokončení zkontrolujte všechny dostupné klíče a zapište si „otisk“ klíče.

gpg --list-keys --fingerprint

Nyní exportujte veřejný a soukromý klíč do adresáře '/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

A změňte oprávnění všech těchto klíčů a vlastníka adresáře '/var/www/passbolt'.

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

Webová aplikace Passbolt byla stažena a byl vytvořen klíč OpenPGP.

Krok 7 – Instalace Passbolt

Před instalací všech závislostí pro 'Passbolt' musíme inicializovat svazek klíčů gpg klíče pro uživatele nginx.

Spusťte níže uvedený příkaz.

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

Nyní se přihlaste k uživateli 'nginx' a přejděte do adresáře '/var/www/passbolt'.

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

Nainstalujte všechny závislosti passbolt pomocí příkazu skladatel níže.

composer install --no-dev

Po dokončení zkopírujte výchozí konfigurační soubor aplikace a upravte jej pomocí vim.

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

V sekci 'App' změňte název domény na svůj vlastní název domény.

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

V konfiguraci 'Zdroje dat' zadejte informace o své databázi podrobností.

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

Pod konfigurací databáze přidejte novou konfiguraci 'ssl', abyste vynutili všechna připojení k zabezpečenému https.

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

Pro konfiguraci pošty SMTP změňte vše se svými údaji.

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

A nakonec vložte „otisk“ vašeho klíče OpenPGP a odkomentujte tyto veřejné a soukromé konfigurační řádky.

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

Uložte a ukončete.

Nyní nainstalujte 'Passbolt' pomocí příkazu níže.

./bin/cake passbolt install

Budete požádáni o vytvoření nového administrátora a hesla – zadejte své údaje.

A nakonec vám bude přidělen odkaz 'registrace', zapište si ho do poznámky.

Krok 8 – Passbolt Post-Installation

Otevřete svůj webový prohlížeč a nainstalujte rozšíření 'Passbolt' vašeho webového prohlížeče.

Následuje odkaz na rozšíření passbolt pro prohlížeč Chrome. Nainstalujte rozšíření.

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

Nyní otevřete novou kartu a vložte do adresního řádku odkaz „registrace“. Můj byl:

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

A získáte stránku podobnou té, která je zobrazena níže.

Zaškrtněte políčko ve spodní části a klikněte na tlačítko 'Další'. Nyní budete požádáni o vytvoření nového klíče pro uživatele.

Klikněte na tlačítko 'Další'.

Nastavte 'Passphrase', zadejte své silné heslo.

Klikněte na tlačítko 'Další'. Zálohujte svůj klíč stisknutím tlačítka 'Stáhnout' a znovu kliknutím na 'Další'.

U bezpečnostního tokenu jej ponechte jako výchozí a klikněte na 'Další'.

A budete přesměrováni na přihlašovací stránku Passbolt.

Zadejte své 'Heslo' a klikněte na 'Přihlásit se'. A uvidíte ovládací panel uživatele Passbolt, jak je uvedeno níže.

Instalace správce hesel Passbolt s otevřeným zdrojovým kódem na CentOS 7 byla úspěšně dokončena.

Krok 9 – Další nastavení bezpečnostního serveru

– Nastavte bránu firewall

Otevřete na serveru nové porty HTTP, HTTPS a SMTP.

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

Nyní znovu načtěte konfiguraci brány firewall.

sudo firewall-cmd --reload

- Nastavení oprávnění Selinux

Oprávnění pro webroot adresář '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

Oprávnění pro adresář Nginx gnupg keyring.

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

Cent OS
  1. Jak nainstalovat Vagrant na CentOS 7

  2. Jak nainstalovat Gitea na CentOS 8

  3. Jak nainstalovat ownCloud na CentOS 8

  1. Jak nainstalovat Memcached na CentOS 8

  2. Jak nainstalovat Nginx na CentOS 7

  3. Jak nainstalovat Apache na CentOS 7

  1. Jak nainstalovat Tomcat 8.5 na CentOS 7

  2. Jak nainstalovat Jenkins na CentOS 7

  3. Jak nainstalovat Tomcat 9 na CentOS 7