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 syspassuser@localhost 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 admin@example.com 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:
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.
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche >. Auf der folgenden Seite solltest du das sysPass-Dashboard sehen:
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): hitjethva1981@gmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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.