Beveiliging van mysql-users

Door silverstorm op donderdag 26 februari 2009 18:10 - Reacties (6)
Categorie: Beveiliging, Views: 3.720

Tijdens update-werkzaamheden moest ik een kleine table-update doen in een productie omgeving. Ik logde mijzelf in op de phpmyadmin en dacht laat ik meteen mijn wachtwoord even wijzigen. Op de "rechten"-pagina geeft phpmyadmin aan of er voor de users ook wachtwoorden zijn ingesteld.

Ik schrok toen ik zag dat er voor de user "admin" geen wachtwoord was ingesteld. Natuurlijk heeft deze user wel alle rechten. Na mijn update-werkzaamheden maar eens gekeken naar de mysql-users. Binnen een paar minuten had ik een mooie query:

MySQL:
1
2
3
4
5
6
7
USE mysql;
SELECT Host , User 
FROM user 
WHERE Password NOT LIKE '*%' 
OR Host = '%' 
OR Password = password( User ) 
OR Password = old_password( User );


Hier worden alle users met host weergegeven waar geen wachtwoord is ingesteld of het wachtwoord hetzelfde is als de username.

De schade viel mee: 2 extra accounts, waar iets niet aanklopte. Vandaag zijn de applicatieconfiguratie's aangepast, zodat er het toch iets veiliger is.