Tutoriel : Sécurité WordPress, pourquoi vos fichiers sensibles n’ont rien à faire dans public_html

Le problème : des fichiers critiques exposés au monde entier
Backups .zip qui traînent, dumps SQL accessibles en un clic, fichiers de config en lecture publique… Chaque jour, des sites hébergés en Algérie se font pirater à cause d’une erreur qui prend 30 secondes à corriger. Si vous gérez un site WordPress sur un hébergement web en Algérie, cet article est pour vous.
Quand vous déposez un fichier dans le dossier public_html de votre hébergement web, ce fichier devient accessible depuis un navigateur. C’est le principe même du web : tout ce qui se trouve dans ce répertoire est public par défaut.
Le problème, c’est que beaucoup d’utilisateurs y laissent — souvent sans le savoir — des fichiers qui n’ont absolument rien à faire là :
- Des archives compressées :
backup.zip,site-2024.tar.gz,wordpress-backup.zip - Des dumps de base de données :
database.sql,backup.sql,db_export.sql.gz - Des fichiers de configuration :
wp-config.php.bak,.env,config.old - Des logs ou fichiers temporaires :
debug.log,error_log,phpinfo.php
Un pirate n’a même pas besoin de compétences avancées. Il lui suffit de tester des URLs courantes comme votresite.dz/backup.zip ou votresite.dz/database.sql — et si le fichier existe avec les mauvaises permissions, il le télécharge en un clic.
Permissions 644 : ce que ça signifie vraiment
Sur un hébergement web Linux (ce qui est le cas de la quasi-totalité des offres d’hébergement web en Algérie, y compris chez Hostarts), chaque fichier a des permissions qui définissent qui peut le lire, l’écrire ou l’exécuter.
La permission 644 signifie :
- Le propriétaire (vous) : lecture + écriture
- Le groupe : lecture seule
- Tout le monde : lecture seule
Pour un fichier PHP ou HTML dans public_html, c’est la permission standard et correcte. Mais pour un fichier backup.sql ou site-complet.zip, la permission 644 dans public_html veut dire que n’importe qui sur Internet peut le télécharger. Le serveur web (Apache, LiteSpeed, Nginx) sert le fichier comme n’importe quelle page de votre site.
Les conséquences concrètes d’un fichier sensible exposé
Vol complet de votre base de données
Un dump SQL contient tout : les identifiants administrateurs (mots de passe hashés, parfois en clair sur d’anciens WordPress), les emails de vos clients, les commandes WooCommerce, les données personnelles. Si vous êtes soumis à la loi algérienne 18-07 sur la protection des données personnelles, c’est une violation directe.
Prise de contrôle totale du site
Un fichier wp-config.php.bak ou .env exposé donne à l’attaquant les identifiants de connexion à votre base de données MySQL, vos clés d’authentification WordPress (AUTH_KEY, SECURE_AUTH_KEY…), et potentiellement les accès à des services tiers (SMTP, API de paiement).
Avec ces informations, un attaquant peut se connecter directement à votre base, créer un compte administrateur, et prendre le contrôle complet de votre WordPress.
Injection de malware et blacklistage
Une fois le site compromis, l’attaquant y injecte généralement du code malveillant : redirections vers des sites frauduleux, pages de phishing, scripts de minage de cryptomonnaie. Google finit par détecter le problème et blackliste votre domaine — votre site affiche alors un avertissement rouge « Ce site est dangereux » dans les résultats de recherche. Récupérer une réputation propre après ça prend des semaines, parfois des mois.
Compromission de l’ensemble du serveur
Sur un hébergement mutualisé, un site compromis peut potentiellement affecter les autres sites du même compte cPanel. Une archive contenant une ancienne version vulnérable de WordPress peut servir de porte d’entrée pour remonter dans l’arborescence.
Comment corriger le problème
1. Ne stockez jamais de backup dans public_html
C’est la règle numéro un. Vos sauvegardes n’ont rien à faire dans le répertoire web. Sur un hébergement cPanel comme ceux proposés par Hostarts, stockez vos backups :
- Dans le répertoire home (
/home/username/), en dehors depublic_html - Dans un répertoire dédié comme
/home/username/backups/ - Ou mieux encore : sur un stockage externe (FTP distant, solution cloud)
2. Vérifiez les permissions de vos fichiers critiques
Pour les fichiers qui doivent rester sur le serveur (comme wp-config.php) :
chmod 600 wp-config.php
chmod 600 .htaccess
La permission 600 signifie : seul le propriétaire peut lire et écrire. Personne d’autre — ni le groupe, ni le public.
3. Bloquez l’accès aux fichiers sensibles via .htaccess
Ajoutez ces règles dans votre fichier .htaccess à la racine de public_html :
# Bloquer l'accès aux fichiers sensibles
<FilesMatch "\.(sql|sql\.gz|zip|tar|tar\.gz|gz|bak|old|log|env|bck)$">
Order Allow,Deny
Deny from all
</FilesMatch>
# Protéger wp-config.php
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>
# Bloquer l'accès aux fichiers cachés (.env, .git, etc.)
<FilesMatch "^\.">
Order Allow,Deny
Deny from all
</FilesMatch>
Même si un fichier sensible se retrouve par erreur dans public_html, cette protection empêchera son téléchargement.
4. Supprimez les fichiers inutiles
Faites régulièrement le ménage dans votre hébergement :
- Supprimez les anciens backups manuels
- Supprimez les fichiers
phpinfo.phpde test - Supprimez les copies de
wp-config.php(.bak,.old,.save) - Supprimez les fichiers
debug.logde WordPress (danswp-content/) - Supprimez les installations WordPress abandonnées dans des sous-dossiers
5. Utilisez les outils de backup intégrés
Chez Hostarts, votre hébergement web inclut des outils de sauvegarde automatisés via cPanel (JetBackup ou backup cPanel natif). Utilisez ces outils plutôt que de créer des archives manuelles dans public_html. Les sauvegardes générées par cPanel sont stockées de manière sécurisée, en dehors du répertoire web public.
Checklist de sécurité rapide pour votre WordPress
Prenez 10 minutes pour vérifier ces points sur votre hébergement :
- ☐ Aucun fichier
.zip,.tar.gzou.sqldanspublic_html - ☐
wp-config.phpen permission 600 (et pas de copie.bak) - ☐ Règles
.htaccessen place pour bloquer les extensions sensibles - ☐ Pas de fichier
phpinfo.phpaccessible - ☐ Pas de
debug.logdanswp-content/ - ☐ Pas d’installation WordPress de test oubliée dans un sous-dossier
- ☐ Sauvegardes stockées hors de
public_htmlou sur un stockage distant
En résumé
La sécurité d’un site WordPress ne passe pas uniquement par des plugins ou des firewalls. Elle commence par des bonnes pratiques de base : ne pas exposer de fichiers sensibles, configurer les bonnes permissions, et nettoyer régulièrement son espace d’hébergement.
Si vous cherchez un hébergement web en Algérie qui prend la sécurité au sérieux, avec un support technique réactif capable de vous accompagner sur ces sujets, découvrez les offres d’hébergement web Hostarts sur hostarts.dz.
Vous avez un doute sur la sécurité de votre site ? Contactez le support Hostarts — on vérifie ça avec vous.
