Von Matthias Jung auf Freitag, 19. Mai 2023
Kategorie: MySQL (PDO)

Kurz und gut – Episode #05 Genug ist genug: MySQL Failed Login Tracking

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

In dieser Folge geht es um einen Kunden, dessen MySQL DB „gehackt“ wurde. Aufgrund eines relativ einfach gesetzten „root“-Passwortes, ist es einem Angreifer gelungen per „Brute-Force“-Angriff in das System zu gelangen. Die konkrete Frage des Kunden war es, ob man Accounts nach einer bestimmten Anzahl von fehlerhaften Logins automatisch sperren lassen kann. 

Die Lösung

Seit MySQL 8.0.19 kann man für einzelne Benutzer das sogentannte „Failed Login Tracking“ aktivieren. 

Loggt sich der User „app1“ nun dreimal in Folge mit einem falschen Password ein, so wird der Account für 3 Tage gesperrt. 

Ein korrektes Login setzt den „Counter“ dabei immer auf NULL zurück. Darüber hinaus können alle „Counter“ von allen Nutzern zurückgesetzt werden, wenn der Server neu gestartet oder die Berechtigung erneut geladen werden: 

Fazit

Natürlich gibt es noch weitere Möglichkeiten, einen MySQL Server zu schützen. So wäre z. B. auch das „Connection-Control“-Plugin eine Möglichkeit, um „Brute-Force“-Angriffe auszubremsen. Aber danach wurde ja hier nicht gefragt 😉.

 Sie haben eine Frage und/oder ein Problem mit MySQL? Sprechen Sie mit uns!

Seminarempfehlung

Kommentare hinterlassen