So installierst du sysPass Password Manager unter Debian 11

sysPass ist eine webbasierte, in PHP geschriebene Anwendung zur Passwortverwaltung. Sie ist sicher, zuverlässig und läuft in einer Mehrbenutzerumgebung für den geschäftlichen und privaten Gebrauch. Es speichert Passwörter mit bidirektionaler Verschlüsselung und einem Master-Passwort in einer Datenbank. Sie bietet eine intuitive Web-Oberfläche, mit der du Optionen wie LDAP-Authentifizierung, E-Mail, Auditing, Backup, Import/Export usw. einstellen kannst.

Funktionen

  • Kostenlos und Open-Source
  • Zugriffskontrolle für Gruppen/Profile
  • Passwortverschlüsselung
  • Dateispeicherung mit Inline-Bildbetrachter
  • Integration von OpenLDAP und Active Directory
  • Benachrichtigung per E-Mail

In dieser Anleitung zeige ich dir, wie du die Passwortmanager-Anwendung sysPass installierst und mit einem kostenlosen Let’s Encrypt SSL-Zertifikat unter Debian 11 absicherst.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Installiere Apache, MariaDB und PHP

sysPass läuft auf einem Webserver, nutzt MariaDB als Datenbank-Backend und ist in PHP geschrieben. Du musst also den Apache-Webserver, den MariaDB-Datenbankserver, PHP und andere PHP-Erweiterungen auf deinem Server installieren. Du kannst sie alle mit dem folgenden Befehl installieren:

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

Sobald alle Pakete installiert sind, bearbeite die Datei php.ini und nimm einige Änderungen vor:

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

Ändere die folgenden Einstellungen:

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

Speichere und schließe die Datei, wenn du fertig bist. Starte anschließend den Apache-Dienst neu, um die Konfigurationsänderungen zu übernehmen:

systemctl restart apache2

Eine Datenbank für sysPass erstellen

Standardmäßig ist die MariaDB-Installation nicht gesichert. Deshalb musst du sie zuerst sichern. Du kannst sie mit dem folgenden Befehl sichern:

mysql_secure_installation

Beantworte alle Fragen wie unten gezeigt, um ein MariaDB Root-Passwort zu setzen und die Installation zu sichern:

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

Sobald du fertig bist, melde dich mit folgendem Befehl bei der MariaDB-Oberfläche an:

mysql -u root -p

Du wirst aufgefordert, ein MariaDB Root-Passwort anzugeben. Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:

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

Als Nächstes löschst du die Berechtigungen und verlässt die MariaDB-Shell mit dem folgenden Befehl:

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

Jetzt sind deine MariaDB-Datenbank und der Benutzer bereit für sysPass. Du kannst jetzt mit dem nächsten Schritt fortfahren.

sysPass installieren

Zuerst musst du die neueste Version von sysPass aus dem Git-Repository herunterladen. Du kannst sie mit folgendem Befehl herunterladen:

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

Sobald der Download abgeschlossen ist, verschiebe das heruntergeladene Verzeichnis in das Apache-Web-Root-Verzeichnis:

mv sysPass /var/www/html/syspass

Als Nächstes musst du mit folgendem Befehl die Eigentumsrechte für das syspass-Verzeichnis festlegen:

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

Setze dann die richtigen Rechte für die anderen Verzeichnisse:

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

Als Nächstes musst du den Composer auf deinem System installieren.

Erstelle zunächst ein Composer-Installationsskript mit dem folgenden Befehl:

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

Füge die folgenden Zeilen hinzu:

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

Speichere und schließe die Datei und führe das Composer-Installationsskript mit dem folgenden Befehl aus:

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

Sobald der Composer installiert ist, führe den folgenden Befehl aus, um alle erforderlichen PHP-Abhängigkeiten zu installieren:

php composer.phar install --no-dev

Sobald alle Abhängigkeiten installiert sind, kannst du mit dem nächsten Schritt fortfahren.

Apache Virtual Host für sysPass konfigurieren

Als Nächstes musst du eine Konfigurationsdatei für einen virtuellen Apache-Host erstellen, um sysPass im Internet zu hosten. Du kannst sie mit dem folgenden Befehl erstellen:

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

Füge die folgenden Zeilen ein:

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

Speichere und schließe die Datei, wenn du fertig bist. Aktiviere den virtuellen Apache-Host mit dem folgenden Befehl:

a2ensite syspass

Starte anschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Du kannst den Status des Apache-Dienstes auch mit folgendem Befehl überprüfen:

systemctl status apache2

Du solltest die folgende Ausgabe erhalten:

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

Sobald du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Zugriff auf die sysPass Web UI

Zu diesem Zeitpunkt ist sysPass installiert und wird auf dem Apache-Webserver gehostet. Öffne nun deinen Webbrowser und rufe die sysPass-Weboberfläche über die URL http://syspass.example.com auf. Du wirst auf die folgende Seite weitergeleitet:

Master-Passwort

Datenbank-Konfiguration

Gib deinen Admin-Benutzernamen, dein Passwort, dein Master-Passwort und deine Datenbank-Anmeldedaten ein, wähle deine Sprache und den Hosting-Modus aus und klicke auf die Schaltfläche INSTALLIEREN. Sobald die Installation abgeschlossen ist, wirst du zur Anmeldeseite von sysPass weitergeleitet.

sysPass Login

Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche >. Auf der folgenden Seite solltest du das sysPass-Dashboard sehen:

sysPass Dashboard

Let’s Encrypt SSL-Unterstützung auf sysPass aktivieren

Es ist immer eine gute Idee, deine Website mit Let’s Encrypt SSL zu sichern. Zunächst musst du den Certbot-Client installieren, um das SSL zu installieren und zu verwalten. Standardmäßig ist das Certbot-Paket im Standard-Repository von Debian 11 enthalten, sodass du es mit dem folgenden Befehl installieren kannst:

apt-get install python3-certbot-apache -y

Sobald Certbot installiert ist, führe den folgenden Befehl aus, um deine Website mit Let’s Encrypt SSL zu sichern:

certbot --apache -d syspass.example.com

Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

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

Als Nächstes wählst du aus, ob der HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

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

Gib 2 ein und drücke die Eingabetaste, um Let’s Encrypt SSL für deine Website zu installieren:

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

Fazit

Herzlichen Glückwunsch! Du hast den sysPass Passwortmanager mit Apache unter Debian 11 erfolgreich installiert. Du kannst jetzt ein anderes Konto erstellen, Benutzer hinzufügen, Zugriffsrechte festlegen und es in deiner Produktionsumgebung einsetzen.

Das könnte dich auch interessieren …