Des robots parcourent le web en permanence, testant des milliers de sites par heure. Leur objectif : trouver des fichiers qui n'auraient pas dû être accessibles depuis un navigateur. Ces fichiers contiennent parfois des mots de passe, des clés d'accès aux bases de données, ou des informations qui facilitent grandement un piratage.

Ce n'est pas de la théorie. Parmi les sites que j'audite régulièrement en Pas-de-Calais, j'en trouve avec des fichiers de ce type accessibles publiquement, sans que le propriétaire en soit conscient.

Les 6 fichiers à surveiller

1. Le fichier .env

Le fichier .env est utilisé par de nombreux frameworks (Laravel, WordPress avec des plugins modernes, Symfony…) pour stocker les variables d'environnement : URL de la base de données, mot de passe, clés d'API, clé secrète de l'application.

Si votre fichier /.env est accessible depuis un navigateur, un attaquant peut lire en clair vos identifiants de base de données et prendre le contrôle de votre site en quelques secondes.

Comment vérifier : tapez https://votresite.fr/.env dans votre navigateur. Si vous obtenez du texte avec des valeurs (pas une erreur 404 ou 403), c'est un problème critique.

2. wp-config.php.bak (et autres sauvegardes)

Le fichier wp-config.php de WordPress contient les identifiants de la base de données. Ce fichier est normalement protégé. Mais si quelqu'un a fait une sauvegarde en le renommant wp-config.php.bak ou wp-config.php.old, cette version de sauvegarde est souvent accessible publiquement, contrairement à l'original.

Même chose pour les fichiers database.sql, backup.sql ou backup.zip qu'un prestataire aurait laissé à la racine du site après une intervention.

3. Le répertoire .git

Si vous déployez votre site via Git et que le dossier .git/ est accessible publiquement, un attaquant peut potentiellement télécharger l'intégralité du code source de votre site, y compris l'historique des commits et tous les fichiers sensibles qui auraient été commités par erreur (clés d'API, mots de passe dans les anciens commits).

Vérification rapide : https://votresite.fr/.git/HEAD. Si le résultat est ref: refs/heads/main ou similaire, votre dépôt Git est exposé.

4. phpinfo.php

La fonction phpinfo() affiche toutes les informations sur la configuration PHP de votre serveur : version, modules installés, variables serveur, chemins système, options de configuration. C'est un fichier de debug légitime, mais il ne devrait jamais rester accessible en production.

Ces informations permettent à un attaquant de cibler précisément les failles de votre version de PHP ou de vos modules.

5. Les fichiers de log

Les fichiers error.log, debug.log (créé automatiquement par WordPress en mode debug), ou access.log contiennent des informations sur les erreurs et les accès de votre site. Ces logs peuvent révéler des chemins internes, des noms de fichiers sensibles, ou des détails de configuration exploitables.

6. Les fichiers de configuration d'IDE

Les fichiers .idea/ (JetBrains), .vscode/, ou *.project déposés par accident lors d'un déploiement peuvent révéler la structure de votre projet et parfois des informations de connexion enregistrées dans les settings.

Comment bloquer ces fichiers (hébergement mutualisé)

Sur un hébergement mutualisé Apache (OVH, Infomaniak, o2switch, Ionos…), ajoutez ces règles dans votre fichier .htaccess :

# Bloquer les fichiers sensibles
<FilesMatch "(\.env|\.git|wp-config\.php\.bak|phpinfo\.php|debug\.log|error\.log)$">
    Order allow,deny
    Deny from all
</FilesMatch>

# Bloquer l'accès aux dossiers cachés (.git, .svn, .idea)
RedirectMatch 404 /\..*

La dernière ligne est importante : elle redirige vers une erreur 404 toute URL commençant par un point, ce qui couvre .env, .git, .htpasswd et tous les fichiers cachés Unix.

Vérifiez votre site maintenant

Notre simulateur teste automatiquement la présence de 6 fichiers sensibles courants sur votre site. C'est gratuit, anonyme, et prend moins de 30 secondes. Testez votre site →

Pour un audit complet (20+ points de contrôle, rapport personnalisé avec actions prioritaires), nous proposons un audit de sécurité à 290€ HT.

Ce que ça change en pratique

Voici ce qui peut arriver si un fichier .env est accessible :

  1. Un robot trouve votre /.env en quelques secondes via un scan automatique
  2. Il lit vos identifiants de base de données (utilisateur, mot de passe, nom de la BDD)
  3. Il se connecte directement à votre base de données depuis un serveur externe (si le port 3306 n'est pas restreint par IP)
  4. Il exfiltre toutes vos données clients, commandes, et emails
  5. Il peut injecter du code malveillant dans les tables de votre CMS

Tout ça sans jamais avoir besoin de votre mot de passe WordPress.


À retenir : l'exposition de fichiers sensibles est l'une des erreurs les plus fréquentes sur les sites de PME, et l'une des plus faciles à corriger. Un fichier .htaccess bien configuré suffit dans 90 % des cas. Si vous avez un doute sur votre configuration, c'est l'un des premiers points que nous vérifions lors d'un audit de sécurité.