Einführung
Während viele Benutzer die Funktionalität eines Datenbankverwaltungssystems wie MySQL benötigen, fühlen sie sich möglicherweise nicht wohl, wenn sie nur über die MySQL-Eingabeaufforderung mit dem System interagieren.
phpMyAdmin wurde erstellt, damit Benutzer über eine Weboberfläche mit MySQL interagieren können. In diesem Handbuch erfahren Sie, wie Sie phpMyAdmin installieren und sichern, damit Sie es sicher zum Verwalten Ihrer Datenbanken von einem Ubuntu 16.04-System aus verwenden können.
Voraussetzungen
Bevor Sie mit diesem Handbuch beginnen, müssen Sie einige grundlegende Schritte abgeschlossen haben.Zunächst gehen wir davon aus, dass Sie einen Nicht-Root-Benutzer mit Sudo-Rechten verwenden, wie in den Schritten 1-4 in der ersten Servereinrichtung von Ubuntu 16.04 beschrieben.
Wir gehen auch davon aus, dass Sie eine LAMP-Installation (Linux, Apache, MySQL und PHP) auf Ihrem Ubuntu 16.04-Server abgeschlossen haben. Wenn dies noch nicht abgeschlossen ist, können Sie dieser Anleitung zur Installation eines LAMP-Stacks unter Ubuntu 16.04 folgen.Schließlich gibt es wichtige Sicherheitsüberlegungen bei der Verwendung von Software wie phpMyAdmin, da es:
- Kommuniziert direkt mit Ihrer MySQL-Installation
- Behandelt die Authentifizierung mit MySQL-Anmeldeinformationen
- Führt Ergebnisse für beliebige SQL-Abfragen aus und gibt sie zurück
Aus diesen Gründen und weil es sich um eine weit verbreitete PHP-Anwendung handelt, die häufig angegriffen wird, sollten Sie phpMyAdmin niemals auf Remote-Systemen über eine einfache HTTP-Verbindung ausführen. Wenn Sie keine vorhandene Domäne mit einem SSL / TLS-Zertifikat konfiguriert haben, können Sie dieser Anleitung zum Sichern von Apache mit Let’s Encrypt unter Ubuntu 16.04 folgen.
Sobald Sie mit diesen Schritten fertig sind, können Sie mit dieser Anleitung beginnen.
Erster Schritt — Installieren Sie phpMyAdmin
Um zu beginnen, installieren wir phpMyAdmin aus den Standard-Ubuntu-Repositorys.
Wir können dies tun, indem wir unseren lokalen Paketindex aktualisieren und dann das apt
Verpackungssystem verwenden, um die Dateien abzurufen und auf unserem System zu installieren:
- sudo apt-get update
- sudo apt-get install phpmyadmin php-mbstring php-gettext
Dies wird Ihnen einige Fragen stellen, um Ihre Installation korrekt zu konfigurieren.
Warnung: Wenn die erste Eingabeaufforderung angezeigt wird, wird apache2 hervorgehoben, aber nicht ausgewählt. Wenn Sie die Leertaste nicht drücken, um Apache auszuwählen, verschiebt das Installationsprogramm die erforderlichen Dateien während der Installation nicht. Drücken Sie Leertaste, Tabulator und dann die Eingabetaste, um Apache auszuwählen.
- Wählen Sie für die Serverauswahl apache2.
- Wählen Sie ja, wenn Sie gefragt werden, ob Sie
dbconfig-common
verwenden möchten, um die Datenbank einzurichten - Sie werden nach dem Passwort Ihres Datenbankadministrators gefragt
- Sie werden dann aufgefordert, ein Passwort für die
phpMyAdmin
Anwendung selbst zu wählen und zu bestätigen
Der Installationsprozess fügt tatsächlich die phpMyAdmin Apache-Konfigurationsdatei/etc/apache2/conf-enabled/
Verzeichnis, in dem es automatisch gelesen wird.
Das einzige, was wir tun müssen, ist, die PHP mcrypt
und mbstring
Erweiterungen explizit zu aktivieren, was wir tun können, indem wir Folgendes eingeben:
- sudo phpenmod mcrypt
- sudo phpenmod mbstring
Danach müssen Sie Apache neu starten, damit Ihre Änderungen erkannt werden:
- sudo systemctl restart apache2
Sie können jetzt auf die Weboberfläche zugreifen, indem Sie den Domänennamen oder die öffentliche IP-Adresse Ihres Servers besuchen, gefolgt von /phpmyadmin
:
https://domain_name_or_IP/phpmyadmin
Sie können sich jetzt mit dem root
Benutzernamen und dem Administratorkennwort, das Sie während der MySQL-Installation eingerichtet haben, in die Benutzeroberfläche einloggen.
Wenn Sie sich anmelden, sehen Sie die Benutzeroberfläche, die ungefähr so aussieht:
Schritt zwei – Sichern Sie Ihre phpMyAdmin-Instanz
Wir konnten unsere phpMyAdmin-Oberfläche relativ einfach zum Laufen bringen. Wir sind jedoch noch nicht fertig. Aufgrund seiner Allgegenwart ist phpMyAdmin ein beliebtes Ziel für Angreifer. Wir sollten zusätzliche Schritte unternehmen, um unbefugten Zugriff zu verhindern.
Eine der einfachsten Möglichkeiten, dies zu tun, besteht darin, ein Gateway vor der gesamten Anwendung zu platzieren. Wir können dies mit den in Apache integrierten .htaccess
Authentifizierungs- und Autorisierungsfunktionen tun.
Konfigurieren Sie Apache so, dass es zulässig ist .htaccess überschreibt
Zuerst müssen wir die Verwendung von .htaccess
Dateiüberschreibungen aktivieren, indem wir unsere Apache-Konfigurationsdatei bearbeiten.
Wir bearbeiten die verknüpfte Datei, die in unserem Apache-Konfigurationsverzeichnis abgelegt wurde:
- sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Wir müssen eine AllowOverride All
Direktive innerhalb des <Directory /usr/share/phpmyadmin>
Abschnitts der Konfigurationsdatei wie folgt hinzufügen:
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .
Wenn Sie diese Zeile hinzugefügt haben, speichern und schließen Sie die Datei.
Um die vorgenommenen Änderungen zu implementieren, starten Sie Apache neu:
- sudo systemctl restart apache2
Erstellen Sie eine .htaccess-Datei
Nachdem wir .htaccess
für unsere Anwendung aktiviert haben, müssen wir eine erstellen, um tatsächlich etwas Sicherheit zu implementieren.
Damit dies gelingt, muss die Datei im Anwendungsverzeichnis angelegt werden. Wir können die erforderliche Datei erstellen und in unserem Texteditor mit Root-Rechten öffnen, indem wir Folgendes eingeben:
- sudo nano /usr/share/phpmyadmin/.htaccess
In diese Datei müssen wir die folgenden Informationen eingeben:
AuthType BasicAuthName "Restricted Files"AuthUserFile /etc/phpmyadmin/.htpasswdRequire valid-user
Lassen Sie uns durchgehen, was jede dieser Zeilen bedeutet:
-
AuthType Basic
: Diese Zeile gibt den Authentifizierungstyp an, den wir implementieren. Dieser Typ implementiert die Kennwortauthentifizierung mithilfe einer Kennwortdatei. -
AuthName
: Hiermit wird die Meldung für das Authentifizierungsdialogfeld festgelegt. Sie sollten dies generisch halten, damit nicht autorisierte Benutzer keine Informationen darüber erhalten, was geschützt wird. -
AuthUserFile
: Legt den Speicherort der Kennwortdatei fest, die für die Authentifizierung verwendet wird. Dies sollte außerhalb der Verzeichnisse liegen, die bereitgestellt werden. Wir werden diese Datei in Kürze erstellen. -
Require valid-user
: Dies gibt an, dass nur authentifizierte Benutzer Zugriff auf diese Ressource erhalten sollen. Dies ist, was tatsächlich verhindert, dass unbefugte Benutzer eintreten.
Wenn Sie fertig sind, speichern und schließen Sie die Datei.
Erstellen Sie die .htpasswd-Datei für die Authentifizierung
Der Speicherort, den wir für unsere Passwortdatei ausgewählt haben, war „/etc/phpmyadmin/.htpasswd
„. Wir können diese Datei jetzt erstellen und sie einem ersten Benutzer mit dem Dienstprogramm htpasswd
übergeben:
- sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
Sie werden aufgefordert, ein Passwort für den Benutzer, den Sie erstellen, auszuwählen und zu bestätigen. Anschließend wird die Datei mit dem von Ihnen eingegebenen Hash-Passwort erstellt.
Wenn Sie einen zusätzlichen Benutzer eingeben möchten, müssen Sie dies ohne das -c
-Flag wie folgt tun:
- sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
Wenn Sie nun auf Ihr phpMyAdmin-Unterverzeichnis zugreifen, werden Sie aufgefordert, den zusätzlichen Kontonamen und das zusätzliche Kennwort einzugeben, die Sie gerade konfiguriert haben:
https://domain_name_or_IP/phpmyadmin
Nachdem Sie die Apache-Authentifizierung eingegeben haben, werden Sie zur regulären phpMyAdmin-Authentifizierungsseite weitergeleitet, um Ihre anderen Anmeldeinformationen einzugeben. Dies wird eine zusätzliche Sicherheitsebene hinzufügen, da phpMyAdmin in der Vergangenheit unter Sicherheitslücken gelitten hat.
Fazit
Sie sollten jetzt phpMyAdmin konfiguriert und einsatzbereit auf Ihrem Ubuntu 16.04-Server haben. Mit dieser Schnittstelle können Sie ganz einfach Datenbanken, Benutzer, Tabellen usw. erstellen., und führen Sie die üblichen Operationen wie Löschen und Ändern von Strukturen und Daten durch.