GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Passbolt Password Manager na Ubuntu 18.04 Server

Passbolt je správce hesel s vlastním hostitelem s otevřeným zdrojovým kódem, který vám umožňuje bezpečně sdílet a ukládat přihlašovací údaje webu, heslo routeru, heslo Wi-Fi atd. Tento tutoriál vám ukáže, jak nainstalovat Passbolt Community Edition (CE) na Ubuntu 18.04 s webovým serverem Apache nebo Nginx.

Funkce Passbolt

  • Free &open source
  • Hesla jsou šifrována pomocí OpenPGP, osvědčeného kryptografického standardu.
  • Rozšíření prohlížeče dostupná pro Firefox a Google Chrome.
  • Snadno sdílejte přihlašovací údaje se svým týmem, aniž byste ohrozili zabezpečení.
  • Čisté, uživatelsky přívětivé rozhraní.
  • Import a export hesel.
  • Přihlašovací údaje můžete přidat ručně.

Možná jste slyšeli o jiném správci hesel s vlastním hostitelem, jako je Bitwarden, ale vyžaduje instalaci Dockeru, takže funguje pouze na 64bitových počítačích. Tento výukový program Passbolt funguje na 32bitových i 64bitových počítačích.

Předpoklady instalace Passbolt na server Ubuntu 18.04

Passbolt je napsán v PHP a spoléhá na databázový server MySQL/MariaDB. Musíte tedy nastavit zásobník LAMP nebo zásobník LEMP. Pokud dáváte přednost webovému serveru Apache, nastavte zásobník LAMP.

  • Jak nainstalovat LAMP Stack na Ubuntu 18.04 Server/Desktop

Pokud dáváte přednost webovému serveru Nginx, nastavte zásobník LEMP.

  • Jak nainstalovat LEMP Stack (Nginx, MariaDB, PHP7.2) na Ubuntu 18.04 LTS

Potřebujete také název domény, takže budete mít přístup k Passboltu odkudkoli pomocí webového prohlížeče. Zaregistroval jsem své doménové jméno od NameCheap, protože cena je nízká a poskytují ochranu soukromí whois zdarma.

Krok 1:Stáhněte si Passbolt na váš server Ubuntu 18.04

Pokud přejdete na oficiální webovou stránku a stáhnete Passbolt, budete muset zadat své jméno a e-mailovou adresu. Pokud se vám to nelíbí, stáhněte si nejnovější stabilní verzi z Github spuštěním následujícího příkazu na vašem serveru.

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

Soubory budou uloženy v passbolt_api adresář. Přejmenujeme jej na passbolt .

sudo mv passbolt_api passbolt

Poté nastavte uživatele webového serveru (www-data ) jako vlastníka tohoto adresáře.

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

Změňte adresář.

cd /var/www/passbolt/

Install Composer – správce závislostí PHP.

sudo apt install composer

K instalaci závislostí použijte Composer.

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

Pokud vás požádá o nastavení oprávnění složky, zvolte Y .

Krok 2:Vytvoření databáze MariaDB a uživatele pro Passbolt

Nyní se musíme přihlásit do konzole MariaDB a vytvořit databázi a uživatele pro Passbolt. Ve výchozím nastavení používá balíček MaraiDB na Ubuntu unix_socket k ověření přihlášení uživatele, což v podstatě znamená, že můžete použít uživatelské jméno a heslo operačního systému pro přihlášení do konzoly MariaDB. Můžete tedy spustit následující příkaz a přihlásit se bez zadání hesla root MariaDB.

sudo mysql -u root

Dále vytvořte novou databázi pro Passbolt pomocí následujícího příkazu. Tento tutoriál jej pojmenuje passbolt , můžete pro databázi použít libovolný název. Uvádíme také utf8mb4 jako znaková sada pro podporu jiných než latinských znaků a emotikonů.

CREATE DATABASE passbolt DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Následující příkaz vytvoří databázového uživatele a heslo a zároveň udělí veškerá oprávnění nové databáze novému uživateli, aby později mohl Passbolt zapisovat do databáze. Nahraďte červené texty vámi preferovaným názvem databáze, uživatelským jménem a heslem.

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

Vyprázdněte tabulku oprávnění a ukončete konzolu MariaDB.

FLUSH PRIVILEGES;

EXIT;

Krok 3:Nainstalujte požadované a doporučené moduly PHP.

Spuštěním následujícího příkazu nainstalujte moduly PHP požadované nebo doporučené Passbolt

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

Poté restartujte Apache. (Pokud používáte Nginx, nemusíte Nginx restartovat.)

sudo systemctl restart apache2

Krok 4:Vygenerujte klíč OpenPGP

Pokud používáte VPS (Virtual Private Server), doporučuje se nainstalovat haveged balíček pro generování dostatečné entropie.

sudo apt install haveged

Poté spusťte následující příkaz pro vygenerování nového páru klíčů.

gpg --gen-key

Budete požádáni o zadání svého jména a e-mailové adresy. Pokud budete požádáni o nastavení přístupové fráze, jednoduše stiskněte klávesu Tab a vyberte OK, protože modul php-gnupg v současné době nepodporuje použití přístupové fráze.

Zkopírujte soukromý klíč do umístění konfigurace passbolt:

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

A zkopírujte také veřejný klíč.

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

Inicializujte www-data uživatelská klíčenka.

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

Krok 5:Nakonfigurujte Passbolt

Ujistěte se, že jste v /var/www/passbolt/ adresář.

cd /var/www/passbolt/

Zkopírujte ukázkový konfigurační soubor do produkčního konfiguračního souboru.

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

Upravte konfigurační soubor pomocí textového editoru příkazového řádku, jako je Nano.

sudo nano config/passbolt.php

Nejprve najděte následující řádek.

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

Nahraďte adresu URL svou vlastní adresou URL, například https://passbolt.yourdomain.com . Nezapomeňte vytvořit záznam DNS A pro tuto subdoménu ve správci záznamů DNS.

V database configuration zadejte název databáze, uživatelské jméno databáze a heslo, které jste vytvořili dříve.

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

V email configuration sekce,

  • Uveďte název hostitele SMTP, číslo portu, přihlašovací údaje, aby váš passbolt mohl odesílat e-maily. K odesílání e-mailů na vzdálený server SMTP obvykle potřebujete použít port 587. Ujistěte se, že jste nastavili tls na true, takže transakce SMTP bude šifrována.
  • Nastavte také From: e-mailovou adresu a jméno odesílatele.
    // 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',
        ],
    ],

Chcete-li si snadno nastavit svůj vlastní e-mailový server, podívejte se prosím na následující tutoriál.

  • Jak rychle nastavit svůj vlastní poštovní server na Ubuntu 18.04 s Modoboa

Poznámka:Pokud je passbolt nainstalován ve stejné schránce jako váš poštovní server, nemusíte zadávat uživatelské jméno a heslo v EmailTransport . Jednoduše použijte // pro zakomentování těchto dvou řádků. Následující snímek obrazovky ukazuje ukázkovou konfiguraci pro tento scénář.


V sekci gpg zadejte otisk klíče GPG jako níže. Musíte odstranit všechny mezery.

'fingerprint' => '2FC8945833C51946E937F9FED47B0811573EE67E',

Otisk klíče můžete získat pomocí následujícího příkazu. Nahraďte [email protected] s vaší e-mailovou adresou při generování páru klíčů PGP.

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

Po zadání otisku prstu odkomentujte následující dva řádky.

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

uložte a zavřete soubor.

Krok 6:Spusťte instalační skript

Spusťte instalační skript jako www-data uživatel.

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

Během instalace budete požádáni o vytvoření účtu správce.

Jakmile si vytvoříte účet, bude vám poskytnuta adresa URL pro dokončení instalace ve webovém prohlížeči . Než to uděláme, musíme nakonfigurovat webový server pomocí Apache nebo Nginx.

Krok 7:Vytvoření virtuálního hostitele Apache nebo konfiguračního souboru Nginx pro Passbolt

Apache

Pokud používáte webový server Apache, vytvořte virtuálního hostitele pro Passbolt.

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

Do souboru vložte následující text. Nahraďte passbolt.example.com se svým skutečným názvem domény a nezapomeňte pro něj nastavit DNS A záznam. Všimněte si také, že webový kořen pro Passbolt je /var/www/passbolt/webroot/ , nikoli /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>

Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele pomocí:

sudo a2ensite passbolt.conf

Znovu načtěte Apache, aby se změny projevily.

sudo systemctl reload apache2

Nginx

Pokud používáte webový server Nginx, vytvořte virtuálního hostitele pro Passbolt.

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

Do souboru vložte následující text. Nahraďte passbolt.example.com se svým skutečným názvem domény a nezapomeňte pro něj nastavit DNS A záznam. Všimněte si také, že webový kořen pro Passbolt je /var/www/passbolt/webroot/ , nikoli /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;
  }
}

Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx, aby se změny projevily.

sudo systemctl reload nginx

Krok 8:Povolení HTTPS

Pro šifrování HTTP provozu můžeme povolit HTTPS instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na server Ubuntu 18.04.

sudo apt install certbot

Pokud používáte Nginx, musíte si také nainstalovat plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.

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

Pokud používáte Apache, nainstalujte si plugin Certbot Apache.

sudo apt install python3-certbot-apache

A spusťte tento příkaz, abyste získali a nainstalovali certifikát TLS.

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

Kde

  • --nginx :Použijte plugin nginx.
  • --apache :Použijte plugin Apache.
  • --agree-tos :Souhlas se smluvními podmínkami.
  • --redirect :Vynutit HTTPS přesměrováním 301.
  • --hsts :Ke každé odpovědi HTTP přidejte záhlaví Strict-Transport-Security. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.
  • --staple-ocsp : Povoluje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.

Certifikát by nyní měl být získán a automaticky nainstalován.

Krok 9:Dokončete instalaci Passbolt ve webovém prohlížeči

Nejprve je třeba nainstalovat rozšíření Passbolt do prohlížeče Firefox nebo Google Chrome.

  • Rozšíření Passbolt pro Firefox
  • Rozšíření Passbot pro Google Chrome

Nyní zkopírujte adresu URL, kterou jste získali po spuštění instalačního skriptu, a vložte ji do adresního řádku prohlížeče. Zobrazí se webový průvodce nastavením. Prvním krokem je ujistit se, že otisk klíče vaší domény a serveru je správný.

Ve druhém kroku jednoduše klikněte na tlačítko Další a importujte stávající klíč.

Ve třetím kroku vytvořte přístupovou frázi.

Poté si stáhněte zašifrovaný tajný klíč a uložte jej na bezpečném místě. Tento klíč lze dešifrovat pouze pomocí vaší přístupové fráze.

Ve 4. kroku nastavte bezpečnostní token.

Nakonec se můžete přihlásit pomocí své přístupové fráze.

Nyní můžete vytvořit heslo, importovat heslo ze souboru csv nebo kdbx.

Nastavení úlohy Cron na automatické odesílání e-mailů

Chcete-li odesílat systémové e-maily, spusťte následující příkaz.

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

Můžete přidat příkaz do souboru Crontab uživatele www-data pro automatické zpracování e-mailů.

sudo crontab -u www-data -e

Přidejte do souboru následující řádek pro zpracování e-mailů každou minutu.

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

Uložte a zavřete soubor.

(Volitelné) Nastavení ModSecurity

Můžete také chtít nastavit ModSecurity firewall webových aplikací pro ochranu webových aplikací PHP před hackováním. Pokud používáte webový server Apache na Debianu/Ubuntu, přečtěte si následující návod.

  • Jak nastavit ModSecurity s Apache na Debian/Ubuntu

Pokud používáte webový server Nginx na Debian/Ubuntu, přečtěte si následující návod:

  • Jak nastavit ModSecurity s Nginx na Debian/Ubuntu

Odstraňování problémů

Pokud se pokoušíte vytvořit heslo, ale uvízli jste u „zhluboka se nadechněte a užijte si přítomnost v přítomném okamžiku… “, je to pravděpodobně proto, že se ve vašem konfiguračním souboru Apache nebo Nginx něco pokazilo. Pokud zkopírujete konfiguraci Apache/Nginx z článku, neměli byste mít s vytvářením hesla žádný problém.

Pokud jste povolili bránu firewall webové aplikace ModSecurity a zobrazí se Nelze ověřit klíč serveru chyba.

pak musíte do ModSecurity přidat následující vyloučení vlastních pravidel.

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

A restartujte webový server.

sudo systemctl restart apache2

nebo

sudo systemctl restart nginx

Ubuntu
  1. Jak nainstalovat plochu (GUI) na server Ubuntu

  2. Jak nainstalovat MySQL na Ubuntu 20.04

  3. Jak nainstalovat CS-Cart na Ubuntu 18.04

  1. Jak nainstalovat MySQL na Ubuntu 18.04

  2. Jak nainstalovat TeamPass Password Manager na Ubuntu 20.04

  3. Nainstalujte a nakonfigurujte Passbolt Team Password Manager na Ubuntu 20.04

  1. Jak nainstalovat KeeWeb Password Manager na Ubuntu 20.04

  2. Jak nastavit Teampass Password Manager na Ubuntu 16.04

  3. Jak nainstalovat KeyPass Password Manager na Ubuntu 20.04