sysPass ist eine webbasierte Anwendung zur Passwortverwaltung, die in PHP geschrieben ist. Es ist sicher, zuverlässig und läuft in einer Mehrbenutzerumgebung für den geschäftlichen und privaten Gebrauch. Es speichert Passwörter durch bidirektionale Verschlüsselung mit einem Master-Passwort in einer Datenbank. Es bietet eine intuitive Web-Benutzeroberfläche, mit der Sie Optionen wie LDAP-Authentifizierung, E-Mail, Auditing, Sicherung, Import/Export usw. festlegen können.
Funktionen
- Kostenlos und Open-Source
- Gruppen-/Profilzugriffskontrolle
- Passwortverschlüsselung
- Dateispeicherung mit Inline-Bildbetrachter
- Integration von OpenLDAP und Active Directory
- Benachrichtigung per E-Mail senden
In diesem Tutorial zeige ich Ihnen, wie Sie die Anwendung sysPass Password Manager installieren und mit einem kostenlosen SSL-Zertifikat von Let's Encrypt unter Debian 11 sichern.
Voraussetzungen
- Ein Server mit Debian 11.
- Ein gültiger Domainname, auf den Ihre Server-IP verweist.
- Auf dem Server ist ein Root-Passwort konfiguriert.
Installieren Sie Apache, MariaDB und PHP
sysPass läuft auf einem Webserver, verwendet MariaDB als Datenbank-Backend und ist in PHP geschrieben. Sie müssen also den Apache-Webserver, den MariaDB-Datenbankserver, PHP und andere PHP-Erweiterungen auf Ihrem Server installieren. Sie können 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, bearbeiten Sie die Datei php.ini und nehmen Sie einige Änderungen vor:
nano /etc/php/7.4/apache2/php.ini
Ändern Sie die folgenden Einstellungen:
post_max_size =100Mupload_max_filesize =100Mmax_execution_time =7200memory_limit =512Mdate.timezone =Asien/Kolkata
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie als Nächstes den Apache-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl startet Apache2 neu
Erstellen Sie eine Datenbank für sysPass
Standardmäßig ist die Installation von MariaDB nicht gesichert. Sie müssen es also zuerst sichern. Sie können es mit dem folgenden Befehl sichern:
mysql_secure_installation
Beantworten Sie alle Fragen wie unten gezeigt, um ein MariaDB-Root-Passwort festzulegen und die Installation zu sichern:
Geben Sie das aktuelle Passwort für Root ein (Eingabe für keins):Zur unix_socket-Authentifizierung wechseln [J/N] YDas Root-Passwort ändern? [J/n] JNeues Passwort:Neues Passwort erneut eingeben:Anonyme Benutzer entfernen? [J/n] YRoot-Anmeldung aus der Ferne verbieten? [J/n] YTestdatenbank und Zugriff darauf entfernen? [J/n] YBerechtigungstabellen jetzt neu laden? [J/n] Ja
Wenn Sie fertig sind, melden Sie sich mit dem folgenden Befehl bei der MariaDB-Schnittstelle an:
mysql -u root -p
Sie werden aufgefordert, ein MariaDB-Root-Passwort anzugeben. Nachdem Sie sich angemeldet haben, erstellen Sie eine Datenbank und einen Benutzer mit dem folgenden Befehl:
MariaDB [(keine)]> Datenbank syspassdb erstellen;
MariaDB [(keine)]> alle Berechtigungen auf syspassdb.* an [email protected] gewähren, identifiziert durch "Passwort";
Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> Flush-Berechtigungen;
MariaDB [(none)]> exit;
An diesem Punkt sind Ihre MariaDB-Datenbank und der Benutzer bereit für sysPass. Sie können jetzt mit dem nächsten Schritt fortfahren.
sysPass installieren
Zuerst müssen Sie die neueste Version von sysPass aus dem Git-Repository herunterladen. Sie können es mit dem folgenden Befehl herunterladen:
git-Klon https://github.com/nuxsmin/sysPass.git
Sobald der Download abgeschlossen ist, verschieben Sie das heruntergeladene Verzeichnis in das Apache-Web-Root-Verzeichnis:
mv sysPass /var/www/html/syspass
Legen Sie als Nächstes mit dem folgenden Befehl den richtigen Besitz für das Syspass-Verzeichnis fest:
chown -R www-data:www-data /var/www/html/syspass
Legen Sie als Nächstes die richtige Berechtigung für die anderen Verzeichnisse fest:
chmod 750 /var/www/html/syspass/app/{config,backup}
Als nächstes müssen Sie den Composer auf Ihrem System installieren.
Erstellen Sie zunächst ein Composer-Installationsskript mit dem folgenden Befehl:
nano /var/www/html/syspass/install-composer.sh
Fügen Sie 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 Signatur' rm komponist-setup.php Ausfahrt 1 fi php komponist-setup.php --quiet ERGEBNIS=$? rm composer-setup.php beenden $RESULT
Speichern und schließen Sie die Datei und führen Sie dann das Composer-Installationsskript mit dem folgenden Befehl aus:
cd /var/www/html/syspass/
sh install-composer.sh
Sobald der Composer installiert ist, führen Sie den folgenden Befehl aus, um alle erforderlichen PHP-Abhängigkeiten zu installieren:
php composer.phar install --no-dev
Sobald alle Abhängigkeiten installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Apache Virtual Host für sysPass konfigurieren
Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Apache-Host erstellen, um sysPass im Internet zu hosten. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/apache2/sites-available/syspass.conf
Fügen Sie die folgenden Zeilen hinzu:
ServerAdmin [email protected]DocumentRoot "/var/www/html/syspass"ServerName syspass.example.com Options MultiViews FollowSymlinksAllowOverride AllOrder allow ,denyAllow from all TransferLog /var/log/apache2/syspass_access.logErrorLog /var/log/apache2/syspass_error.log
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und aktivieren Sie den virtuellen Apache-Host mit dem folgenden Befehl:
a2ensite-syspass
Starten Sie als Nächstes den Apache-Dienst neu, um die Änderungen zu übernehmen:
systemctl startet Apache2 neu
Sie können den Status des Apache-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl-Status apache2
Sie sollten die folgende Ausgabe erhalten:
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Zugriff auf die sysPass-Web-UI
An diesem Punkt wird sysPass auf dem Apache-Webserver installiert und gehostet. Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://syspass.example.com auf die sysPass-Weboberfläche zu . Sie werden auf die folgende Seite weitergeleitet:
Geben Sie Ihren Admin-Benutzernamen, Ihr Passwort, Ihr Master-Passwort, Ihre Datenbank-Anmeldeinformationen ein, wählen Sie Ihre Sprache und Ihren Hosting-Modus und klicken Sie auf INSTALLIEREN Taste. Sobald die Installation abgeschlossen ist, werden Sie zur sysPass-Anmeldeseite weitergeleitet.
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf > Taste. Sie sollten das sysPass-Dashboard auf der folgenden Seite sehen:
Aktivieren Sie die SSL-Unterstützung von Let's Encrypt auf sysPass
Es ist immer eine gute Idee, Ihre Website mit Let's Encrypt SSL zu sichern. Zuerst müssen Sie den Certbot-Client installieren, um SSL zu installieren und zu verwalten. Standardmäßig ist das Certbot-Paket im Standard-Repository von Debian 11 enthalten, sodass Sie es mit dem folgenden Befehl installieren können:
apt-get install python3-certbot-apache -y
Führen Sie nach der Installation von Certbot den folgenden Befehl aus, um Ihre Website mit Let’s Encrypt SSL zu sichern:
certbot --apache -d syspass.example.com
Sie werden aufgefordert, Ihre E-Mail-Adresse anzugeben und die Nutzungsbedingungen wie unten gezeigt zu akzeptieren:
Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.logAusgewählte Plugins:Authenticator standalone, Installer NoneGeben Sie die E-Mail-Adresse ein (wird für dringende Verlängerungs- und Sicherheitshinweise verwendet) (Geben Sie „c“ zum Abbrechen ein):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitte lesen Sie die Nutzungsbedingungen unter https://letsencrypt.org /documents/LE-SA-v1.2-November-15-2017.pdf. Sie müssen zustimmen, um sich beim ACME-Server unter https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - zu registrieren - - - - - - - - - - - - - - -(A)gree/(C)cancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier Foundation, einem Gründungspartner des Let's Encrypt-Projekts und der gemeinnützigen Organisation, die Certbot entwickelt, zu teilen? Wir möchten Ihnen E-Mails über unsere Arbeit zur Verschlüsselung des Internets, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)o:YPlugins ausgewählt:Authenticator Apache, Installer ApacheErhalt eines neuen ZertifikatsDurchführung der folgenden Challenges:http-01 Challenge für syspass.example. comApache Rewrite-Modul aktiviertWarten auf Verifizierung...Challenges bereinigenSSL-vhost unter /etc/apache2/sites-available/syspass-le-ssl.conf erstelltApache socache_shmcb-Modul aktiviertApache SSL-Modul aktiviertApache-SSL-Modul wird bereitgestelltBereitstellung des Zertifikats auf VirtualHost /etc/apache2/sites-available/ syspass-le-ssl.conf Verfügbare Seite aktivieren:/etc/apache2/sites-available/syspass-le-ssl.conf
Wählen Sie als Nächstes aus, ob der HTTP-Datenverkehr wie unten gezeigt an HTTPS umgeleitet werden soll:
Bitte wählen Sie aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht, und den HTTP-Zugriff entfernen.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:Keine Umleitung – Nehmen Sie keine weiteren Änderungen an der Webserver-Konfiguration vor.2:Umleitung – Alle Anfragen werden auf sicheren HTTPS-Zugriff umgeleitet. Wählen Sie dies für neue Websites oder wenn Sie sicher sind, dass Ihre Website auf HTTPS funktioniert. Sie können diese Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Wählen Sie die entsprechende Nummer [1-2] und dann [enter] (drücken Sie 'c' zum Abbrechen):2
Geben Sie 2 ein und drücken Sie die Eingabetaste, um Let's Encrypt SSL für Ihre Website zu installieren:
Enabled Apache rewrite moduleRedirecting vhost in /etc/apache2/sites-enabled/syspass.conf to ssl vhost in /etc/apache2/sites-available/syspass-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Herzliche Glückwünsche! Sie haben https://syspass.example.com erfolgreich aktiviert. Testen Sie Ihre Konfiguration unter:https://www.ssllabs.com/ssltest/analyze.html?d=syspass.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -WICHTIGE HINWEISE:- Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter:/etc/letsencrypt/live/syspass.example.com/fullchain.pem Ihre Schlüsseldatei wurde gespeichert unter:/etc/letsencrypt/live/syspass.example.com/privkey.pem Ihre Das Zertifikat läuft am 20.07.2021 ab. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie einfach certbot erneut mit der Option „certonly“ aus. Um *all* Ihre Zertifikate nicht interaktiv zu erneuern, führen Sie „certbot renew“ aus. Wenn Sie Certbot mögen, ziehen Sie bitte in Betracht, unsere Arbeit zu unterstützen, indem Sie:Spende an ISRG / Let’s Encrypt:https://letsencrypt.org/donate Spende an EFF:https://eff.org/donate-le
Schlussfolgerung
Herzliche Glückwünsche! Sie haben den sysPass-Passwortmanager erfolgreich mit Apache auf Debian 11 installiert. Sie können jetzt ein anderes Konto erstellen, Benutzer hinzufügen, Zugriffsrechte vergeben und es in Ihrer Produktionsumgebung bereitstellen.