Von Matthias Jung auf Dienstag, 11. Februar 2020
Kategorie: Data Management

Mach das nie wieder!

MySQL 8.0.19: User-spezifische Kontosperrungen:

Immer wieder kommt es vor, dass Hacker versuchen, sich Zugang zu MySQL-Datenbanken zu verschaffen. Das "Brute-Force-Hacking" erfreut sich dabei einer gewissen "Beliebtheit". Aus Sicht des DBAs ist es daher wichtig, solche Vorgänge zu erkennen und darauf zu reagieren.

Selbsterkenntnis ist der erste Schritt zur Besserung

Bislang gab es mehrere Möglichkeiten, Informationen über solche Angriffe zu erhalten. Bis zur Version MySQL 5.7.2 konnte beispielsweise der Parameter "log-warnings" gesetzt werden (value = 2). Dies sorgte dafür, dass fehlerhafte Logins in das Fehlerprotokoll der Datenbank geschrieben wurden (und natürlich noch werden). Über ein geeignetes Monitoring konnte man über einen solchen Vorfall alarmiert werden. Ab der Version 5.7.2 wurde der Parameter "log-error-verbosity" (value = 3) eingeführt und übernahm genau diese Aufgabe.

Wissen ohne Handeln ist noch kein Wissen

Was tut man denn nun mit der Erkenntnis? Bislang konnte man auf einen solchen Angriff beispielsweise mit dem "Connection Control Plugin" reagieren. Die Aufgabe dieses Plugins besteht darin, ab einem gewissen Schwellwert (Anzahl fehlerhafter Logins; connection_control_failed_connections_threshold) den Verbindungsaufbau des "Angreifers" auszubremsen.

Ab dem 3. fehlerhaften Login wird jeder weitere Versuch um +1 Sekunde verlangsamt (4. fehlerhafte Login wartet 1 Sek.; 5. Login 2 Sek; 3. Login 3. Sek; ...). Über diesen Mechanismus verleidet man dem Angreifer sein Vorhaben extrem.

Strafe ist Gerechtigkeit für die Ungerechten

Ab MySQL 8.0.19 kann man nun auch bestimmte Accounts zusätzlich oder alternativ individuell schützen. MySQL hat in dieser Version den User-Accounts zwei neue Attribute spendiert:

Pro User kann nun deklariert werden, dass nach einer bestimmten Anzahl von fehlerhaften Logins der Account blockiert werden soll:

Vorsicht ist besser als Nachsicht

Sicherlich ist dies kein "großes" Sicherheits-Feature. Trotzdem kann auch diese Erweiterung der User-Accounts dazu beitragen, MySQL-Datenbanken (gerade die Systeme, die im Internet exponiert laufen) ein klein wenig robuster gegenüber Angriffen zu machen. Im Kontext eines gut durchdachten Sicherheitskonzeptes ist dies aber ein sinnvoller Baustein. Sie möchten Ihre MySQL-Betriebskonzepte sicher gestalten? Dann sprechen Sie uns an!

Kommentare hinterlassen