sysPass je webová aplikace pro správu hesel napsaná v PHP. Je bezpečný, spolehlivý a běží ve víceuživatelském prostředí pro obchodní i osobní použití. Ukládá hesla pomocí obousměrného šifrování s hlavním heslem do databáze. Poskytuje intuitivní webové uživatelské rozhraní, které vám pomůže nastavit možnosti, jako je ověření LDAP, pošta, auditování, zálohování, import/export atd.
Funkce
- Zdarma a open source
- Řízení přístupu ke skupině/profilu
- Šifrování hesla
- Úložiště souborů s vloženým prohlížečem obrázků
- Integrace OpenLDAP a Active Directory
- Poskytnout upozornění e-mailem
V tomto tutoriálu vám ukážu, jak nainstalovat aplikaci pro správu hesel sysPass a zabezpečit ji pomocí bezplatného certifikátu Let's Encrypt SSL na Debian 11.
Předpoklady
- Server se systémem Debian 11.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat Apache, MariaDB a PHP
sysPass běží na webovém serveru, používá MariaDB jako databázový backend a je napsán v PHP. Budete tedy muset na svůj server nainstalovat webový server Apache, databázový server MariaDB, PHP a další rozšíření PHP. Všechny je můžete nainstalovat pomocí následujícího příkazu:
apt-get install apache2 mariadb-server libapache2-mod-php php php-mysqli php-pdo php-pear php php-cgi php-cli php-common php-gd php-json php-readline php-curl php-intl php-ldap php-xml php-mbstring git -y
Jakmile jsou všechny balíčky nainstalovány, upravte soubor php.ini a proveďte nějaké změny:
nano /etc/php/7.4/apache2/php.ini
Změňte následující nastavení:
post_max_size = 100M upload_max_filesize = 100M max_execution_time = 7200 memory_limit = 512M date.timezone = Asia/Kolkata
Po dokončení uložte a zavřete soubor. Poté restartujte službu Apache, abyste použili změny konfigurace:
systemctl restart apache2
Vytvoření databáze pro sysPass
Ve výchozím nastavení není instalace MariaDB zabezpečena. Nejprve jej tedy musíte zajistit. Můžete jej zabezpečit pomocí následujícího příkazu:
mysql_secure_installation
Chcete-li nastavit kořenové heslo MariaDB a zabezpečit instalaci, odpovězte na všechny níže uvedené otázky:
Enter current password for root (enter for none): Switch to unix_socket authentication [Y/n] Y Change the root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Jakmile budete hotovi, přihlaste se do rozhraní MariaDB pomocí následujícího příkazu:
mysql -u root -p
Budete požádáni o zadání rootovského hesla MariaDB. Jakmile se přihlásíte, vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> create database syspassdb;
MariaDB [(none)]> grant all privileges on syspassdb.* to [email protected] identified by "password";
Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
V tomto okamžiku je vaše databáze MariaDB a uživatel připraveni na sysPass. Nyní můžete přejít k dalšímu kroku.
Instalovat sysPass
Nejprve si budete muset stáhnout nejnovější verzi sysPass z úložiště Git. Můžete si jej stáhnout pomocí následujícího příkazu:
git clone https://github.com/nuxsmin/sysPass.git
Po dokončení stahování přesuňte stažený adresář do kořenového webového adresáře Apache:
mv sysPass /var/www/html/syspass
Dále nastavte správné vlastnictví adresáře syspass pomocí následujícího příkazu:
chown -R www-data:www-data /var/www/html/syspass
Dále nastavte správná oprávnění pro ostatní adresáře:
chmod 750 /var/www/html/syspass/app/{config,backup}
Dále budete muset nainstalovat Composer do vašeho systému.
Nejprve vytvořte instalační skript Composer pomocí následujícího příkazu:
nano /var/www/html/syspass/install-composer.sh
Přidejte následující řádky:
#!/bin/sh EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)" php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ] then >&2 echo 'ERROR: Invalid installer signature' rm composer-setup.php exit 1 fi php composer-setup.php --quiet RESULT=$? rm composer-setup.php exit $RESULT
Uložte a zavřete soubor a poté spusťte instalační skript Composer pomocí následujícího příkazu:
cd /var/www/html/syspass/
sh install-composer.sh
Jakmile je Composer nainstalován, spusťte následující příkaz pro instalaci všech požadovaných závislostí PHP:
php composer.phar install --no-dev
Jakmile jsou všechny závislosti nainstalovány, můžete přejít k dalšímu kroku.
Konfigurace virtuálního hostitele Apache pro sysPass
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro hostování sysPass na internetu. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/apache2/sites-available/syspass.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/syspass" ServerName syspass.example.com <Directory "/var/www/html/syspass/"> Options MultiViews FollowSymlinks AllowOverride All Order allow,deny Allow from all </Directory> TransferLog /var/log/apache2/syspass_access.log ErrorLog /var/log/apache2/syspass_error.log </VirtualHost>
Po dokončení uložte a zavřete soubor, aktivujte virtuálního hostitele Apache pomocí následujícího příkazu:
a2ensite syspass
Poté restartujte službu Apache, aby se změny projevily:
systemctl restart apache2
Stav služby Apache můžete také zkontrolovat pomocí následujícího příkazu:
systemctl status apache2
Měli byste získat následující výstup:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-10-16 13:41:36 UTC; 4s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 17819 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 17824 (apache2) Tasks: 6 (limit: 2341) Memory: 14.7M CPU: 76ms CGroup: /system.slice/apache2.service ??17824 /usr/sbin/apache2 -k start ??17825 /usr/sbin/apache2 -k start ??17826 /usr/sbin/apache2 -k start ??17827 /usr/sbin/apache2 -k start ??17828 /usr/sbin/apache2 -k start ??17829 /usr/sbin/apache2 -k start Oct 16 13:41:36 debian11 systemd[1]: Starting The Apache HTTP Server...
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup k webovému uživatelskému rozhraní sysPass
V tomto okamžiku je sysPass nainstalován a hostován na webovém serveru Apache. Nyní otevřete webový prohlížeč a přejděte na webové rozhraní sysPass pomocí adresy URL http://syspass.example.com . Budete přesměrováni na následující stránku:
Zadejte své uživatelské jméno správce, heslo, hlavní heslo, přihlašovací údaje k databázi, vyberte jazyk, režim hostování a klikněte na INSTALOVAT knoflík. Po dokončení instalace budete přesměrováni na přihlašovací stránku sysPass.
Zadejte své uživatelské jméno a heslo správce a klikněte na > knoflík. Na následující stránce byste měli vidět řídicí panel sysPass:
Povolit podporu Let's Encrypt SSL na sysPass
Vždy je dobré zabezpečit svůj web pomocí Let's Encrypt SSL. Nejprve budete muset nainstalovat klienta Certbot, abyste mohli nainstalovat a spravovat SSL. Ve výchozím nastavení je balíček Certbot součástí výchozího úložiště Debian 11, takže jej můžete nainstalovat pomocí následujícího příkazu:
apt-get install python3-certbot-apache -y
Jakmile je Certbot nainstalován, spusťte následující příkaz k zabezpečení svého webu pomocí Let's Encrypt SSL:
certbot --apache -d syspass.example.com
Budete požádáni, abyste poskytli svůj e-mail a přijali podmínky služby, jak je uvedeno níže:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for syspass.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/syspass-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/syspass-le-ssl.conf Enabling available site: /etc/apache2/sites-available/syspass-le-ssl.conf
Dále vyberte, zda chcete přesměrovat provoz HTTP na HTTPS, jak je uvedeno níže:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Napište 2 a stiskněte Enter pro instalaci Let's Encrypt SSL pro váš web:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/syspass.conf to ssl vhost in /etc/apache2/sites-available/syspass-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://syspass.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=syspass.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/syspass.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/syspass.example.com/privkey.pem Your cert will expire on 2021-07-20. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Závěr
Gratulujeme! úspěšně jste nainstalovali správce hesel sysPass s Apache na Debian 11. Nyní můžete vytvořit jiný účet, přidat uživatele, získat přístupová práva a nasadit jej ve vašem produkčním prostředí.