Sécuriser MySQL

Un article de Claroline Documentation.

Certains logiciels d'installation de plate-forme Web (comprenant un serveur Web, PHP, MySQL), par exemple EasyPHP, installent MySQL avec un utilisateur « root » et AUCUN mot de passe.

Nous vous conseillons d'affecter un mot de passe à l'utilisateur « root », vous pouvez utiliser MySQL à partir de la ligne de commande ou une application comme phpMyAdmin (si vous utilisez EasyPHP, accédez à http://localhost/phpmyadmin/ , sélectionnez Users and privileges et Modify).

Une précaution supplémentaire consiste à créer un nouvel utilisateur MySQL, dont les droits d'accès sont limités à la base de données Claroline, et à lui attribuer tous les privilèges à l'exception de « Grant ».

Si Claroline est déjà installé, vous devez aussi modifier le fichier de configuration platform/conf/claro_main_conf.inc.php pour spéciifer votre nouveau mot de passe.

$GLOBALS['dbHost'] = 'localhost';

$GLOBALS['dbLogin'] = 'root';

$GLOBALS['dbPass'] = 'nouveau_motpasse';

Sécuriser phpMyAdmin

Si vous utilisez phpMyAdmin, vous pouvez aussi protéger cette application en forçant l'utilisateur à s'identifier. Dans le fichier de configuration de phpMyAdmin (dans le cas d'EasysPHP sous Windows, le chemin de ce fichier est C:\Program Files\EasyPHP\phpmyadmin\config.inc.php), modifiez les lignes :

/**
 * The 'cookie' auth_type uses blowfish algorithm to encrypt the password.
 * If at least one server configuration uses 'cookie' auth_type,
 * enter here a passphrase that will be used by blowfish.
 */
 $cfg['blowfish_secret'] = 'ce_que_vous_voulez';
  $cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
  $cfg['Servers'][$i]['port']          = ;          // MySQL port - leave blank for default port
  $cfg['Servers'][$i]['auth_type']     = 'cookie';    // Authentication method (config, http or cookie based)?
  $cfg['Servers'][$i]['user']          = 'root';      // MySQL user
  $cfg['Servers'][$i]['password']      = 'newpassword'; // MySQL password (only needed
                                                   // with 'config' auth_type)
Outils personels