Tips and tricks pour sécuriser votre base de données MySQL

13 Mars 2015, by Les influenceurs


La base de données MySQL est non "sécurisée" dans son installation par défaut. Au travers de cet article nous allons voir les quelques procédures "de base" à appliquer pour augmenter le niveau de sécurité de votre base de données MySQL.

Sécurisation des comptes administrateurs de votre base MySQL

Dans un premier temps identifiez l'ensemble des comptes "root" installés au niveau de votre base de MySQL

#mysql –uroot
mysql> use mysql
mysql>select user,password,host from user where user=’root’

Pour chacun des comptes identifiés affecter un mot de passe « sécurisé » en suivant la procédure suivante :
mysql> set password for 'root'@'localhost' = password('YOUR PASSWORD');
mysql>flush privileges ;
mysql>exit ;
Vous pouvez également appliquer le même mot de passe pour l'ensemble des comptes 'root' identifiés :
mysql> update mysql.user set password = password('YOUR PASSWORD') where user = 'root';
mysql> flush privileges;
Vous pouvez appliquer les recommandations du SSI pour définir le mot de passe administrateur de votre base de données. Vous pouvez maintenant vous connecter en utilisant votre nouveau mot de passe
mysql –uroot –p
Important : Ne spécifiez jamais le mot de passe directement au niveau de la ligne de commande, autrement il sera visible au niveau de l'historique de votre shell.

Gestion du compte anonymous

Sauf besoin spécifique, nous vous recommandons de supprimer le compte anonymous.

mysql -uroot -p
mysql> drop user ''@'localhost';
mysql> drop user ''@'localhost.localdomain';

Suppression de la base test

Par défaut, MySQL installe une base test, nous vous recommandons de la supprimer.

mysql> delete from mysql.db where Db like 'test%';
mysql> flush privileges;
mysql> drop database test ;

Fichier historique

MySQL maintient un fichier historique, il contient l'historique des commandes sql (cela inclut les mots de passe en clair). Vous pouvez sous certaines conditions le supprimer et le désactiver.

rm $HOME/.mysql_history
ln –s /dev/null $HOME/.mysql_history



Copyright Les Influenceurs SAS



Inscrivez-vous à notre newsletter