Passbolt je správce hesel s otevřeným zdrojovým kódem, který vám umožňuje bezpečně ukládat a sdílet vaše heslo. Je určen pro malé a středně velké organizace k ukládání a sdílení přihlašovacích údajů mezi členy týmu. Je hostován samostatně a je k dispozici v komunitních edicích i edicích založených na předplatném.
V tomto tutoriálu vám ukážeme, jak nainstalovat správce hesel Passbolt s Nginx a Let's Encrypt SSL na CentOS 8.
Předpoklady
- Server se systémem CentOS 8.
- Platný název domény s adresou IP vašeho serveru.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Instalovat LEMP Server
Nejprve nainstalujte databázový server Nginx a MariaDB pomocí následujícího příkazu:
dnf install nginx mariadb-server -y
Dále budete muset nainstalovat nejnovější verzi PHP a další požadovaná rozšíření PHP na váš server. Ve výchozím nastavení není nejnovější verze PHP k dispozici ve výchozím repozitáři CentOS. Takže budete muset přidat EPEL a REMI repo do vašeho systému.
Obě úložiště můžete přidat pomocí následujícího příkazu:
dnf install epel-release -y
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
Dále deaktivujte výchozí PHP repo a povolte REMI repo pomocí následujícího příkazu:
Obnovení modulu dnf php
Povolení modulu dnf php:remi-7.4
Dále nainstalujte PHP s dalšími požadovanými závislostmi spuštěním následujícího příkazu:
dnf install php php-fpm php-intl php-gd php-mysqli php-json php-pear php-devel php-mbstring php-fpm git make unzip -y
Po instalaci všech balíčků budete muset upravit konfigurační soubor PHP-FPM a změnit uživatele a skupinu na Nginx.
nano /etc/php-fpm.d/www.conf
Změňte následující řádky:
user =nginxgroup =nginx
Uložte a zavřete soubor a poté změňte vlastnictví adresáře relace:
chgrp nginx /var/lib/php/session
Dále spusťte službu Nginx, MariaDB a PHP-FPM a povolte jim spuštění při restartu systému pomocí následujícího příkazu:
systemctl spustit mariadb nginx php-fpm
systemctl povolit mariadb nginx php-fpm
Dále budete muset nainstalovat rozšíření GNUPG do vašeho systému. Můžete jej nainstalovat spuštěním následujících příkazů:
dnf config-manager --set-enabled powertools
dnf install gpgme-devel
pecl install gnupg
echo "extension=gnupg.so"> /etc/php.d/gnupg .ini
Poté restartujte službu PHP-FPM, aby se změny projevily:
systemctl restart php-fpm
Instalovat Composer
Composer je správce závislostí pro PHP. Budete jej muset nainstalovat do svého systému.
Nejprve si stáhněte instalační soubor Composer pomocí následujícího příkazu:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Dále nainstalujte Composer pomocí následujícího příkazu:
php creator-setup.php --install-dir=/usr/local/bin --filename=composer
Měli byste získat následující výstup:
Všechna nastavení správná pro použití ComposerDownloading...Composer (verze 2.0.11) úspěšně nainstalována do:/usr/local/bin/composerPoužijte:php /usr/local/bin/composer
Dále ověřte verzi Composer pomocí následujícího příkazu:
skladatel -V
Měli byste získat následující výstup:
Verze skladatele 2.0.11 2021-02-24 14:57:23
Vytvořit databázi
Dále budete muset vytvořit databázi a uživatele pro Passbolt.
Nejprve se připojte k MariaDB pomocí následujícího příkazu:
mysql
Po připojení vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> VYTVOŘIT DATABÁZI passbolt VÝCHOZÍ SADA ZNAKŮ utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL ON passbolt.* TO 'passbolt'@'localhost' IDENTI;
Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat a konfigurovat Passbolt
Nejprve změňte adresář na webový kořenový adresář Nginx a stáhněte si nejnovější verzi Passboltu pomocí následujícího příkazu:
cd /var/www
klon git https://github.com/passbolt/passbolt_api.git passbolt
Po dokončení stahování změňte adresář na passbolt a nainstalujte všechny požadované závislosti pomocí následujícího příkazu:
cd passbolt
instalace skladatele --no-dev
Dále budete muset nainstalovat haveged pro vygenerování GPG klíče. Nejprve nainstalujte hasged pomocí následujícího příkazu:
dnf install hasged
Dále spusťte službu haveged pomocí následujícího příkazu:
systemctl start haveged
Dále vygenerujte klíč GPG pomocí následujícího příkazu:
gpg --full-generate-key
Odpovězte pečlivě na všechny otázky. Při žádosti o nastavení hesla ponechte pole pro heslo prázdné:
gpg (GnuPG) 2.2.9; Copyright (C) 2018 Free Software Foundation, Inc. Toto je svobodný software:můžete jej měnit a redistribuovat. NEEXISTUJE ŽÁDNÁ ZÁRUKA v rozsahu povoleném zákonem.gpg:adresář '/root/.gnupg' createdgpg:keybox '/root/.gnupg/pubring.kbx' createdVyberte prosím, jaký druh klíče chcete:(1) RSA a RSA (výchozí) (2) DSA a Elgamal (3) DSA (pouze podepsat) (4) RSA (pouze podepsat ) Váš výběr? Klíče RSA mohou mít délku 1024 až 4096 bitů. Jakou velikost klíčů chcete? (2048) Požadovaná velikost klíče je 2048 bitůUveďte prosím, jak dlouho má být klíč platný. 0 =platnost klíče nevyprší=platnost klíče vyprší za n dní w =platnost klíče vyprší za n týdnů m =platnost klíče vyprší za n měsíců y =platnost klíče vyprší za n letKlíč je platný? (0) Platnost klíče vůbec nevyprší Je to správné? (y/N) yGnuPG potřebuje vytvořit uživatelské ID k identifikaci vašeho klíče.Skutečné jméno:HiteshE-mailová adresa:[email protected]Komentář:VítejteVybrali jste toto USER-ID:"Hitesh (Welcome) <[email protected]>"Změnit ( N)jméno, (C)komentář, (E)mail nebo (O)dobrý/(Q)uit? Potřebujeme vygenerovat spoustu náhodných bajtů. Během primární generace je dobré provést nějakou jinou akci (psát na klávesnici, pohybovat myší, používat disky); to dává generátoru náhodných čísel větší šanci získat dostatek entropie. Potřebujeme vygenerovat spoustu náhodných bajtů. Během primární generace je dobré provést nějakou jinou akci (psát na klávesnici, pohybovat myší, používat disky); to dává generátoru náhodných čísel větší šanci získat dostatek entropie.gpg:/root/.gnupg/trustdb.gpg:trustdb createdgpg:klíč 1A0448FECA43E1F9 označený jako nakonec důvěryhodnýgpg:adresář '/root/.gnupg/openpgp-revocs. :Osvědčení o zrušení uloženého jako '/root/.gnupg/openpgp-revocs.d/40733a5076d11e86ef2fe5b51a0448feca43e1f9.rev'public a tajný klíč vytvořen a podepsán.Pub RSA2048 2021-03-12 [SC] 4 40733A50>sub rsa2048 2021-03-12 [E]
Poznámka :Zapamatujte si tajný klíč vygenerovaný výše.
Dále exportujte tajný klíč do souboru serverkey_private.asc a serverkey.asc pomocí následujícího příkazu:
gpg --armor --export-secret-keys [chráněno e-mailem]> /var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor --export [chráněno e-mailem]> / var/www/passbolt/config/gpg/serverkey.asc
Dále nastavte správné vlastnictví adresáře passbolt:
chown -R nginx:nginx /var/www/passbolt
Dále inicializujte svazek klíčů Nginx pomocí následujícího příkazu:
sudo su -s /bin/bash -c "gpg --list-keys" nginx
Výstup:
gpg:adresář '/var/lib/nginx/.gnupg' createdgpg:keybox '/var/lib/nginx/.gnupg/pubring.kbx' createdgpg:/var/lib/nginx/.gnupg/trustdb.gpg :trustdb vytvořen
Dále přejmenujte výchozí konfigurační soubor Passbolt:
cp config/passbolt.default.php config/passbolt.php
Dále upravte soubor passbolt.php a definujte nastavení databáze a základní URL:
nano config/passbolt.php
Změňte následující řádky:
'fullBaseUrl' => 'https://passbolt.linuxbuz.com', // Konfigurace databáze. 'Zdroje dat' => [ 'default' => [ 'host' => 'localhost', //'port' => 'non_standard_port_number', 'username' => 'passbolt', 'password' => 'password', 'database' => 'passbolt', 'serverKey' => [ // Otisk soukromého klíče serveru. 'otisk' => '40733A5076D11E86EF2FE5B51A0448FECA43E1F9', 'veřejné' => KONFIG. 'gpg'. DS. 'serverkey.asc', 'private' => CONFIG . 'gpg'. DS. 'serverkey_private.asc',
Uložte a zavřete soubor a poté nainstalujte Passbolt pomocí následujícího příkazu:
cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt install --no-admin" nginx
Měli byste získat následující výstup:
Vše hotovo. Trvalo 0,9595sImportujte soukromý klíč serveru do svazku klíčů----------------------------------------- -----------------------Import /var/www/passbolt/config/gpg/serverkey_private.ascKeyring init OKPassbolt instalace úspěšná! Užívat si! ?
Konfigurace Nginx pro Passbolt
Dále budete muset vytvořit konfigurační soubor Nginx pro Passbolt. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/nginx/conf.d/passbolt.conf
Přidejte následující řádky:
server { poslouchat 80; název_serveru passbolt.linuxbuz.com; root /var/www/passbolt; umístění / { try_files $uri $uri/ /index.php?$args; index index.php; } umístění ~ \.php$ { fastcgi_index index.php; fastcgi_pass unix:/var/run/php-fpm/www.sock; fastcgi_split_path_info ^(.+\.php)(.+)$; zahrnout fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SERVER_NAME $http_host; } umístění ~* \.(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)$ { přístup_odhlášení; log_not_found off; try_files $uri /webroot/$uri /index.php?$args; }}
Uložte a zavřete soubor a poté ověřte, zda Nginx neobsahuje nějakou chybu syntaxe:
nginx -t
Výstup:
nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšný
Poté restartujte Nginx, abyste použili změny:
systemctl restart nginx
Bezpečný Passbolt s Let's Encrypt SSL
Dále budete muset nainstalovat klienta Certbot pro instalaci Let's Encrypt SSL for Passbolt. Můžete jej nainstalovat pomocí následujícího příkazu:
dnf install letsencrypt python3-certbot-nginx
Dále získejte a nainstalujte certifikát SSL pro vaši doménu lets pomocí následujícího příkazu:
certbot --nginx -d passbolt.linuxbuz.com
Budete požádáni, abyste uvedli svou e-mailovou adresu a přijali podmínky služby:
Ukládání protokolu ladění do /var/log/letsencrypt/letsencrypt.log Vybrané pluginy:Authenticator nginx, Installer nginxZadejte e-mailovou adresu (používá se pro naléhavé obnovení a bezpečnostní upozornění) (zadejte „c“ pro zrušení):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Přečtěte si podmínky služby na https://letsencrypt. org/documents/LE-SA-v1.2-November-15-2017.pdf. Chcete-li se zaregistrovat na serveru ACME, musíte souhlasit. Souhlasíte?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/( N)o:Y- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Byli byste ochotni, Jakmile bude váš první certifikát úspěšně vydán, sdílejte svou e-mailovou adresu s Electronic Frontier Foundation, zakládajícím partnerem projektu Let's Encrypt a neziskovou organizací, která vyvíjí Certbot? Rádi bychom vám zaslali e-mail o naší práci při šifrování webu, zprávách EFF, kampaních a způsobech podpory digitální svobody.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)es/(N)ne:YAccount registrovaný.Žádost o certifikát pro passbolt.linuxbuz.comProvádění následujících výzev:http-01 výzva pro passbolt. linuxbuz.comČekání na ověření...Vyčištění výzev Nasazení certifikátu na VirtualHost /etc/nginx/conf.d/passbolt.conf Přesměrování veškerého provozu na portu 80 na ssl v /etc/nginx/conf.d/passbolt.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Gratulujeme! Úspěšně jste povolili https://passbolt.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Přihlaste se k odběru e-mailového seznamu EFF (e-mail:[e-mail chráněn]). DŮLEŽITÉ POZNÁMKY:- Gratulujeme! Váš certifikát a řetězec byly uloženy na:/etc/letsencrypt/live/passbolt.linuxbuz.com/fullchain.pem Váš soubor klíče byl uložen na:/etc/letsencrypt/live/passbolt.linuxbuz.com/privkey.pem Váš platnost certifikátu vyprší 2021-06-09. Chcete-li v budoucnu získat novou nebo vylepšenou verzi tohoto certifikátu, jednoduše znovu spusťte certbot s možností „určitě“. Chcete-li neinteraktivně obnovit *všechny* své certifikáty, spusťte "certbot renew" - Pokud se vám Certbot líbí, zvažte prosím podporu naší práce:Darováním ISRG / Let's Encrypt:https://letsencrypt.org/donate Darováním EFF:https://eff.org/donate-le
Registrace uživatele pro Passbolt
Dále budete muset zaregistrovat uživatele pro Passbolt. Můžete to udělat pomocí následujícího příkazu:
cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u [e-mail chráněný] -f howtoforge -l Demo -r admin" nginxMěli byste získat následující výstup:
____ __ ____ / __ \____ _____ ____/ /_ ____ / / /_ / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ / ____/ /_/ (_ | __ ) /_/ / /_/ / / / /_/ \__,_/____/____/_.___/\____/_/\__/ Správce hesel s otevřeným zdrojovým kódem pro týmy-------- -------------------------------------------------- -----Uživatel byl úspěšně uložen. Chcete-li zahájit registraci, klikněte na odkaz uvedený ve vaší poštovní schránce nebo zde:https://passbolt.linuxbuz.com/setup/install/f81227bc-b0b6-44b5-99a7-6b490a4ba262/5a112de0-6ca4- 4e1b-97c8-26453ef3828bPro přístup k Paaboltu můžete použít výše uvedený odkaz.
Konfigurovat bránu firewall
Dále budete muset povolit porty 80 a 443 přes bránu firewall. Můžete to udělat pomocí následujícího příkazu:
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcpNyní znovu načtěte firewall, aby se změny projevily:
firewall-cmd --reloadPřístup k webovému uživatelskému rozhraní Passbolt
Nyní otevřete webový prohlížeč a zadejte adresu URL https://passbolt.linuxbuz.com/setup/install/f81227bc-b0b6-44b5-99a7-6b490a4ba262/5a112de0-6ca4-4e1b-97c8-28453ef3 . Budete přesměrováni na následující stránku:
Zde si budete muset stáhnout rozšíření prohlížeče Passbolt a po instalaci obnovit stránku. Měli byste vidět následující stránku:
Zadejte bezpečné heslo a klikněte na Další knoflík. Měli byste vidět následující stránku:
Vyberte barvu, zadejte bezpečnostní token a klikněte na Další knoflík. Budete přesměrováni na řídicí panel Passbolt na následující stránce:
Závěr
Gratulujeme! úspěšně jste nainstalovali správce hesel Passbolt s Nginx a Let's Encrypt SSL na CentOS 8. Nyní můžete implementovat Passbolt ve své organizaci a začít bezpečně ukládat a sdílet přihlašovací údaje mezi členy týmu.
Jak nainstalovat a nakonfigurovat Docker Swarm Cluster na CentOS 8 Nainstalujte Varnish Cache 6 pro Apache/Nginx na CentOS 8Cent OS