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

phpMyAdmin-Anmeldebildschirm

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:

phpMyAdmin—Benutzeroberfläche

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:

/etc/apache2/conf- verfügbar / phpmyadmin.conf
<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:

/usr/share/phpmyadmin/.htaccess
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

phpMyAdmin apache password

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.

Related Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.