2 Minuten Lesezeit (314 Worte)

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. 

mysql> alter user 'app1' identified by 'geheim' failed_login_attempts 3 password_lock_time 3; 
Query OK, 0 rows affected (0.01 sec) 

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

bash-4.4# for try in 1 2 3 
do 
mysql -uapp1 -pbekannt -e"select user()" 
done 
ERROR 1045 (28000): Access denied for user 'app1'@'localhost' (using password: YES) 
ERROR 1045 (28000): Access denied for user 'app1'@'localhost' (using password: YES) 
ERROR 3955 (HY000): Access denied for user 'app1'@'localhost'.  
Account is blocked for 3 day(s) (3 day(s) remaining) due to 3 consecutive failed logins.  

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: 

mysql> flush privileges; 
Query OK, 0 rows affected (0.01 sec)  

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!

Principal Consultant bei ORDIX

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Samstag, 20. April 2024

Sicherheitscode (Captcha)

×
Informiert bleiben!

Bei Updates im Blog, informieren wir per E-Mail.

Weitere Artikel in der Kategorie