Ricerca nel sito web

Come installare SysPass Password Manager su Rocky Linux


Su questa pagina

  1. Prerequisiti
  2. Installazione di Httpd Web Server
  3. Installazione del server MariaDB
  4. Installazione di PHP
  5. Installazione di Composer
  6. Installazione di SysPass Password Manager
  7. Impostazione di SELinux
  8. Configurazione dell'host virtuale Httpd
  9. Configurazione del gestore password SysPass
  10. Conclusione

SysPass è un gestore di password open source scritto in PHP con crittografia AES-256 CTR. È progettato per la gestione delle password centralizzata e collaborativa. fornisce gestione avanzata dei profili, gestione multiutente con utenti, gruppi e profili. Supporta i metodi di autenticazione tramite MySQL/MariaDB e OpenLDAP Active Directory e progettato in modo interattivo con material design tramite HTML5 e AJAX.

SysPass fornisce un'API che consente l'integrazione con altre applicazioni. Supporta il database delle password Keepass e il file CSV per le importazioni e le esportazioni. Fornisce inoltre la cronologia dell'account e ripristina punti, multilingua e collegamenti pubblici senza accesso (collegamento anonimo).

In questo tutorial installerai SysPass Password Manager con Apache2, MariaDB e PHP sul server Rocky Linux. Proteggerai anche l'installazione di SysPass con certificati SSL e imparerai anche come installare Composer su Rocky Linux per gestire le dipendenze PHP.

Prerequisiti

Per completare questo tutorial, avrai bisogno dei seguenti requisiti:

  • Un server Rocky Linux - Puoi usare Rocky Linux v8 o v9.
  • Un utente non root con privilegi sudo root.
  • Un nome di dominio completo viene indirizzato all'indirizzo IP del tuo server.

Installazione di Httpd Web Server

Per questa guida, eseguirai SysPass Password Manager con il server web Apache o httpd. Su Rocky Linux, il server Web httpd è disponibile per impostazione predefinita sui repository BaseOS e AppStream.

Installerai facilmente il server Web httpd tramite il repository ufficiale di Rocky Linux.

Eseguire il comando dnf di seguito per installare il server web httpd.

sudo dnf install httpd

Immettere Y per confermare l'installazione e premere INVIO per procedere.

Una volta installato httpd, eseguire il comando systemctl di seguito per avviare e abilitare il servizio httpd. Il comando systemctl enable consente di eseguire i servizi all'avvio del sistema.

sudo systemctl start httpd
sudo systemctl enable httpd

Ora, esegui il seguente comando per verificare lo stato del servizio httpd e assicurati che il servizio sia in esecuzione.

sudo systemctl status httpd

Riceverai l'output come il seguente screenshot. Il servizio httpd è attualmente in esecuzione ed è abilitato.

Ora, se hai il firewalld attivo e funzionante sul tuo server Rocky Linux, devi aggiungere entrambi i servizi HTTP e HTTPS al firewalld.

Esegui il seguente comando firwewall-cmd di seguito per aggiungere il servizio HTTP e HTTPS al file firewalld.

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

Successivamente, ricarica il firewalld e verifica lo stato della regola utilizzando il comando seguente.

sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Dovresti vedere l'output del servizio HTTP e HTTPS aggiunto a firewalld.

Installazione del server MariaDB

SysPass Password Manager supporta MySQL o MariaDB per il database. In questo passaggio, installerai MariaDB e lo proteggerai tramite il comando mysql_secure_installation.

mysql_secure_installation è una riga di comando fornita dai pacchetti MariaDB che ti consente di impostare l'installazione di MariaDB come impostare la password di root, disabilitare l'accesso remoto per l'utente root, rimuovere l'utente anonimo e testare il database.

Per installare MariaDB, eseguire il seguente comando dnf. Quando viene richiesto di confermare l'installazione, immettere Y e premere INVIO per procedere.

sudo dnf install mariadb-server

Una volta installato MariaDB, avvia e abilita il servizio MariaDB tramite il comando systemctl di seguito.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Ora verifica il servizio MariaDB per assicurarti che sia abilitato e in esecuzione.

sudo systemctl status mariadb

Dovresti vedere che l'output del servizio MariaDB è abilitato e verrà eseguito automaticamente all'avvio del sistema. E lo stato del servizio MariaDB è in esecuzione.

Ora che il servizio MariaDB è in esecuzione, è il momento di proteggere la distribuzione di MariaDB tramite mysql_secure_installation.

Esegui il comando seguente per proteggere la distribuzione di MariaDB.

sudo mysql_secure_installation

Ora ti verranno chieste le seguenti configurazioni del server MariaDB:

  1. Cambiare l'autenticazione in unix_socket? inserire n per n.
  2. Cambiare la password root di MariaDB? inserisci y per confermare, quindi inserisci la nuova password per il tuo utente root MariaDB.
  3. Disabilitare l'accesso remoto per l'utente root? inserire y per sì.
  4. Rimuovere l'utente anonimo? inserire y.
  5. Rimuovere il test del database predefinito? inserire di nuovo y.
  6. Infine, ricaricare i privilegi delle tabelle e applicare nuove configurazioni? inserire y per confermare.

Ora hai installato e protetto MariaDB sul tuo server.

Installazione di PHP

Dopo aver installato MariaDB, ora installerai PHP sul tuo server Rocky Linux. SysPass Password Manager richiedeva l'installazione di PHP 7.4, quindi ora lo installerai tramite il repository REMI.

Per Rocky Linux 8: eseguire il seguente comando per aggiungere il repository REMI.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Per Rocky Linux 9: eseguire il seguente comando per aggiungere il repository REMI

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

Immettere y quando viene richiesto di confermare l'installazione.

Ora, esegui il comando dnf di seguito per verificare l'elenco dei pacchetti PHP disponibili. E dovresti vedere che il repository REMI fornisce più versioni PHP 7.4, 8.0, 8.1 e 8.2.

sudo dnf module list php

Per l'installazione di SysPass, installerai PHP 7.4. Quindi, esegui il seguente comando per abilitare il modulo PHP remi-7.4. Immettere Y per confermare e abilitare il modulo.

sudo dnf module enable php:remi-7.4

Ora esegui il seguente comando dnf per installare PHP 7.4 sul tuo sistema.

sudo dnf install -y php php-pear php-cgi php-cli php-common php-gd php-json php-mysql php-readline php curl php-intl php-ldap php-mcrypt php-xml php-mbstring php-zip

L'installazione dovrebbe iniziare e ti verrà chiesto di confermare l'installazione. Immettere y e premere INVIO per procedere.

Una volta installato PHP, modifica il file di configurazione predefinito /etc/php.ini utilizzando il seguente comando.

sudo nano /etc/php/7.4/apache2/php.ini

Modifica la configurazione PHP predefinita con le seguenti impostazioni. assicurati di regolare il fuso orario e il memory_limit in base al tuo ambiente di sistema.

post_max_size = 120M
upload_max_filesize = 120M
max_execution_time = 6000
memory_limit = 256M
date.timezone = Europe/Stockholm

Salva il file ed esci dall'editor quando hai finito.

Ora, esegui il seguente comando systemctl per riavviare il servizio httpd e applicare le configurazioni PHP. E ora hai terminato l'installazione di base di LAMP Stack per SysPass Password Manager.

sudo systemctl restart httpd

Installazione del compositore

Un'altra dipendenza richiesta per SysPass è Composer. Questo verrà utilizzato per installare le dipendenze PHP per l'applicazione web SysPass.

Esegui il seguente comando per installare Composer sulla tua macchina Rocky Linux.

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Di seguito riceverai l'output:

Ora, verifica il compositore usando il comando seguente. Dovresti vedere la versione di PHP Composer installata sul tuo sistema.

sudo -u apache composer -v

Dopo aver installato Composer, avvierai l'installazione di SysPass.

Installazione di SysPass Password Manager

Per cominciare, esegui il seguente comando dnf per installare git e decomprimere i pacchetti sul tuo sistema.

sudo dnf install git unzip -y

Ora, scarica il codice sorgente di SysPass tramite il comando git nella directory di installazione di destinazione /var/www/syspass.

git clone https://github.com/nuxsmin/sysPass.git /var/www/syspass

Eseguire il seguente comando per modificare la proprietà e l'autorizzazione della directory di installazione di SysPass. La proprietà dovrebbe essere l'utente apache, che è l'httpd in esecuzione.

sudo chown -R apache:apache /var/www/syspass
sudo chmod 750 /var/www/syspass/app/config /var/www/syspass/app/backup

Successivamente, esegui il seguente comando per creare una directory della cache per Composer. Quindi, cambia la proprietà all'utente apache. Questa directory verrà utilizzata per memorizzare le dipendenze PHP per la tua applicazione.

sudo mkdir -p /usr/share/httpd/.cache
sudo chown -R apache:apache /usr/share/httpd/.cache

Infine, spostati nella directory di installazione di SysPass /var/www/syspass e installa le dipendenze PHP per SysPass tramite il comando composer di seguito.

cd /var/www/syspass
sudo -u apache composer install --no-interaction --no-dev

Nello screenshot seguente, vedrai l'installazione delle dipendenze PHP per SysPass Password Manager.

Una volta installate le dipendenze PHP, vai al passaggio seguente.

Configurazione di SELinux

Se stai eseguendo SysPass con SELinux in modalità enforcing, devi aggiungere una nuova regola SELinux al tuo sistema.

Prima di iniziare a gestire SELinux, esegui il seguente comando per assicurarti che il seguente pacchetto sia installato.

sudo dnf install policycoreutils-python-utils -y

Successivamente, esegui il seguente comando per aggiungere la politica SELinux che verrà utilizzata da SysPass.

In questo comando, consentirai al servizio httpd di connettersi a LDAP tramite la rete (quando stai utilizzando l'autenticazione LDAP) e inoltre stai etichettando l'etichetta corretta per il codice sorgente SysPass.

sudo setsebool -P httpd_can_connect_ldap 1
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/syspass/app/(config|backup|cache|temp)(/.*)?"
sudo restorecon -R -v /var/www/syspass

Configurazione dell'host virtuale Httpd

Ora configurerai l'host virtuale httpd/apache2 per SysPass Password Manager. prima di iniziare, assicurati di disporre di certificati SSL e che il nome di dominio sia indirizzato all'indirizzo IP del tuo server.

Eseguire il seguente comando dnf di seguito per installare il pacchetto mod_ssl per il server web httpd.

sudo dnf install mod_ssl -y

Dopo l'installazione di mod_ssl, eseguire il comando seguente per generare certificati SSL per localhost. È necessario generare questo certificato, altrimenti httpd non verrà eseguito. Questo certificato è utilizzato da localhost nella configurazione /etc/httpd/conf.d/ssl.conf.

sudo openssl req -newkey rsa:4096  -x509  -sha512  -days 365 -nodes -out /etc/pki/tls/certs/localhost.crt -keyout /etc/pki/tls/private/localhost.key

Successivamente, crea una nuova configurazione dell'host virtuale /etc/httpd/conf.d/syspass.conf utilizzando il seguente comando nano editor.

sudo nano /etc/httpd/conf.d/syspass.conf

Aggiungere la seguente configurazione al file. E assicurati anche di cambiare il nome di dominio e il percorso dei certificati SSL.

#
# File: syspass.conf
#

RedirectMatch "^/$" "/index.php"

<Directory "/var/www/syspass">
    DirectoryIndex index.php
    Options -Indexes -FollowSymLinks -Includes -ExecCGI

    <RequireAny>
      Require expr "%{REQUEST_URI} =~ m#.*/index\.php(\?r=)?#"
      Require expr "%{REQUEST_URI} =~ m#.*/api\.php$#"
      Require expr "%{REQUEST_URI} =~ m#^/?$#"
    </RequireAny>
</Directory>

<FilesMatch ".(png|jpg|js|css|ttf|otf|eot|woff|woff2|ico)$">
    Require all granted
</FilesMatch>

<VirtualHost *:80>
  ServerName syspass.hwdomain.io

  ServerAdmin
    DocumentRoot /var/www/syspass

    ErrorLog /var/log/httpd/error.log
    CustomLog /var/log/httpd/access.log combined

    SSLEngine on

    SSLCertificateFile        /etc/letsencrypt/live/syspass.hwdomain.io/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/syspass.hwdomain.io/privkey.pem

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
              SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
              SSLOptions +StdEnvVars
    </Directory>

    BrowserMatch "MSIE [2-6]" \
      nokeepalive ssl-unclean-shutdown \
      downgrade-1.0 force-response-1.0
    # MSIE 7 and newer should be able to use keepalive
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
  </VirtualHost>
</IfModule>

Salva il file ed esci dall'editor quando hai finito.

Ora esegui il seguente comando per verificare la configurazione httpd e assicurati di avere le configurazioni httpd corrette.

sudo apachectl configtest

Se hai configurazioni httpd corrette e appropriate, vedrai il messaggio di output come Syntax OK.

Infine, esegui il comando systemctl di seguito per riavviare il servizio httpd e applicare le nuove modifiche. Il tuo SysPass Password Manager è ora installato e pronto per essere configurato.

sudo systemctl restart httpd

Configurazione del gestore password SysPass

Apri il tuo browser web e visita il nome di dominio della tua installazione SysPass (ad esempio: https://syspass.hwdomain.io).

Ora dovrai creare un nuovo utente amministratore e una nuova password per il tuo SysPass. Quindi, inserisci la nuova password principale. Assicurati di utilizzare una password forte e facile da ricordare sia per l'amministratore che per la password principale.

Nella pagina in basso, inserisci il nome utente del database come root e inserisci la tua password. Quindi, inserisci il nome del database che verrà creato automaticamente dal programma di installazione di SysPass.

Inoltre, puoi cambiare la lingua di installazione predefinita con la tua lingua preferita.

Quando sei pronto, fai clic su \INSTALL\ per avviare l'installazione di SysPass.

Una volta installato SysPass, otterrai la pagina di accesso di SysPass Password Manager.

Inserisci il tuo utente amministratore e la password, quindi fai clic sul pulsante di accesso.

Se stai utilizzando l'utente e la password corretti, vedrai la dashboard di SysPass Password Manager.

Da lì, ora puoi aggiungere nuovi utenti e gruppi, importare password di database da file CSV o file di database Kepass, oppure puoi anche integrare l'autenticazione tramite LDAP.

Conclusione

In questo tutorial, hai installato e configurato SysPass Password Manager su Rocky Linux. Hai anche installato LAMP Stack (Apache2/httpd, MariaDB e PHP) e Composer sul tuo server Rocky Linux.

Con SysPass installato e protetto, ora puoi usarlo come gestore di password quotidiano. oppure puoi aggiungere altri utenti per la tua organizzazione interna.