Übersicht StandardbenutzerAccounts MYSQL

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Übersicht StandardbenutzerAccounts MYSQL

Postby kafri » 10. August 2015 10:44

Hallo zusammen,

Ich habe eine Frage zu den StandardbenutzerAccounts in MySQL. Vorneweg: Ich bin nur Urlaubs- und Krankheitsvertretung und musste mich noch nie mit der Thematik beschäftigen.

Ich habe den Auftrag bekommen, eine PHP MyAdmin-Konfiguration zu ändern. Bisher kann jeder, der sich auf dem Server anmelden kann (normale Nutzer und Admins), auch die PHPMyAdmin-Oberfläche öffnen, da die Anmeldung nicht gesperrt ist. Wenn ich es richtig verstanden habe, kann ich in der PHPMyAdmin config ['auth_type'] = 'config'; auf 'http' ändern.

Dann bekomme ich zwar eine Passwort-Abfrage, aber wenn ich einen X-Beliebigen Namen eintrage ohne Passwort, dann kommt man trotzdem rein.

Ursache ist wohl, dass es folgende Benutzeraccounts gibt:
Benutzer Host Password
Jeder % --
Jeder Localhost Nein


Ich habe nirgendwo gefunden wofür diese Accounts notwendig sind.Kann ich die einfach löschen? Der Benutzer PMA hat auch kein Passwort. Wenn ich da eins setzte, hat das Auswirkungen auf etwas?

Noch zur Info: Das Ganze läuft auf einem Windows Server 2008 und wird in einer Produktivumgebung eingesetzt.

Ich wäre über jeden Hinweis dankbar. Wie gesagt, bin totaler Laie, muss die MySQL Oberfläche aber bis Mittwoch geschützt haben.

Vielen Dank im Voraus.
kafri
 
Posts: 2
Joined: 10. August 2015 09:54
Operating System: Windows Server 2008

Re: Übersicht StandardbenutzerAccounts MYSQL

Postby Nobbie » 10. August 2015 11:09

kafri wrote:Ich habe nirgendwo gefunden wofür diese Accounts notwendig sind


Für MySQL sind sie nicht notwendig, aber irgendwer hat das mal irgendwann da reingeschrieben. Ich habe keine Ahnung, ob bei Euch irgendeine Software das benötigt. Ist eine derbe Sicherheitslücke, aber warum das jemand so angelegt hat, kann Dir hier niemand sagen.

kafri wrote:Kann ich die einfach löschen? Der Benutzer PMA hat auch kein Passwort. Wenn ich da eins setzte, hat das Auswirkungen auf etwas?


Schwer zu sagen. Da musst Du die Anwendungen untersuchen, die laufen, ob irgendeine dieser Anwendung diese Zugangsdaten benutzt.

kafri wrote:Ich wäre über jeden Hinweis dankbar. Wie gesagt, bin totaler Laie, muss die MySQL Oberfläche aber bis Mittwoch geschützt haben.


Wenn das so wichtig ist, sollte die Firma keinen Laien daran setzen. Bevor Dir gar nichts einfällt, benenne das phpmyadmin Verzeichnis doch einfach irgendwie anders (xlkdjfls oder so), das weiß außer Dir keiner und dann kann man die Software gar nicht erst im Browser starten.

P.S.: Was natürlich auch geht, setze den Auth-Type wieder auf "config" zurück und baue selbst eine HTTP Authentifizierung für den Ordner phpmyadmin. Da kannst Du dann einen beliebigen User und ein beliebiges Passwort festlegen. Das eigentlich Problem besteht allerdings so oder so darin, dass sich jeder selbst so ein PhpMyAdmin installieren kann und gibt einfach die o.g. MySQL Zugangsdaten an, der Benutzer "Jeder" ohne Passwort ist schon ein Kracher. Das MUSS jemand wissen, warum der existiert und wer den angelegt hat. Alles andere wäre chaotisch (ist es eigentlich so schon).
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Übersicht StandardbenutzerAccounts MYSQL

Postby Altrea » 10. August 2015 13:09

Schau dir mal die Benutzerberechtigungen von diesen Benutzern an.

Normalerweise sollten diese nur Leserechte und nur auf die Datenbank "test" und information_schema haben.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Übersicht StandardbenutzerAccounts MYSQL

Postby kafri » 10. August 2015 14:05

Vielen Dank für die bisherigen Reaktionen!

Nobbie wrote:
Für MySQL sind sie nicht notwendig, aber irgendwer hat das mal irgendwann da reingeschrieben. Ich habe keine Ahnung, ob bei Euch irgendeine Software das benötigt. Ist eine derbe Sicherheitslücke, aber warum das jemand so angelegt hat, kann Dir hier niemand sagen.


Dass heißt dann doch im Umkehrschluss, wenn wir jemand bestätigt, dass diese Accounts nicht aktiv bei irgendwelchen Abfragen oder ähnlichen genutzt werden, können die weg? Da diese nach meinen jetzigen Erkenntnissen keinen Zugriff auf irgendeine Datenbank haben, sind sie überflüssig.

Nobbie wrote:
Wenn das so wichtig ist, sollte die Firma keinen Laien daran setzen.

Ganz deiner Meinung. Aber das Argument "Ich habe keine Ahnung davon und das kann komplet nach hinten losgehen" waren nicht gut genug, um dieses Projekt noch 2 Wochen liegen zu lassen..

Altrea wrote:Schau dir mal die Benutzerberechtigungen von diesen Benutzern an.

Normalerweise sollten diese nur Leserechte und nur auf die Datenbank "test" und information_schema haben.


Die "Jeder" Accounts haben keinen Zugriff eine Datenbank. Scheinen also nur so da zu sein.

Der "PMA" Account hat Zugriff auf die Datenbanken "mysql" und "phpmyadmin". Da sieht mir nach Standard-Zugriffen aus, die bei der Installation erstellt wurden. Laut den Dokumentation wird der Account nicht für Zugriffe von unserer Seite benötigt. Wenn MySQl diese also nicht standardmäßig für irgendwas benötigt, könnte der Account doch weg..

Warum gibt es drei Account mit root? Einmal auf den Host 127.0.0.1, einmal auf ::1 und einmal auf localhost ?
Das 127.0.0.1 und ::1 jeweils die IP-Adresse für IPv4 und IPv6 für den localhost sind weiß ich. Aber warum muss man den Account dreimal deswegen anlegen? In unserer UMgebung ist nur der root vom host "localhost" mit einem Passwort gesichert, die anderen beiden nicht.
Kann ich die beiden ohne Passwort einfach löschen, da ja ein root-Account noch vorhanden wäre? Oder sollte ich diese auch mit einem Passwort versehen? Wenn mit Passwort, sollte es überall das gleiche sein?


Sorry für die vermutlich einfachen Fragen. Mit ein wenig mehr Zeit könnte ich die wohl irgendwann auch alleine beantworten.
kafri
 
Posts: 2
Joined: 10. August 2015 09:54
Operating System: Windows Server 2008

Re: Übersicht StandardbenutzerAccounts MYSQL

Postby Nobbie » 10. August 2015 15:04

Löschen würde ich die root-Accounts nicht, das könnte sonst der letzte Fehler gewesen sein...

Jedem das gleiche Passwort geben, die verschiedenen Hosts sind nur für die verschiedenen Clients gedacht, was die als Namen übermitteln (das hängt von verschiedenen Faktoren ab). Deswegen die drei Varianten 127.0.0.1, ::1 und localhost - das ist natürlich immer der lokale Rechner, aber man möchte "root" eben nicht mit "%" verknüpfen (dann kann man von überall per root zugreifen). Ist sicherlich redundant, aber wenn Du einen Account löschst, kann es sein, dass es genau der ist, mit dem Du gerade zugreifst und dann hast Du Dich ausgeschlossen beim nächsten Logout. Und "root" irrtümlich gelöscht zu haben ist ziemlich lästig.

Der PMA User wird von phpmyadmin vorgegeben, der ist für den Betrieb von MySQL nicht notwendig, sondern nur für bestimmte Statistiken, die man via phpmyadmin erstellen könnte. Ich selbst brauche so etwas nicht.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Übersicht StandardbenutzerAccounts MYSQL

Postby Altrea » 10. August 2015 15:13

Ich schließe mich der Empfehlung an allen root Accounts dasselbe Passwort zu vergeben und nicht zu löschen.
Wenn du Megaparanoid bist würde ich dem User pma ein zufallsgeneriertes Passwort vergeben und dieses in der config.inc.php von phpmyadmin hinterlegen. Der User sollte eh nur eingeschränkte Rechte besitzen.

kafri wrote:Dass heißt dann doch im Umkehrschluss, wenn wir jemand bestätigt, dass diese Accounts nicht aktiv bei irgendwelchen Abfragen oder ähnlichen genutzt werden, können die weg?

Wenn derjenige den du fragst das auch mit absoluter Sicherheit weiß...

kafri wrote:Aber das Argument "Ich habe keine Ahnung davon und das kann komplet nach hinten losgehen" waren nicht gut genug, um dieses Projekt noch 2 Wochen liegen zu lassen..

Etwas von oben übers Knie zu brechen wo unter Umständen Gelder und Umsätze dahinter stecken halte ich mindestens genauso fahrlässig wie mal eben irgendwelche Accounts zu löschen obwohl man nicht das nötige Knowhow von der bestehenden Infrastruktur besitzt. Letztendlich kann es uns egal sein, was du tust.
Ich kann dir lediglich raten, dass ich mit deinem Kenntnisstand nichts löschen würde ohne triftigen Grund, und den sehe ich hier nicht gegeben.
Ein anonymous User ohne irgendwelche Datenbankberechtigungen ist sicher kein kritisches Sicherhitsloch.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 9 guests