GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer le gestionnaire de mots de passe sysPass sur Debian 11

sysPass est une application Web de gestion des mots de passe écrite en PHP. Il est sécurisé, fiable et fonctionne dans un environnement multi-utilisateurs pour une utilisation professionnelle et personnelle. Il enregistre les mots de passe à l'aide d'un cryptage bidirectionnel avec un mot de passe principal dans une base de données. Il fournit une interface utilisateur Web intuitive qui vous aide à définir des options telles que l'authentification LDAP, la messagerie, l'audit, la sauvegarde, l'importation/exportation, etc.

Caractéristiques

  • Gratuit et open source
  • Contrôle d'accès au groupe/profil
  • Cryptage du mot de passe
  • Stockage de fichiers avec visionneuse d'images intégrée
  • Intégration OpenLDAP et Active Directory
  • Fournir une notification par e-mail

Dans ce tutoriel, je vais vous montrer comment installer l'application de gestion de mots de passe sysPass et la sécuriser avec un certificat SSL Let's Encrypt gratuit sur Debian 11.

Prérequis

  • Un serveur exécutant Debian 11.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Installer Apache, MariaDB et PHP

sysPass s'exécute sur un serveur Web, utilise MariaDB comme backend de base de données et écrit en PHP. Vous devrez donc installer le serveur Web Apache, le serveur de base de données MariaDB, PHP et d'autres extensions PHP sur votre serveur. Vous pouvez tous les installer à l'aide de la commande suivante :

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

Une fois tous les packages installés, éditez le fichier php.ini et apportez quelques modifications :

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

Modifiez les paramètres suivants :

post_max_size = 100M
upload_max_filesize = 100M
max_execution_time = 7200
memory_limit = 512M
date.timezone = Asia/Kolkata

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service Apache pour appliquer les modifications de configuration :

systemctl restart apache2

Créer une base de données pour sysPass

Par défaut, l'installation de MariaDB n'est pas sécurisée. Vous devrez donc d'abord le sécuriser. Vous pouvez le sécuriser à l'aide de la commande suivante :

mysql_secure_installation

Répondez à toutes les questions comme indiqué ci-dessous pour définir un mot de passe root MariaDB et sécuriser l'installation :

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

Une fois que vous avez terminé, connectez-vous à l'interface MariaDB avec la commande suivante :

mysql -u root -p

Il vous sera demandé de fournir un mot de passe root MariaDB. Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> create database syspassdb;
MariaDB [(none)]> grant all privileges on syspassdb.* to [email protected] identified by "password";

Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

À ce stade, votre base de données MariaDB et l'utilisateur sont prêts pour sysPass. Vous pouvez maintenant passer à l'étape suivante.

Installer sysPass

Tout d'abord, vous devrez télécharger la dernière version de sysPass à partir du référentiel Git. Vous pouvez le télécharger à l'aide de la commande suivante :

git clone https://github.com/nuxsmin/sysPass.git

Une fois le téléchargement terminé, déplacez le répertoire téléchargé vers le répertoire racine Web d'Apache :

mv sysPass /var/www/html/syspass

Ensuite, définissez la propriété appropriée sur le répertoire syspass avec la commande suivante :

chown -R www-data:www-data /var/www/html/syspass

Ensuite, définissez les autorisations appropriées pour les autres répertoires :

chmod 750 /var/www/html/syspass/app/{config,backup}

Ensuite, vous devrez installer Composer sur votre système.

Commencez par créer un script d'installation de Composer avec la commande suivante :

nano /var/www/html/syspass/install-composer.sh

Ajoutez les lignes suivantes :

#!/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

Enregistrez et fermez le fichier puis exécutez le script d'installation de Composer à l'aide de la commande suivante :

cd /var/www/html/syspass/
sh install-composer.sh

Une fois Composer installé, exécutez la commande suivante pour installer toutes les dépendances PHP requises :

php composer.phar install --no-dev

Une fois toutes les dépendances installées, vous pouvez passer à l'étape suivante.

Configurer l'hôte virtuel Apache pour sysPass

Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour héberger sysPass sur Internet. Vous pouvez le créer à l'aide de la commande suivante :

nano /etc/apache2/sites-available/syspass.conf

Ajoutez les lignes suivantes :

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

Enregistrez et fermez le fichier lorsque vous avez terminé d'activer l'hôte virtuel Apache avec la commande suivante :

a2ensite syspass

Ensuite, redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

Vous pouvez également vérifier l'état du service Apache à l'aide de la commande suivante :

systemctl status apache2

Vous devriez obtenir le résultat suivant :

? 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...

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Accéder à l'interface utilisateur Web de sysPass

À ce stade, sysPass est installé et hébergé sur le serveur Web Apache. Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web sysPass en utilisant l'URL http://syspass.example.com . Vous serez redirigé vers la page suivante :

Fournissez votre nom d'utilisateur administrateur, votre mot de passe, votre mot de passe principal, les informations d'identification de la base de données, choisissez votre langue, le mode d'hébergement et cliquez sur INSTALLER bouton. Une fois l'installation terminée, vous serez redirigé vers la page de connexion sysPass.

Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur > bouton. Vous devriez voir le tableau de bord sysPass sur la page suivante :

Activer la prise en charge de Let's Encrypt SSL sur sysPass

C'est toujours une bonne idée de sécuriser votre site Web avec Let's Encrypt SSL. Tout d'abord, vous devrez installer le client Certbot pour installer et gérer le SSL. Par défaut, le package Certbot est inclus dans le référentiel par défaut de Debian 11, vous pouvez donc l'installer avec la commande suivante :

apt-get install python3-certbot-apache -y

Une fois le Certbot installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :

certbot --apache -d syspass.example.com

Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :

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

Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :

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

Tapez 2 et appuyez sur Entrée pour installer le SSL Let's Encrypt pour votre site 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

Conclusion

Toutes nos félicitations! vous avez installé avec succès le gestionnaire de mots de passe sysPass avec Apache sur Debian 11. Vous pouvez maintenant créer un compte différent, ajouter un utilisateur, accéder aux privilèges et le déployer dans votre environnement de production.


Debian
  1. Comment installer MySQL sur Debian 9

  2. Comment installer MariaDB sur Debian 9

  3. Comment installer MariaDB sur Debian 10

  4. Comment installer MariaDB 10.x sur Debian 11

  5. Comment installer MariaDB sur Debian 11

Comment installer OwnCloud sur Debian 9

Comment installer Joomla sur Debian 10

Comment installer LibreNMS sur Debian 10

Comment installer MariaDB sur Debian 11

Comment installer Nextcloud sur Debian 11

Comment installer le gestionnaire de mots de passe sysPass sur Debian 11