Wie sichere ich phpmyadmin?

9

Ich habe meine Apache-Protokolle überprüft und, whooooaaa, ​​es gibt viele Bots, die versuchen, phpmyadmin auszunutzen. Das erste, was ich tat, war, den Verzeichnisnamen in etwas Dunkleres zu ändern.

Aber gibt es noch andere Tipps, um phpmyadmin zu sichern?

(Die Datenbank selbst ist nur über das lokale Netzwerk verfügbar.)

Boris Guéry
quelle
5
Auf die Datenbank selbst kann möglicherweise nur lokal zugegriffen werden. Wenn jedoch die Verwaltungsschnittstelle (phpMyAdmin) öffentlich verfügbar ist, spielt dies keine Rolle.
John Gardeniers
4
Der beste Weg, um phpMyAdmin zu sichern, besteht darin, die Verwendung des MySQL-Befehlszeilenclients zu erlernen und anschließend phpMyAdmin zu deinstallieren.
MDMarra
@MDMarra Ich stimme Ihnen absolut zu, aber ich hatte gerade eine Mission für diesen Client, für den PhpMyAdmin installiert sein musste. Ich habe es nie verwendet und bevorzuge immer SSH. Für einige Anwendungen ist das Erlernen von SQL jedoch keine Option, und eine grafische Benutzeroberfläche wie PhpMyAdmin wird von vielen Benutzern begrüßt, muss jedoch von uns, Experten und Fachleuten ordnungsgemäß gesichert werden. Es ist sehr arrogant, das Gegenteil zu denken.
Boris Guéry

Antworten:

13

Wir machen eine Kombination von Dingen:

  • Schützen Sie phpMyAdmin über die .htaccess- oder Apache-Konfiguration, die eine HTTP-Anmeldung mit Benutzername und Kennwort anfordert.
  • Schützen Sie phpMyAdmin über die .htaccess- oder Apache-Konfiguration, um nur den Zugriff von bestimmten vertrauenswürdigen IP-Adressen zuzulassen
  • Fügen Sie phpMyAdmin in seinen eigenen VirtualHost ein und führen Sie es auf einem nicht standardmäßigen Port aus
  • Erlaube nur HTTPS-Verbindungen zu phpMyAdmin und kein reguläres HTTP
  • Erlauben Sie nur Verbindungen vom LAN aus (verwenden Sie ein VPN, um durch Ihre Firewall zu gelangen, und lassen Sie Verbindungen nur zu, wenn Sie sich in diesem LAN / VPN befinden).
  • Nennen Sie das Verzeichnis nicht so offensichtlich wie / phpMyAdmin /

Sie können auch die SSH-Portweiterleitung verwenden, um SSH-Schlüssel zu verwenden. Siehe /programming//a/3687969/193494

Keith Palmer Jr.
quelle
6

Fügen Sie einen .htaccess hinzu, der nur den lokalen IP-Zugriff auf den Ordner phpmyadmin ermöglicht.

gekkz
quelle
Was ist, wenn es für Kunden gedacht ist? Viele Webhosts verwenden PHPMyAdmin.
Luc
6

Stellen Sie phpmyadmin auf einem vhost zur Verfügung, auf den nur von localhost aus zugegriffen werden kann, und fordern Sie Benutzer auf, ssh und Portweiterleitung zu verwenden, um Zugriff darauf zu erhalten.

Brian De Smet
quelle
2

Verwenden Sie .htaccess

Wir werfen einfach eine .htaccess-Datei mit Benutzernamen- / Passwortschutz und (abhängig von den Umständen) IP-Adresse auf.

Dies ermöglicht es den USA, schnell und einfach von vertrauenswürdigen Computern auf die Ressource zuzugreifen, hält jedoch die Hacker fern.

Ein weiterer Hinweis ... verwenden Sie nicht den gleichen Benutzernamen / das gleiche Passwort für Ihren .htaccess wie für PHPMyAdmin ... das wäre dumm. :-)

Hoffe das hilft.

KPWINC
quelle
2

Ich bin mit htaccess (/ w Passwort) und https einverstanden.

Sie können diesem Server auch eine zweite IP hinzufügen und einen IP-basierten Apache-Virtualhost für phpmyadmin erstellen. Dies könnte nur eine lokale Netzwerk-IP sein, sodass sie von der Firewall geschützt wird (und Sie haben möglicherweise nicht einmal eine Nat-Regel dafür).

Je mehr Ebenen (dh htaccess + https + Virtualhost), desto besser denke ich. Idealerweise sollten die Bots es überhaupt nicht erreichen können.

Sie können phpmyadmin natürlich auch immer auf eine andere Box legen.

Kyle Brandt
quelle
1

Zusätzlich zu den bereitgestellten Antworten verwenden wir auch Open Source OSSEC, um unsere Webprotokolle zu überwachen und diese Scans zu alarmieren / zu blockieren.

Die Installation ist sehr einfach und standardmäßig werden Ihre Webprotokolle gefunden und überwacht.

Link: http://www.ossec.net

sucuri
quelle
1

Verschieben Sie phpmyadmin in ein Verzeichnis, dessen Name so verdeckt ist, wie man es von einem Passwort erwarten würde, z. B.: Kombination von Buchstaben und Zahlen in Groß- und Kleinschreibung (z. B. PhP01mY2011AdMin) und ein ähnliches "sicheres" Passwort, das das Verzeichnis mit .htpasswd schützt Mache den Trick.

Wenn die Sicherheit Ihrer MySQL-Datenbanken für Ihr Unternehmen von entscheidender Bedeutung ist, muss man sich fragen: "Was tun, um ein Admin-Tool wie phpmyadmin überhaupt für das Internet zugänglich zu machen?" Aber hey, jeder hat seine Lebensgründe.

Drew
quelle
0
  • HTTPS
  • Machen Sie es nur über VPN / SSH-Tunnel erreichbar

phpmyadmin ist zu sehr ein Tier, um es zu sichern. Sie benötigen mod_security und eine Woche Zeit zum Debuggen der Warnungen, um die Hälfte der Regeln zu deaktivieren und die Funktionalität von phpmyadmin sicherzustellen. Fazit: Machen Sie es nicht öffentlich zugänglich.

weeheavy
quelle