{"id":1062,"date":"2019-03-21T17:54:28","date_gmt":"2019-03-21T16:54:28","guid":{"rendered":"https:\/\/www.xcep.net\/blog\/?p=1062"},"modified":"2019-03-23T11:38:36","modified_gmt":"2019-03-23T10:38:36","slug":"mysql-root-login-nicht-mehr-moeglich","status":"publish","type":"post","link":"https:\/\/www.xcep.net\/blog\/mysql-root-login-nicht-mehr-moeglich\/","title":{"rendered":"MySQL &#8211; root Login nicht (mehr) m\u00f6glich"},"content":{"rendered":"\n<p>Nach der erfolgreichen Installation eines MySQL Servers kann es vorkommen, dass der Login als Benutzer &#8222;root&#8220; ausschlie\u00dflich \u00fcber die Shell m\u00f6glich ist. Selbst, wenn vermeintlich per &#8222;mysql_secure_installation&#8220; ein Passwort gesetzt wurde. Grund daf\u00fcr ist das Authentication Plugin &#8222;auth_socket&#8220;, das per Default f\u00fcr den Benutzer &#8222;root&#8220; eingestellt ist. Dieses erwartet keinerlei Passw\u00f6rter beim Login, erm\u00f6glicht diesen aber nur \u00fcber die Shell.<\/p>\n\n\n\n<p>Wenn man sich allerdings per Adminer, phpMyAdmin etc. klassisch mit einem Passwort anmelden will, gibt es hierf\u00fcr zwei L\u00f6sungsans\u00e4tze. <\/p>\n\n\n\n<!--more-->\n\n\n\n<p><em>Nat\u00fcrlich gilt hier grunds\u00e4tzlich, dass das vereinfachen des Login eines Benutzers mit hohen Rechten immer den Nachteil mitbringt, dass man das System angreifbar macht. Tempor\u00e4r macht so eine Einrichtung aber durchaus mal Sinn&#8230;<\/em><\/p>\n\n\n\n<h2>M\u00f6glichkeit 1:<\/h2>\n\n\n\n<p>Man stellt das Authentication Plugin des Benutzers auf die altbekannte Variante &#8222;mit Passwort&#8220;. Das geht wie folgt:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'P4$$W=RD';<\/pre>\n\n\n\n<p>Man stellt f\u00fcr den Benutzer root &#8222;mysql_native_password&#8220; als Plugin ein und definiert ein Passwort.<\/p>\n\n\n\n<h2>M\u00f6glichkeit 2:<\/h2>\n\n\n\n<p>Man erstellt einen neuen Benutzer, der nicht root hei\u00dft und gibt ihm alle m\u00f6glichen Rechte sowie ein Passwort.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE USER 'admin_user'@'localhost';\nGRANT ALL PRIVILEGES ON *.* To 'admin_user'@'localhost' IDENTIFIED BY 'P4$$W=RD' WITH GRANT OPTION;<\/pre>\n\n\n\n<p>Welche Variante man w\u00e4hlt ist letztendlich egal. Etwas sicherer scheint mir M\u00f6glichkeit 2 zu sein, da man hier wenigstens den Benutzernamen root durch einen anderen ersetzt und es einem Angreifer &#8222;etwas&#8220; schwerer macht.<\/p>\n\n\n\n<p>Abschlie\u00dfend gilt es bei beiden Varianten aber auf jeden Fall noch<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">FLUSH PRIVILEGES;<\/pre>\n\n\n\n<p>auszuf\u00fchren.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nach der erfolgreichen Installation eines MySQL Servers kann es vorkommen, dass der Login als Benutzer &#8222;root&#8220; ausschlie\u00dflich \u00fcber die Shell m\u00f6glich ist. Selbst, wenn vermeintlich per &#8222;mysql_secure_installation&#8220; ein Passwort gesetzt wurde. Grund daf\u00fcr ist das Authentication Plugin &#8222;auth_socket&#8220;, das per Default f\u00fcr den Benutzer &#8222;root&#8220; eingestellt ist. Dieses erwartet keinerlei Passw\u00f6rter beim Login, erm\u00f6glicht diesen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1,3],"tags":[547,92,548],"_links":{"self":[{"href":"https:\/\/www.xcep.net\/blog\/wp-json\/wp\/v2\/posts\/1062"}],"collection":[{"href":"https:\/\/www.xcep.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xcep.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xcep.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xcep.net\/blog\/wp-json\/wp\/v2\/comments?post=1062"}],"version-history":[{"count":4,"href":"https:\/\/www.xcep.net\/blog\/wp-json\/wp\/v2\/posts\/1062\/revisions"}],"predecessor-version":[{"id":1067,"href":"https:\/\/www.xcep.net\/blog\/wp-json\/wp\/v2\/posts\/1062\/revisions\/1067"}],"wp:attachment":[{"href":"https:\/\/www.xcep.net\/blog\/wp-json\/wp\/v2\/media?parent=1062"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xcep.net\/blog\/wp-json\/wp\/v2\/categories?post=1062"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xcep.net\/blog\/wp-json\/wp\/v2\/tags?post=1062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}