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)
