WordPress propulse 43 % des sites web dans le monde. Cette popularité en fait la cible numéro un des hackers. Chaque jour, plus de 90 000 attaques par minute visent des sites WordPress selon les données de Wordfence. Le problème n'est pas WordPress lui-même -- c'est la façon dont la plupart des propriétaires de sites le configurent et le maintiennent.
En 12 ans d'expérience chez AskOptimize, j'ai vu des dizaines de sites WordPress compromis : pages de phishing injectées, redirections vers des sites de spam, bases de données clients volées, référencement Google anéanti du jour au lendemain. Dans 95 % des cas, la cause était la même -- des mesures de sécurité basiques non appliquées.
Ce guide est le protocole de sécurité WordPress complet que nous appliquons chez AskOptimize sur chaque projet. Il couvre les six piliers essentiels : firewall, authentification, mises à jour, sauvegardes, hardening et monitoring. Pas de jargon inutile, des actions concrètes que vous pouvez mettre en place aujourd'hui.
1. Firewall WordPress (WAF) : votre première ligne de défense
Un pare-feu applicatif web (WAF -- Web Application Firewall) est le vigile qui se place entre Internet et votre site WordPress. Il analyse chaque requête entrante et bloque celles qui sont malveillantes avant qu'elles n'atteignent votre serveur. Sans WAF, votre site est exposé directement à toutes les attaques : injections SQL, cross-site scripting (XSS), tentatives de brute force, bots malveillants.
Les deux types de WAF pour WordPress
WAF basé sur le cloud (DNS-level) : le trafic passe d'abord par les serveurs du fournisseur WAF, qui filtre les requêtes malveillantes avant de transmettre le trafic légitime à votre serveur. C'est la méthode la plus efficace car les attaques n'atteignent jamais votre hébergement.
- Cloudflare : la solution la plus populaire. Version gratuite avec WAF basique, protection DDoS et CDN. Le plan Pro (20 $/mois) ajoute des règles WAF avancées et la protection contre les bots.
- Sucuri Firewall : spécialisé WordPress. WAF + CDN + protection DDoS + nettoyage de malware illimité inclus. À partir de 199 $/an. C'est la solution tout-en-un la plus complète pour WordPress.
WAF au niveau applicatif (plugin) : le pare-feu s'exécute directement sur votre serveur via un plugin WordPress. Moins efficace qu'un WAF cloud (le trafic malveillant atteint quand même votre serveur) mais bien mieux que rien.
- Wordfence : la référence des plugins de sécurité WordPress. Pare-feu applicatif, scanner de malware, blocage de brute force, alertes en temps réel. Version gratuite très complète. Premium à 119 $/an avec règles de pare-feu mises à jour en temps réel.
- NinjaFirewall : WAF standalone plus performant que la plupart des plugins car il s'exécute avant WordPress. Léger, rapide, gratuit.
Configurer Cloudflare pour WordPress
La mise en place prend moins de 15 minutes :
- Créez un compte gratuit sur cloudflare.com et ajoutez votre domaine
- Modifiez les nameservers chez votre registrar pour pointer vers Cloudflare
- Activez le mode "Full (Strict)" pour le SSL -- cela assure un chiffrement complet entre Cloudflare et votre serveur
- Activez "Under Attack Mode" temporairement si vous subissez une attaque DDoS
- Configurez les règles de pare-feu : bloquez les pays d'où vous ne recevez pas de trafic légitime, limitez l'accès à /wp-admin par IP si possible
- Activez Bot Fight Mode pour bloquer les bots malveillants automatiquement
2. Authentification forte : 2FA et gestion des accès
La page de connexion WordPress (/wp-login.php) est la cible la plus attaquée de tout site WordPress. Les attaques par force brute tentent des milliers de combinaisons identifiant/mot de passe par minute. Un mot de passe faible est une invitation ouverte. Et même un mot de passe fort peut être compromis via phishing ou fuite de base de données.
Mots de passe : les règles non négociables
- Minimum 16 caractères avec majuscules, minuscules, chiffres et symboles
- Jamais de mots du dictionnaire, dates de naissance ou informations personnelles
- Un mot de passe unique pour chaque service (WordPress, hébergeur, email, FTP)
- Utiliser un gestionnaire de mots de passe : Bitwarden (gratuit, open source), 1Password ou KeePass
- Ne jamais partager un mot de passe par email ou messagerie non chiffrée
- Changer le mot de passe admin au moins tous les 3 mois
L'authentification à deux facteurs (2FA)
Le 2FA ajoute une deuxième couche de vérification après le mot de passe : un code temporaire à 6 chiffres généré par une application sur votre téléphone. Même si un attaquant obtient votre mot de passe, il ne peut pas se connecter sans votre téléphone.
Microsoft rapporte que le 2FA bloque 99,9 % des attaques automatisées sur les comptes. C'est la mesure de sécurité la plus efficace par rapport à l'effort qu'elle demande.
Plugins WordPress recommandés pour le 2FA :
- WP 2FA : simple, gratuit, compatible avec Google Authenticator et Authy. Permet de forcer le 2FA pour tous les utilisateurs admin.
- Two-Factor : plugin officiel WordPress, léger et fiable. Supporte les applications TOTP, les clés de sécurité USB (YubiKey) et les codes de secours.
- Wordfence Login Security : module gratuit de Wordfence dédié au 2FA et à la protection de la page de connexion.
Sécuriser la page de connexion WordPress
Au-delà du 2FA, plusieurs mesures complémentaires renforcent considérablement la protection de votre page de connexion :
- Limiter les tentatives de connexion : bloquez une IP après 3 à 5 échecs de connexion. Plugins : Limit Login Attempts Reloaded (gratuit) ou la fonction intégrée de Wordfence.
- Changer l'URL de connexion : remplacez /wp-admin et /wp-login.php par une URL personnalisée. Plugin : WPS Hide Login (gratuit, 1 million+ d'installations). Cela élimine la majorité des attaques automatisées qui ciblent les URLs par défaut.
- Désactiver XML-RPC : cette interface est exploitée pour des attaques de brute force amplifiées. Sauf si vous utilisez l'application mobile WordPress ou Jetpack, désactivez-la. Ajoutez dans .htaccess :
<Files xmlrpc.php> Require all denied </Files> - Désactiver l'énumération des utilisateurs : les hackers utilisent /?author=1 pour découvrir vos identifiants admin. Bloquez cette technique via votre WAF ou un plugin de sécurité.
3. Mises à jour : le talon d'Achille de WordPress
Chaque mise à jour WordPress, de plugin ou de thème corrige des failles de sécurité. Ne pas mettre à jour, c'est comme laisser la porte de votre maison ouverte après avoir vu le serrurier y pointer une faille. Les CVE (Common Vulnerabilities and Exposures) sont publiques -- quand une faille est corrigée, les hackers connaissent exactement la vulnérabilité et la ciblent sur tous les sites qui n'ont pas encore appliqué le correctif.
Les chiffres qui font réfléchir
- 56 % des sites WordPress piratés utilisaient une version obsolète du CMS (source : Sucuri)
- 97 % des vulnérabilités WordPress proviennent des plugins et thèmes, pas du coeur
- WPScan a documenté plus de 50 000 vulnérabilités dans l'écosystème WordPress depuis sa création
- En moyenne, une nouvelle vulnérabilité critique est publiée toutes les 8 heures
- Les plugins les plus ciblés : Elementor, WPForms, WooCommerce, Yoast SEO, Contact Form 7
La stratégie de mise à jour optimale
- Activer les mises à jour automatiques du coeur WordPress pour les versions mineures (correctifs de sécurité)
- Vérifier et appliquer les mises à jour plugins/thèmes au minimum chaque semaine
- Pour les mises à jour majeures (WordPress 6.x vers 7.x) : tester sur un environnement de staging d'abord
- Toujours faire une sauvegarde complète AVANT chaque mise à jour majeure
- Supprimer les plugins et thèmes inutilisés -- même désactivés, leur code reste sur le serveur et peut être exploité
- Ne jamais installer de plugins ou thèmes piratés ("nulled") -- 100 % contiennent des backdoors ou du malware
- Vérifier la dernière date de mise à jour d'un plugin AVANT de l'installer : un plugin non mis à jour depuis plus de 2 ans est un risque
WordPress 5.9, 23 plugins dont 8 obsolètes, 3 thèmes inutilisés, PHP 7.4. Dernière mise à jour : il y a 6 mois. Résultat : 14 vulnérabilités critiques connues.
WordPress 6.7, 12 plugins tous à jour, 1 seul thème actif, PHP 8.3. Mises à jour appliquées sous 48h. Résultat : 0 vulnérabilité connue.
4. Sauvegardes WordPress : votre filet de sécurité ultime
La sauvegarde est votre assurance vie numérique. Si tout échoue -- si votre site est hacké, si une mise à jour casse tout, si votre hébergeur a un incident -- une sauvegarde récente vous permet de restaurer votre site en quelques minutes au lieu de quelques semaines. Sans sauvegarde, vous repartez de zéro.
La règle du 3-2-1
C'est le standard de l'industrie pour les sauvegardes, applicable à tout site WordPress :
- 3 copies de vos données : l'original sur votre serveur + 2 sauvegardes distinctes
- 2 supports différents : votre serveur + un stockage cloud (Google Drive, Amazon S3, Dropbox)
- 1 copie hors site : physiquement séparée de votre serveur d'hébergement
Plugins de sauvegarde WordPress recommandés
- UpdraftPlus : le plus populaire (3 millions+ d'installations). Sauvegardes planifiées automatiques vers Google Drive, Dropbox, S3, OneDrive. Restauration en un clic. Version gratuite très complète.
- BlogVault : sauvegardes incrémentales quotidiennes sur leurs propres serveurs. Staging intégré pour tester les mises à jour. Restauration même si votre site est complètement inaccessible. À partir de 89 $/an.
- Duplicator Pro : excellent pour les sauvegardes et la migration de site. Planification automatique, stockage cloud, restauration simplifiée.
- All-in-One WP Migration : simple et efficace pour les sauvegardes manuelles et les migrations. Moins adapté pour les sauvegardes automatiques planifiées.
Fréquence de sauvegarde selon le type de site
- E-commerce WooCommerce : sauvegarde toutes les 6 heures (commandes et transactions en continu)
- Blog ou site de contenu : sauvegarde quotidienne
- Site vitrine statique : sauvegarde hebdomadaire minimum
- Avant toute modification : sauvegarde manuelle systématique (mise à jour majeure, changement de thème, installation de plugin)
5. Hardening WordPress : verrouiller chaque point d'entrée
Le hardening (durcissement) consiste à réduire la surface d'attaque de votre WordPress en fermant toutes les portes qui n'ont pas besoin d'être ouvertes. C'est une série de modifications techniques qui, individuellement, semblent mineures, mais ensemble forment une barrière redoutable contre les attaquants.
Protéger le fichier wp-config.php
Le fichier wp-config.php contient les informations les plus sensibles de votre WordPress : identifiants de base de données, clés de sécurité (salts), préfixe des tables. Si un attaquant accède à ce fichier, c'est game over.
- Déplacer wp-config.php un niveau au-dessus du répertoire racine web. WordPress le détectera automatiquement.
- Protéger l'accès via .htaccess :
<Files wp-config.php> Require all denied </Files> - Définir les permissions du fichier à 400 ou 440 (lecture seule pour le propriétaire)
- Régénérer les clés de sécurité (salts) régulièrement via l'outil officiel api.wordpress.org/secret-key
Désactiver l'éditeur de fichiers intégré
WordPress inclut un éditeur de code dans le tableau de bord (Apparence > Éditeur de thème et Extensions > Éditeur d'extensions). Si un attaquant obtient un accès admin, il peut injecter du code malveillant directement depuis l'interface. Désactivez-le en ajoutant dans wp-config.php :
define('DISALLOW_FILE_EDIT', true);
Modifier le préfixe des tables de base de données
Par défaut, WordPress utilise le préfixe "wp_" pour toutes les tables de sa base de données. Les attaques par injection SQL ciblent ce préfixe standard. En le changeant (par exemple en "x7k9_"), vous compliquez significativement les attaques automatisées.
Protéger le répertoire wp-content/uploads
Le dossier uploads est souvent utilisé par les attaquants pour y déposer des fichiers PHP malveillants déguisés en images. Empêchez l'exécution de PHP dans ce répertoire en créant un fichier .htaccess dans wp-content/uploads/ avec :
<Files "*.php"> Require all denied </Files>
En-têtes de sécurité HTTP
Les security headers sont des instructions envoyées par votre serveur au navigateur pour lui indiquer comment se comporter. Configurez-les dans votre fichier .htaccess principal :
- Content-Security-Policy : contrôle quelles ressources peuvent être chargées (bloque le XSS)
- X-Content-Type-Options: nosniff : empêche le MIME sniffing
- X-Frame-Options: SAMEORIGIN : bloque le clickjacking
- Strict-Transport-Security (HSTS) : force le HTTPS pendant une durée définie
- Referrer-Policy : contrôle les informations de référence partagées
- Permissions-Policy : restreint l'accès aux API du navigateur (caméra, micro, géolocalisation)
Testez vos en-têtes sur securityheaders.com. Visez une note A minimum. La majorité des sites WordPress que j'audite obtiennent un F -- aucune protection.
Permissions de fichiers correctes
- Dossiers : 755 (lecture et exécution pour tous, écriture pour le propriétaire uniquement)
- Fichiers : 644 (lecture pour tous, écriture pour le propriétaire uniquement)
- wp-config.php : 400 ou 440 (lecture seule pour le propriétaire)
- .htaccess : 444 (lecture seule pour tous)
Autres mesures de hardening essentielles
- Masquer la version de WordPress : les hackers utilisent le numéro de version pour cibler les failles connues. Supprimez le meta tag generator et les query strings de version sur les scripts et styles.
- Désactiver le listing des répertoires : ajoutez
Options -Indexesdans .htaccess pour empêcher la navigation dans vos dossiers. - Protéger .htaccess lui-même :
<Files .htaccess> Require all denied </Files> - Désactiver l'API REST pour les utilisateurs non authentifiés si votre site n'en a pas besoin (l'API REST expose des informations sur les utilisateurs et le contenu).
- Limiter les révisions d'articles :
define('WP_POST_REVISIONS', 5);dans wp-config.php pour éviter l'accumulation dans la base de données.
6. Monitoring et réponse aux incidents
La sécurité n'est pas un projet ponctuel. C'est un processus continu de surveillance et de réaction. Un site WordPress sécurisé aujourd'hui peut être vulnérable demain si un nouveau CVE est publié pour un de vos plugins. Le monitoring vous permet de détecter les anomalies avant qu'elles ne deviennent des catastrophes.
Les outils de monitoring indispensables
- Wordfence : scanner de malware planifié, alertes par email en cas de tentative d'intrusion, monitoring des fichiers modifiés, détection des backdoors.
- UptimeRobot (gratuit) : surveillance de la disponibilité de votre site 24/7. Vous recevez une alerte par email ou SMS dès que votre site tombe. Un site qui tombe sans raison peut indiquer une attaque.
- Google Search Console : Google vous alerte si votre site est détecté comme compromis (malware, phishing, contenu piraté). Vérifiez l'onglet "Problèmes de sécurité" régulièrement.
- WP Activity Log : journalise chaque action dans votre tableau de bord WordPress. Qui s'est connecté, quand, quels fichiers ont été modifiés, quels plugins installés. Indispensable pour tracer les incidents.
- Sucuri SiteCheck (gratuit) : scan de malware en ligne. Programmez un scan hebdomadaire de votre URL.
Protocole de réponse en cas de piratage
Si vous détectez une compromission, voici le protocole d'urgence que nous appliquons chez AskOptimize :
Phase 1 -- Isoler (15 minutes)
- Mettre le site en mode maintenance immédiatement
- Changer tous les mots de passe : WordPress admin, base de données, FTP/SFTP, hébergeur, email
- Révoquer toutes les sessions actives et les clés API
- Contacter votre hébergeur -- il peut avoir des logs et des outils supplémentaires
Phase 2 -- Diagnostiquer (1-2 heures)
- Scanner avec Wordfence, Sucuri ou MalCare pour identifier les fichiers infectés
- Vérifier les comptes utilisateurs (un attaquant crée souvent un admin caché)
- Examiner les fichiers modifiés récemment sur le serveur
- Analyser les logs d'accès pour identifier le vecteur d'entrée
- Vérifier Google Search Console pour les avertissements de sécurité
Phase 3 -- Nettoyer et restaurer (2-4 heures)
- Option A (recommandée) : restaurer une sauvegarde saine antérieure à la compromission
- Option B : nettoyage fichier par fichier (plus long, nécessite une expertise technique)
- Réinstaller WordPress, plugins et thèmes depuis les sources officielles
- Appliquer immédiatement toutes les mises à jour de sécurité
- Scanner à nouveau pour confirmer l'éradication complète
Phase 4 -- Prévenir la récidive
- Identifier et corriger la vulnérabilité exploitée
- Installer un WAF si ce n'est pas déjà fait
- Renforcer le hardening selon les mesures décrites dans cet article
- Si des données personnelles ont été compromises : notifier la CNIL dans les 72 heures (obligation RGPD)
Routine de sécurité à adopter
Chaque semaine :
- Vérifier et appliquer les mises à jour WordPress, plugins et thèmes
- Consulter les alertes de sécurité Wordfence ou Sucuri
- Vérifier que les sauvegardes automatiques fonctionnent
Chaque mois :
- Scanner le site avec Sucuri SiteCheck
- Vérifier les comptes utilisateurs et supprimer les inactifs
- Contrôler les en-têtes de sécurité sur securityheaders.com
- Vérifier la validité du certificat SSL
Chaque trimestre :
- Tester une restauration complète de sauvegarde
- Changer les mots de passe admin
- Régénérer les clés de sécurité WordPress (salts)
- Réaliser un audit de sécurité complet
7. Checklist récapitulative de sécurité WordPress
Voici la checklist complète que nous appliquons chez AskOptimize sur chaque projet WordPress. Cochez chaque point pour évaluer votre niveau de sécurité :
Firewall et protection réseau
- WAF cloud configuré (Cloudflare ou Sucuri)
- Plugin de sécurité installé (Wordfence ou NinjaFirewall)
- Protection DDoS activée
- Bot Fight Mode activé sur Cloudflare
- Certificat SSL valide et HTTPS forcé sur toutes les pages
- HSTS activé avec durée minimale de 6 mois
Authentification et accès
- Mots de passe admin 16+ caractères stockés dans un gestionnaire
- 2FA activé sur tous les comptes admin WordPress
- 2FA activé sur hébergeur, registrar et email pro
- URL de connexion modifiée (pas /wp-admin par défaut)
- Tentatives de connexion limitées (3-5 essais avant blocage)
- XML-RPC désactivé
- Énumération des utilisateurs bloquée
Mises à jour et maintenance
- WordPress à jour (dernière version stable)
- Tous les plugins à jour
- Thème actif à jour
- Plugins et thèmes inutilisés supprimés
- PHP 8.2+ activé
- Aucun plugin/thème piraté installé
Sauvegardes
- Sauvegardes automatiques configurées (quotidiennes minimum)
- Stockage hors site (cloud séparé de l'hébergeur)
- Rétention de 30 jours minimum
- Test de restauration effectué ce trimestre
Hardening
- wp-config.php protégé et permissions restrictives (400/440)
- Éditeur de fichiers désactivé (DISALLOW_FILE_EDIT)
- Exécution PHP bloquée dans wp-content/uploads
- En-têtes de sécurité HTTP configurés (note A sur securityheaders.com)
- Version WordPress masquée
- Listing des répertoires désactivé
- Permissions fichiers correctes (644/755)
Conclusion : la sécurité WordPress est un processus, pas un événement
Sécuriser un site WordPress n'est pas compliqué. C'est méthodique. Les six piliers que nous avons couverts -- firewall, authentification forte, mises à jour, sauvegardes, hardening et monitoring -- forment une défense en profondeur qui bloque la quasi-totalité des attaques courantes.
Le problème, c'est que la plupart des propriétaires de sites WordPress n'appliquent aucune de ces mesures, ou les appliquent partiellement puis oublient de les maintenir. La sécurité n'est pas un projet ponctuel qu'on coche et qu'on oublie. C'est un processus continu qui nécessite une vigilance régulière.
Commencez par les actions les plus impactantes immédiatement :
- Aujourd'hui : activez le 2FA sur votre WordPress admin et changez votre mot de passe pour un mot de passe de 16+ caractères
- Cette semaine : mettez à jour WordPress, tous vos plugins et thèmes. Supprimez tout ce qui est inutilisé.
- Ce week-end : installez Cloudflare (gratuit) + Wordfence (gratuit) et configurez des sauvegardes automatiques avec UpdraftPlus
- Ce mois-ci : appliquez les mesures de hardening et configurez le monitoring
En suivant ce plan, vous passerez d'un site WordPress vulnérable à un site WordPress blindé en moins de 30 jours. La question n'est pas de savoir si votre site sera attaqué -- avec 90 000 attaques par minute sur WordPress, c'est une certitude statistique. La question est : serez-vous prêt ?
Sécurisez votre WordPress avec AskOptimize
Chaque site WordPress que nous construisons intègre les meilleures pratiques de sécurité dès la conception : WAF, 2FA, hardening complet, sauvegardes automatiques et monitoring continu. Notre service de maintenance inclut la surveillance de sécurité, les mises à jour critiques sous 24h et la réponse aux incidents.
Demander un audit sécurité gratuit
Réponse sous 24h • Sans engagement