1. Mises à jour — la base non négociable
Selon Sucuri, 52% des sites WordPress compromis en 2025 avaient au moins un composant non mis à jour au moment de l'attaque. Les pirates exploitent les CVE publiées dans les heures qui suivent leur annonce.
- Mettre à jour WordPress core dès chaque release
- Mettre à jour tous les plugins actifs ET inactifs
- Mettre à jour tous les thèmes installés (même ceux non utilisés)
- Activer les mises à jour automatiques pour WordPress core
- Supprimer les plugins et thèmes inutilisés — ils restent des vecteurs d'attaque
Un plugin qui n'a pas été mis à jour depuis plus de 2 ans est probablement abandonné par son développeur. Les vulnérabilités ne seront jamais corrigées. Remplacez-le par une alternative active.
2. Contrôle des accès
Page de connexion
- Changer l'URL de connexion (par défaut
/wp-adminou/wp-login.php— trop prévisible) - Activer l'authentification à deux facteurs (2FA) pour tous les administrateurs
- Limiter les tentatives de connexion (plugin Limit Login Attempts Reloaded)
- Ne jamais utiliser "admin" comme identifiant
Gestion des utilisateurs
- Appliquer le principe du moindre privilège : un rédacteur n'a pas besoin du rôle Administrateur
- Supprimer les comptes inactifs et les comptes de test
- Utiliser des mots de passe forts (minimum 16 caractères, générés aléatoirement)
- Désactiver l'enregistrement public si vous n'en avez pas besoin
Accès serveur
- Utiliser une clé SSH à la place d'un mot de passe FTP
- Désactiver FTP — utiliser SFTP uniquement
- Restreindre l'accès SSH par IP si possible
3. Sécurité des fichiers
Permissions fichiers et dossiers
# Permissions recommandées
Fichiers WordPress : 644
Dossiers WordPress : 755
wp-config.php : 440 ou 400
.htaccess : 644
Protection wp-config.php
Ce fichier contient les credentials de votre base de données. Déplacez-le un niveau au-dessus du dossier public ou ajoutez dans .htaccess :
<files wp-config.php>
order allow,deny
deny from all
</files>
Désactiver l'édition de fichiers depuis le dashboard
Ajoutez dans wp-config.php :
define('DISALLOW_FILE_EDIT', true);
Un vecteur d'attaque classique : uploader un fichier PHP malveillant déguisé en image. Ajoutez un
.htaccess dans wp-content/uploads/ avec php_flag engine off pour empêcher l'exécution PHP dans ce dossier.
4. SSL et HTTPS
- Certificat SSL valide et non expiré (vérifiez la date d'expiration)
- Redirection automatique HTTP → HTTPS dans
.htaccessouwp-config.php - HSTS activé pour éviter les attaques downgrade
- Zéro mixed content (images, scripts en HTTP sur une page HTTPS)
- Support TLS 1.2 minimum, TLS 1.3 recommandé
5. Sécurité email du domaine
Votre site WordPress envoie probablement des emails (notifications, réinitialisations de mot de passe, newsletters). Si SPF, DKIM et DMARC ne sont pas configurés, ces emails arrivent en spam — et votre domaine peut être usurpé pour du phishing.
- Enregistrement SPF couvrant votre serveur d'envoi WordPress
- DKIM signé pour votre domaine (via votre hébergeur ou outil d'envoi)
- DMARC configuré au minimum en
p=noneavec adresse RUA
Vérifiez SPF, DKIM et DMARC de votre domaine WordPress :
→ Auditer mon domaine gratuitement6. Plugins de sécurité recommandés
- Wordfence — firewall applicatif, scanner malware, blocage par IP. Version gratuite très complète.
- WP Cerber — protection anti-brute-force et anti-spam robuste.
- iThemes Security — durcissement WordPress, détection de changements de fichiers.
- WP Activity Log — journal d'audit complet de toutes les actions sur le site.
- UpdraftPlus — sauvegardes automatiques vers cloud (pas un plugin de sécurité mais essentiel).
Deux pare-feux applicatifs simultanés créent des conflits, ralentissent le site et donnent une fausse impression de double protection. Choisissez-en un et configurez-le bien.
7. Sauvegardes — votre dernier recours
Une bonne stratégie de sauvegarde WordPress suit la règle 3-2-1 : 3 copies, sur 2 supports différents, dont 1 hors site.
- Sauvegarde automatique quotidienne de la base de données et des fichiers
- Stockage hors serveur (S3, Google Drive, Dropbox)
- Test de restauration au moins une fois par trimestre
- Conserver 30 jours d'historique minimum
8. Monitoring continu
La sécurité n'est pas un état, c'est un processus. Un site peut être compromis silencieusement (injection de code dans un plugin, redirection cachée) sans symptôme visible pendant des semaines.
- Scanner régulièrement les malwares (Wordfence, Sucuri)
- Monitorer les changements de fichiers critiques (
wp-config.php,functions.php) - Suivre l'état du certificat SSL et l'expiration du domaine
- Vérifier régulièrement la réputation IP et la présence en liste noire
- Activer les alertes Google Search Console pour les problèmes de sécurité
Un outil comme Wezea peut vérifier en 60 secondes l'état SSL, SPF/DKIM/DMARC, les ports exposés, les CVE connues et la présence en liste noire pour le domaine de votre site WordPress.