cadenas_ouvert

Quand vous installez une application web sur un serveur (comme par exemple le CMS Joomla), vous devez généralement utiliser une base de données dans laquelle sont stockées les données de l'application. Pour que cela puisse fonctionner, il faut renseigner dans l'arborescence de l'application un fichier de configuration qui contient le nom de la base, ainsi que l'identifiant et le mot de passe d'un utilisateur avec des droits de lecture et d'écriture. Le problème c'est qu'on se retrouve alors avec des informations sensibles dans un fichier accessible depuis l'arborescence publique du serveur web. Normalement, le contenu de ce fichier ne devrait jamais être affiché directement, mais si une personne malveillante y parvient, elle obtient alors des accès directs aux bases de données. Dans le cas où l'on possède plusieurs applications web sur le même serveur, une première bonne mesure est de définir un couple identifiant / mot de passe différent pour chaque base. Ainsi si une base est attaquée, les autres seront épargnées.

 

cadenas_ferme

J'ai découvert récemment une mesure complémentaire qui permet d'améliorer la sécurité. Pour éviter d'exposer les informations d'accès à la base, il est possible de les sortir de l'arborescence publique, en les déclarant comme variables d'environnement du serveur web Apache. Seules ces variables figureront alors dans les fichiers de configuration des applications, et pas les informations d'accès aux bases. La structure des fichiers de configuration reste la même, mais la sécurité est améliorée !

 

Voyons en détail comment mettre en oeuvre cette technique.