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 ein Problem eines Kunden, der regulatorische Anforderungen in Sachen Passwort-Richtlinien auch auf seinen MySQL-Systemen umsetzen möchte.
Unser Kunde hat bereits bei anderen Datenbanksystemen aufgrund von regulatorischen Anforderungen (Oracle) eine Passwort-Richtlinie umgesetzt. Unter anderem beinhaltet diese Richtlinie, dass ein Passwort nicht direkt wiederverwendet werden darf. Damit sich die „Gesichte“ des Passworts nicht zu schnell wiederholt, gibt es hier zwei Anforderungen:
- Ein Passwort darf sich frühestens nach 180 Tagen wiederholen.
- Es müssen zwischenzeitlich mindestens 10 unterschiedliche Passwörter verwendet worden sein.
Die Anforderungen müssen beide erfüllt sein, bevor ein Passwort erneut genutzt werden darf. Zusätzlich müssen Passwörter alle dreißig Tage gewechselt werden.
Die Lösung
MySQL verfügt über umfangreiche Passwort-Management-Einstellungen, die im Detail hier zu finden sind [1]. Für die Lösung dieses konkreten Problems werden Einstellungen aus den Bereichen „Expiration Policy“ [2] und „Reuse Policy“ [3] benötigt.
Die Lebensdauer eines Passwortes kann man entweder global (für alle User) oder für dedizierte Accounts regeln:
Nachdem wir geklärt haben, wann ein neues Passwort „fällig“ ist, können wir nun festlegen, wann ein Passwort „recycled“ werden darf. Auch diese Einstellungen können global für den Server oder einzelne User-Konten determiniert werden.
Bei einem Verstoß gegen die Regeln wird ein User dementsprechend informiert:
Natürlich gibt es noch weitere Möglichkeiten Passwörter sicherer zu gestalten:
- Komplexitätsregeln für Passwörter
- Sperrlisten einfacher Passwörter
- Ein Plugin gegen Brute-Force-Hacking „Plugin Connection Control“
Sie haben eine Frage und / oder ein Problem mit MySQL? Stellen Sie Ihre Frage gerne in den Kommentaren.
Links
[1]https://dev.mysql.com/doc/refman/8.0/en/password-management.html
[2]https://dev.mysql.com/doc/refman/8.0/en/password-management.html#password-expiration-policy
[3]https://dev.mysql.com/doc/refman/8.0/en/password-management.html#password-reuse-policy
Seminarempfehlung
MYSQL ADMINISTRATION DB-MY-01
Zum Seminar