Kurz und gut - Episode #12 Lass mal den Admin ran!
Ich werde in Seminaren, Workshops oder in Kundenprojekten in Sachen MySQL immer mal wieder mit Dingen konfrontiert, auf die ich ad hoc keine Antwort habe bzw. mit denen ich noch keine Erfahrung gesammelt habe.
Das Problem
Die heutige Frage beruht auf einer sehr „scharfen Beobachtungsgabe“ eines Teilnehmers. Bei einer Übung wurde die Anzahl der maximal zulässigen Verbindungen gegen die Datenbank auf 5 begrenzt (Parameter: max_connections=5). Trotzdem war der Teilnehmer in der Lage, obwohl fünf Verbindungen aufgebaut wurden, sich als „root“-User anzumelden.
Die Lösung
„Works as designed“! MySQL hat bislang immer eine zusätzliche Verbindung für User mit „root“-Berechtigungen („SUPER“-Privileg) bereitgestellt, um „zur Not“ administrativ eingreifen zu können. Seit der MySQL Version 8.0.14 kann man diese Fragestellung aber auch noch elaborierter lösen.
mysql> show variables like 'admin_%'; +------------------------+-----------------+ | Variable_name | Value | +------------------------+-----------------+ | admin_address | 127.0.0.1 | | admin_port | 33062 | …
Sobald man aktiv eine IP-Adresse für die Variable „admin_address“ deklariert, können sich User mit dem „SERVICE_CONNECTION_ADMIN“-Privilege über einen zusätzlichen Port, in einer unbegrenzten Anzahl, losgelöst von „normalen“ Usern einloggen.
User, die dieses Privileg nicht besitzen, können den Port nicht nutzen.
mysql -uxyz -pxyz --port=33062 --host=127.0.0.1 ERROR 1227 (42000): Access denied; you need (at least one of) the SERVICE_CONNECTION_ADMIN privilege(s) for this operation…
Der User „root“ besitzt die entsprechenden Privilegien und kann den Admin-Port verwenden.
mysql -uroot -proot --port=33062 --host=127.0.0.1 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Fazit
So oder so: Administrative User finden immer einen Weg auf die Console. Ab der Version 8.0.14 lässt sich dies etwas umfangreicher konfigurieren und nutzen. Die Restriktion auf eine IP macht aus Sicherheitsgründen auf jeden Fall Sinn.
Seminarempfehlung
MYSQL ADMINISTRATION DB-MY-01
Zum SeminarPrincipal Consultant bei ORDIX
Bei Updates im Blog, informieren wir per E-Mail.
Kommentare