Comment sécuriser le fichier de configuration et les accès à la base de données d'un site web ?

Le fichier de configuration d'un CMS contient en clair les identifiants de connexion à la base de données : il doit donc être protégé en lecture, exclu de toute exposition publique, et associé à un compte de base de données aux droits limités. Un attaquant qui obtient ce fichier obtient la base entière : c'est l'un des fichiers les plus sensibles d'un site.

Les mesures à appliquer sur le fichier lui-même

  • Restreindre les permissions : lecture réservée au propriétaire et au serveur web, jamais accessible en écriture au monde entier.
  • Bloquer son accès direct depuis le web via la configuration du serveur, et vérifier qu'aucune copie de sauvegarde (configuration.php.bak, wp-config.old) ne traîne dans un répertoire public : ces fichiers, servis en texte brut, sont activement recherchés par les robots.
  • Ne jamais le versionner dans un dépôt Git, surtout public.
  • Le sortir de la racine web lorsque le CMS le permet.

Les mesures côté base de données

  • Un compte dédié par site, avec accès à sa seule base — jamais un compte partagé entre plusieurs sites, sans quoi la compromission d'un site les expose tous.
  • Des droits limités au strict nécessaire : le compte applicatif n'a pas besoin des privilèges d'administration du serveur de base de données.
  • Un mot de passe long et unique, généré aléatoirement et changé lors de tout départ ou de tout soupçon de compromission.
  • Aucun accès distant ouvert sur Internet : la base n'écoute qu'en local, ou derrière un tunnel chiffré. Les interfaces d'administration de base de données (phpMyAdmin, Adminer) doivent être protégées et jamais laissées à une adresse devinable.

Ces points de durcissement font partie des vérifications menées par Pulsar Agency lors d'un audit de site internet.