So installieren und sichern Sie phpMyAdmin unter Ubuntu 16.04

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 wird erläutert, wie Sie phpMyAdmin installieren und sichern, damit Sie damit Ihre Datenbanken sicher von einem Ubuntu 16.04-System aus verwalten können.

Voraussetzungen

Bevor Sie mit diesem Handbuch beginnen, müssen Sie einige grundlegende Schritte ausführen.

Zunächst nehmen wir an, dass Sie einen Nicht-Root-Benutzer mit sudo-Berechtigungen verwenden, wie in den Schritten 1-4 unter https://digitalocean.com/community/articles/initial-server-setup-with-ubuntu- beschrieben. 16-04 [Erstes Server-Setup von Ubuntu 16.04].

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 diesem Handbuch unter https://digitalocean.com/community/articles/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04 folgen [Installieren eines LAMP-Stacks unter Ubuntu 16.04].

Schließlich gibt es wichtige Sicherheitsaspekte bei der Verwendung von Software wie phpMyAdmin, da diese:

  • Kommuniziert direkt mit Ihrer MySQL-Installation

  • Verarbeitet die Authentifizierung mithilfe von 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 auf Remote-Systemen niemals über eine einfache HTTP-Verbindung ausführen. Wenn Sie keine vorhandene Domain mit einem SSL / TLS-Zertifikat konfiguriert haben, können Sie diesem Handbuch unter https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s- folgen. encrypt-on-ubuntu-16-04 [Apache mit Let’s Encrypt unter Ubuntu 16.04 sichern].

Sobald Sie mit diesen Schritten fertig sind, können Sie mit diesem Handbuch beginnen.

Erster Schritt - Installieren Sie phpMyAdmin

Zunächst installieren wir phpMyAdmin aus den Standard-Ubuntu-Repositories.

Wir können dies tun, indem wir unseren lokalen Paketindex aktualisieren und dann das "+ apt +" - Paketsystem verwenden, um die Dateien abzurufen und auf unserem System zu installieren:

sudo apt-get update
sudo apt-get install phpmyadmin php-mbstring php-gettext

Daraufhin werden Ihnen einige Fragen gestellt, um Ihre Installation korrekt zu konfigurieren.

  • Wählen Sie für die Serverauswahl * apache2 *.

  • Wählen Sie * yes *, wenn Sie gefragt werden, ob Sie + dbconfig-common + zum Einrichten der Datenbank verwenden möchten

  • Sie werden aufgefordert, das Kennwort Ihres Datenbankadministrators einzugeben

  • Sie werden dann aufgefordert, ein Kennwort für die Anwendung "+ phpMyAdmin +" selbst auszuwählen und zu bestätigen

Der Installationsprozess fügt die Konfigurationsdatei von phpMyAdmin Apache tatsächlich in das Verzeichnis + / etc / apache2 / conf-enabled / + ein, wo sie automatisch gelesen wird.

Das Einzige, was wir tun müssen, ist das explizite Aktivieren der PHP-Erweiterungen "+ mcrypt " und " mbstring +". Dies können wir tun, 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 das Webinterface zugreifen, indem Sie den Domain-Namen oder die öffentliche IP-Adresse Ihres Servers aufrufen, gefolgt von "+ / phpmyadmin +":

https:///phpmyadmin

Sie können sich jetzt mit dem Benutzernamen "+ root +" und dem Administratorkennwort, das Sie während der MySQL-Installation eingerichtet haben, bei der Benutzeroberfläche anmelden.

Wenn Sie sich anmelden, wird die Benutzeroberfläche angezeigt, die ungefähr so ​​aussieht:

Zweiter Schritt - Sichern Sie Ihre phpMyAdmin-Instanz

Wir konnten unsere phpMyAdmin-Oberfläche ziemlich 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 Maßnahmen ergreifen, um unbefugten Zugriff zu verhindern.

Eine der einfachsten Möglichkeiten besteht darin, ein Gateway vor der gesamten Anwendung zu platzieren. Wir können dies mit den in Apache integrierten Authentifizierungs- und Autorisierungsfunktionen "+ .htaccess +" tun.

Konfigurieren Sie Apache so, dass .htaccess-Überschreibungen zugelassen werden

Zuerst müssen wir die Verwendung von "+ .htaccess" -Dateiauswahl aktivieren, indem wir Ihre 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 Anweisung + AllowOverride All + im Abschnitt + <Directory / usr / share / phpmyadmin> + der Konfigurationsdatei wie folgt hinzufügen:

/etc/apache2/conf-available/phpmyadmin.conf

<Directory /usr/share/phpmyadmin>
   Options FollowSymLinks
   DirectoryIndex index.php

   . . .

Wenn Sie diese Zeile hinzugefügt haben, speichern und schließen Sie die Datei.

Starten Sie Apache neu, um die vorgenommenen Änderungen zu implementieren:

sudo systemctl restart apache2

Erstellen Sie eine .htaccess-Datei

Nachdem wir die Verwendung von "+ .htaccess" für Ihre Anwendung aktiviert haben, müssen wir eine erstellen, um tatsächlich eine gewisse Sicherheit zu implementieren.

Damit dies erfolgreich ist, muss die Datei im Anwendungsverzeichnis erstellt werden. Wir können die erforderliche Datei erstellen und sie mit Root-Rechten in unserem Texteditor öffnen, indem wir Folgendes eingeben:

sudo nano /usr/share/phpmyadmin/.htaccess

In dieser Datei müssen wir die folgenden Informationen eingeben:

/usr/share/phpmyadmin/.htaccess

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Sehen wir uns an, 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 Nachricht für das Authentifizierungsdialogfeld festgelegt. Sie sollten dieses Generikum beibehalten, 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 sich außerhalb der Verzeichnisse befinden, die bedient 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 es, was tatsächlich unbefugte Benutzer am Betreten hindert.

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 Ihre Kennwortdatei ausgewählt haben, war "+ / etc / phpmyadmin / .htpasswd". Wir können diese Datei jetzt erstellen und sie mit dem Hilfsprogramm + htpasswd + einem Erstbenutzer übergeben:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd

Sie werden aufgefordert, ein Kennwort für den von Ihnen erstellten Benutzer 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 Flag + -c + tun:

sudo htpasswd /etc/phpmyadmin/.htpasswd

Wenn Sie nun auf Ihr phpMyAdmin-Unterverzeichnis zugreifen, werden Sie aufgefordert, den zusätzlichen Kontonamen und das Passwort einzugeben, die Sie gerade konfiguriert haben:

https:///phpmyadmin

Nach der Eingabe der Apache-Authentifizierung gelangen Sie zur regulären phpMyAdmin-Authentifizierungsseite, auf der Sie Ihre anderen Anmeldeinformationen eingeben können. Dies wird eine zusätzliche Sicherheitsebene hinzufügen, da phpMyAdmin in der Vergangenheit unter Sicherheitslücken gelitten hat.

Fazit

Sie sollten nun phpMyAdmin auf Ihrem Ubuntu 16.04-Server konfiguriert und einsatzbereit haben. Über diese Schnittstelle können Sie auf einfache Weise Datenbanken, Benutzer, Tabellen usw. erstellen und die üblichen Vorgänge wie Löschen und Ändern von Strukturen und Daten ausführen.