Wenn Sie phpmyadmin in einem lokalen Test-Wamp-Setup verwenden und so ziemlich den Titel angeben, gibt es 3 Benutzer, die als user = ANY, password = NO markiert sind, wie z.
USER | HOST | Password | Global Priv | Grant
-----+---------+----------+-------------+------
Any | % | No | USAGE | No
Any | Local | No | USAGE | No
Any | Domain | No | USAGE | No
-----+---------+----------+-------------+------
Keiner der drei Benutzer hat bestimmte Berechtigungen für Tabellen, daher können sie anscheinend nicht viel tun. Handelt es sich um eine allgemeine Sicherheitsmaßnahme, um explizit anzugeben, dass "Jeder" Benutzer, der keiner anderen Benutzergruppe angehört, keine Berechtigungen hat?
mysql
phpmyadmin
Chris
quelle
quelle
Antworten:
In Wirklichkeit sind diese drei Benutzerkonten ziemlich gefährlich. Sie stellen eine sehr große Bedrohung für Testdatenbanken dar.
Leider bietet MySQL vollen Zugriff auf Testdatenbanken. Wie können Sie sie finden?
Führen Sie diese Abfrage aus:
Bei der Installation von MySQL werden zwei Zeilen angezeigt, die vollen Zugriff auf alle Datenbanken mit dem Namen "test" gewähren oder deren erste 5 Zeichen "test_" sind.
Warum ist das ein Problem ???
Versuchen Sie, diesen Befehl auszuführen:
Sie haben die Testdatenbank ohne Passwort verbunden.
Erstellen Sie nun eine Tabelle und laden Sie sie mit einer Zeile:
OK, große Sache. Könnten Sie diese Tabelle in Größe 30 mal verdoppeln?
Was bekommst du ?? Eine Tabelle mit 1.073.741.824 Zeilen. Leicht 4 GB +.
Stellen Sie sich vor, Sie erstellen eine Tabelle beliebiger Größe. Wie wäre es, eine Reihe von Tabellen in der Testdatenbank zu erstellen und nach Belieben frei darauf zuzugreifen?
Das Beste, was Sie unter diesen Umständen tun können, ist, diese Abfrage auszuführen:
und starte mysql neu. Dann werden diese drei Konten ordnungsgemäß außer Betrieb gesetzt.
Versuche es !!!
UPDATE 2011-09-12 10:00 EDT
Dies löschen:
ist genau das, was Sie für eine Erstinstallation benötigen. Wenn Sie jedoch bereits Benutzer eingerichtet haben, können Sie dies stattdessen ausführen:
Dadurch werden die beiden spezifischen DB-Berechtigungen entfernt.
Wie ich in meiner Antwort erwähnt habe, sind die drei Berechtigungen für Testdatenbanken sehr gefährlich. Durch Ausführen dieses DELETE werden diese Konten neutralisiert, da sie über die vollen Rechte zum Testen von Datenbanken verfügen.
quelle
Die Gefahr, diese anonymen Konten zu führen, wurde bereits sehr gut erklärt.
Das Handbuch enthält eine umfassende Checkliste mit Schritten, die zum " Sichern der anfänglichen MySQL-Konten " ausgeführt werden müssen.
Insbesondere im Abschnitt "Zuweisen anonymer Kontokennwörter" wird das Entfernen dieser Konten empfohlen.
Im Kapitel "Sichern von Testdatenbanken" wird außerdem Folgendes empfohlen:
Insbesondere auf Nicht-Windows-Systemen wird empfohlen, das
mysql_secure_installation
Skript auszuführen . Das Windows-Installationsprogramm bietet meines Erachtens mehrere Installationsprofile. Einige von ihnen deaktivieren automatisch unsichere Einstellungen. Wenn nicht, muss die Checkliste manuell ausgeführt werden.Bei Installateuren von Drittanbietern wie WAMP ist Vorsicht geboten. Die im offiziellen MySQL-Handbuch angegebenen Standardberechtigungen gelten möglicherweise nicht immer für diese benutzerdefinierten Installationen (wie in "außerhalb des Bereichs des Handbuchs)". Für einen Produktionsserver sind WAMP-Installationen und dergleichen natürlich um jeden Preis zu vermeiden .
quelle