Stockage sécurisé des fichiers dans l'hébergement web : Ce qui n'a pas sa place dans public_html

Dans de nombreux comptes cPanel, le dossier public_html est le répertoire web public de votre domaine principal. Les fichiers qui y sont placés peuvent être accessibles via le navigateur, selon la configuration. C'est précisément pour cette raison qu'il est important de n'y déposer que les fichiers réellement nécessaires à votre site web.

De nombreux problèmes de sécurité surviennent parce que des fichiers sensibles sont accidentellement enregistrés dans la zone accessible au public : exportations de bases de données, sauvegardes ZIP, fichiers de configuration, anciennes copies de sites web ou fichiers temporaires. De tels fichiers peuvent contenir des informations confidentielles et ne devraient pas se trouver sans protection dans le répertoire web.

Principe important :
Tout ce qui n'a pas besoin d'être publiquement accessible via votre site web ne devrait pas être stocké durablement dans le dossier public_html.

Pourquoi public_html est particulièrement sensible

Le but de public_html est la diffusion publique des fichiers du site web. Les fichiers HTML, les images, CSS, JavaScript ou les applications PHP y ont généralement leur place. En revanche, les sauvegardes, les documents internes, les exportations de bases de données et les fichiers de configuration contenant des données d'accès n'ont pas leur place durablement dans cette zone.

Même si un fichier n'est pas directement lié, il peut être accessible dans certaines circonstances si le nom du fichier est connu ou deviné. Les noms simples sont particulièrement problématiques, comme :

  • backup.zip
  • database.sql
  • website-old.zip
  • dump.sql
  • config.php.bak
  • .env

Ces fichiers ne devraient pas se trouver dans public_html

Type de fichier Risque Recommandation
.sql Peut contenir le contenu d'une base de données. Supprimer du serveur après téléchargement ou stocker en dehors de public_html.
.zip, .tar.gz Peut contenir des sauvegardes complètes du site web. Ne pas conserver durablement dans le répertoire web.
.env Peut contenir des données d'accès et des clés API. Ne pas stocker publiquement.
.bak, .old Peut contenir d'anciennes configurations ou du code. Supprimer ou stocker en toute sécurité à l'extérieur.
documents internes Peuvent contenir des informations confidentielles. Ne pas stocker dans le répertoire web public.

Stocker les sauvegardes en toute sécurité

Les sauvegardes sont importantes, mais elles ne devraient pas se trouver durablement dans le dossier du site web accessible publiquement. Une sauvegarde ZIP complète peut contenir du code source, des fichiers de configuration, des téléchargements et parfois des exportations de bases de données.

Procédure recommandée :

  1. Créer la sauvegarde.
  2. Télécharger la sauvegarde sur votre ordinateur local.
  3. Stocker la sauvegarde en plus dans un endroit sécurisé.
  4. Supprimer le fichier de sauvegarde du serveur web lorsqu'il n'est plus nécessaire à cet endroit.

Si vous devez conserver des sauvegardes sur le serveur, elles devraient dans la mesure du possible se trouver en dehors du répertoire web public et ne pas être accessibles directement via un navigateur.

Protéger particulièrement les exportations de bases de données

Les fichiers avec l'extension .sql contiennent souvent des exportations complètes de bases de données. Dans les systèmes CMS ou de boutique, ils peuvent contenir le contenu des pages, des informations sur les utilisateurs, des adresses e-mail, des paramètres ou d'autres données confidentielles.

Risque de sécurité :
Une exportation de base de données accessible au public peut avoir des conséquences graves. Téléchargez les exportations de base de données après leur création et supprimez-les ensuite du répertoire web.

Supprimer les anciennes installations

Les anciennes versions de sites web, les installations de test et les dossiers de développement ne consomment pas seulement de l'espace, ils constituent aussi des risques de sécurité. Les versions CMS, plugins ou thèmes obsolètes peuvent contenir des failles de sécurité connues.

Vérifiez régulièrement les dossiers tels que :

  • old
  • backup
  • test
  • dev
  • staging
  • wordpress-alt

Si ces installations ne sont plus nécessaires, sauvegardez-les localement si besoin et supprimez-les du serveur.

Bloquer l'accès via .htaccess ?

Dans certains cas, l'accès à certains types de fichiers peut être bloqué en plus via .htaccess. Cela peut être utile, mais ne remplace pas un rangement propre des fichiers.

<FilesMatch "\.(sql|bak|old|zip|tar|gz|env)$">
    Require all denied
</FilesMatch>

Cette règle peut bloquer l'accès direct à certaines extensions de fichiers. Néanmoins, de tels fichiers ne devraient même pas être stockés durablement dans le répertoire web public.

Bonnes pratiques

  • Ne stockez que les fichiers de site web nécessaires publiquement dans public_html.
  • Supprimez les anciens fichiers ZIP et de sauvegarde après le téléchargement.
  • Ne stockez pas durablement les exportations de bases de données dans le répertoire web.
  • Ne conservez pas les données d'accès et les fichiers de configuration accessibles au public.
  • Supprimez les anciennes installations de test.
  • Vérifiez régulièrement les fichiers volumineux et inhabituels.
  • N'utilisez la protection d'accès qu'en complément, pas en remplacement d'un stockage sécurisé.
En résumé :
Le dossier public_html est destiné aux fichiers de site web accessibles publiquement. Les sauvegardes, les exportations de bases de données, les fichiers de configuration sensibles et les anciennes installations ne devraient pas y être stockés durablement. Un rangement propre des fichiers réduit les risques de sécurité et garde votre compte d'hébergement organisé.
Pas sûr qu'un fichier soit accessible au public ?

Si vous souhaitez vérifier si des sauvegardes, des exportations de bases de données ou des fichiers sensibles sont stockés en toute sécurité, le support de CURIAWEB se fera un plaisir de vous aider.

Créer une demande de support
Cette réponse était-elle pertinente? 0 Utilisateurs l'ont trouvée utile (0 Votes)