⛔ Blocage automatique pour énumération d’utilisateurs (désactivé par défaut)
Les requêtes qui tentent de lister les utilisateurs (?author=N, /wp-json/wp/v2/users) sont bloquées dans cette requête. L’ajout de l’IP à la liste noire permanente est une option distincte, désactivée par défaut : il s’agit de reconnaissance, pas d’une attaque confirmée, et un robot d’indexation légitime peut aussi le faire.
Les robots vérifiés (Google, Bing) et l’infrastructure officielle ne sont jamais bloqués.
📊 Aperçu des Protections
Aperçu rapide de l'état de chaque protection de renforcement. Les cartes vertes indiquent les protections actives ; les rouges nécessitent une attention.
🔐 Sécurité du Panneau d'Administration
Protégez l'accès au panneau d'administration WordPress en modifiant l'URL de connexion et en masquant wp-admin aux attaquants.
🔑 Masquer l'URL de Connexion (wp-admin)
Modifiez l'URL de connexion par défaut (/wp-admin, /wp-login.php) en une URL personnalisée que vous seul connaissez. Toute tentative d'accès à l'URL d'origine renvoie une erreur 404, masquant l'existence de wp-admin.
Slug Personnalisé
Choisissez n'importe quel slug (ex: mon-login, acces-admin, backend-securise). Votre nouvelle URL de connexion sera https://votresite.com/mon-login/.
🔁 Redirection Automatique
Lorsqu'un utilisateur authentifié visite /wp-admin/, il est automatiquement redirigé vers votre slug personnalisé sans interruption.
🚨 URL de Restauration d'Urgence
Si vous êtes verrouillé hors de l'admin, vous pouvez utiliser une URL d'urgence pour désactiver instantanément à la fois "Masquer wp-admin" et "Masquer wp-login.php" et revenir à la connexion normale. Ce n'est pas une URL générique ou devinable : elle contient une clé unique et aléatoire de 64 caractères générée uniquement pour votre site, dans ce format :
Copiez votre URL réelle (avec votre vraie clé déjà incluse) depuis la carte "Masquage de la Zone d'Administration" sur la page Durcissement elle-même, avant d'activer l'une ou l'autre des deux protections, et enregistrez-la dans un endroit sûr. Si vous soupçonnez un jour que cette URL a fuité, vous pouvez régénérer la clé avec le bouton "Régénérer" sur cette même carte — l'ancienne URL cesse instantanément de fonctionner.
🌐 APIs et Services
Contrôlez l'accès aux services web de WordPress : XML-RPC et REST API. La désactivation ou la restriction de ces services réduit la surface d'attaque.
📡 XML-RPC
La désactivation de XML-RPC bloque les applications mobiles, Jetpack, WooCommerce et autres services qui dépendent de ce protocole. Évaluez si votre site en a besoin avant de le désactiver.
🔗 REST API
Restreignez l'accès à l'API REST aux utilisateurs authentifiés uniquement. Les points de terminaison publics deviennent inaccessibles aux visiteurs anonymes, protégeant les données des utilisateurs, les articles et les configurations.
⚠️ Impact de la Désactivation de XML-RPC
- Applications mobiles : L'application officielle WordPress ne pourra pas se connecter à votre site.
- Jetpack : De nombreuses fonctionnalités Jetpack cessent de fonctionner.
- WooCommerce : Certaines passerelles de paiement et extensions d'expédition utilisent XML-RPC.
- Pingbacks/Trackbacks : Complètement désactivés, ce qui est positif pour éviter les attaques DDOS.
🔕 Désactiver les Pingbacks et Trackbacks
Les pingbacks et trackbacks sont des notifications automatiques entre blogs. Aujourd'hui, ils servent presque uniquement au spam et à abuser de votre serveur : un attaquant peut demander à des milliers de sites WordPress de « vérifier un lien » sur le site de sa victime et le faire tomber ensemble (DDoS par réflexion), et la même requête révèle l'IP réelle de votre serveur, même derrière un CDN.
- Entrants : les pingbacks sont rejetés (la méthode
pingback.pingest retirée de XML-RPC), de même que les trackbacks (wp-trackback.phprépond 403). - Sortants : votre site cesse d'envoyer des pingbacks et trackbacks aux sites que vous liez.
- Traces : l'en-tête
X-Pingbacket le lien pingback du HTML sont supprimés, et ils sont fermés sur tous les articles (y compris les nouveaux).
N'affecte ni les commentaires normaux ni le reste de XML-RPC (applications mobiles, Jetpack) ; indépendant de « Désactiver XML-RPC ». À activer dans Renforcement → API et Services.
📁 Fichiers et Répertoires
Protégez les fichiers et répertoires de votre installation WordPress contre les accès non autorisés, l'exécution de code malveillant et l'exposition d'informations sensibles.
🚫 Listage Répertoires
Désactive le listage des répertoires du serveur via la directive Options -Indexes dans .htaccess. Empêche les visiteurs de voir le contenu des répertoires sans index.php.
🔒 Fichiers Sensibles
Bloque l'accès direct aux fichiers critiques tels que wp-config.php, .htaccess, error_log et autres fichiers de configuration système.
🚫 PHP dans Uploads
Bloque l'exécution des fichiers PHP (.php, .phtml, .php5) dans le répertoire wp-content/uploads/. Empêche les attaquants d'exécuter des shells malveillants téléchargés comme images.
📄 Fichiers Cachés
Masque les fichiers d'installation et d'information tels que readme.html, changelog.txt, license.txt et wp-config-sample.php. Ces fichiers révèlent la version de WordPress et les détails du système.
🌐 Dossiers Hors de WordPress
Tout dossier qui vit à la racine de votre hébergement hors de WordPress est servi directement par le serveur, sans jamais passer par WordPress ni par le pare-feu — le pare-feu ne le voit jamais. Cette protection couvre ces dossiers avec les mêmes défenses que le reste de votre site : blocage d'IP, limitation de débit, géo-blocage et mode DDoS.
🧱 Bloquer le PHP dans wp-includes
Les fichiers PHP de wp-includes et wp-admin/includes sont des pièces internes que WordPress charge lui-même : personne n'a besoin de les ouvrir depuis le navigateur. Cette protection ajoute au .htaccess les règles du guide officiel « Hardening WordPress » pour que le serveur réponde 403 si quelqu'un les demande par URL.
- Ce qu'elle évite : les portes dérobées camouflées parmi les fichiers du cœur (comme
wp-includes/wp-vcd.php, du malware WP-VCD) et les erreurs révélant le chemin réel du serveur. - Vérification réelle : à l'enregistrement, SeenSecure demande
wp-includes/version.phpet confirme que le serveur répond 403. Si les règles disparaissent du.htaccess, elles sont rajoutées automatiquement. - Prérequis : Apache ou LiteSpeed (sous Nginx, demandez à votre hébergeur) et une installation non multisite.
N'affecte ni les styles, scripts ou images de wp-includes. À la désactivation, les règles sont retirées du .htaccess. À activer dans Renforcement → Fichiers et Répertoires.
🧬 Vérification du cœur de WordPress
WordPress.org publie l'empreinte (somme MD5) de chaque fichier de chaque version. SeenSecure y compare les fichiers de wp-admin, wp-includes et de la racine de votre installation, pour votre version et votre langue. Si un attaquant injecte du code dans un fichier du cœur (par exemple dans wp-login.php pour voler des mots de passe), le fichier continue de fonctionner mais son empreinte ne correspond plus.
- Quand : automatiquement une fois par jour, à l'activation et chaque fois que vous cliquez sur « Vérifier maintenant ».
- Résultat : la liste des fichiers modifiés et manquants. Les fichiers qu'on supprime habituellement (
readme.html,license.txt,wp-config-sample.php) ne comptent pas. - Alerte par e-mail : facultative, à l'adresse choisie (ou celle de l'administrateur), une fois par résultat différent pour ne pas répéter la même alerte chaque jour.
- Ce qu'elle ne vérifie pas :
wp-content(thèmes, extensions et téléversements), car chaque site le modifie.
Restaurer les originaux en un clic : si un fichier apparaît et que vous ne l'avez pas modifié, cliquez sur « Restaurer depuis WordPress.org ». SeenSecure télécharge chaque fichier depuis le dépôt officiel pour votre version, vérifie qu'il est identique à celui publié et seulement alors le remplace, en enregistrant d'abord une copie de l'actuel dans wp-content/ssc-core-backups/ (en .bak, sans accès web). Avec SeenSecure PRO et la surveillance d'intégrité (FIM) active, vous pouvez aussi « Restaurer depuis la copie FIM », sans dépendre d'internet. Vous pouvez aussi réinstaller WordPress depuis Tableau de bord → Mises à jour → « Réinstaller la version ». À activer dans Renforcement → Fichiers et Répertoires.
wp-admin, wp-content et wp-includes) à protéger. À éviter pour les dossiers à fort trafic : chaque visite passe par une vérification de sécurité supplémentaire avant de servir le contenu, comme pour le reste de votre site, ce qui ajoute une petite charge supplémentaire au serveur. SeenSecure applique et annule cette protection automatiquement : la désactiver, désactiver le plugin ou le désinstaller restaure tout à son état d'origine sans aucune action de votre part.
🗄️ Sécurité de la Base de Données
Protégez votre base de données contre l'énumération des utilisateurs et autres vecteurs d'attaque qui exposent des informations sensibles sur les utilisateurs enregistrés.
🚫 Désactiver l'Énumération des Utilisateurs
WordPress expose les noms d'utilisateur via des URLs comme /?author=N. Un attaquant peut modifier le nombre N (1, 2, 3...) pour découvrir tous les noms d'utilisateur enregistrés, puis utiliser ces informations pour des attaques par force brute.
🔍 Comment fonctionne l'attaque
L'attaquant obtient les noms d'utilisateur et les utilise pour des attaques par mot de passe.
🛡️ Comment SeenSecure le bloque
Renvoie une erreur 404 lorsqu'une tentative d'énumération via ?author=N ou ?author_name= est détectée. Il bloque également le point de terminaison de l'API REST qui expose les noms d'utilisateur.
📡 Protéger l'Auteur dans les Flux (RSS/RDF/Atom)
À quoi ça sert : outre les URLs ?author=N, il existe une autre voie de fuite de noms d'utilisateur que beaucoup de sites négligent : les flux RSS, RDF et Atom que WordPress génère automatiquement. Chaque entrée du flux affiche le nom public de l'auteur — et si ce nom public est identique au nom d'utilisateur utilisé pour se connecter au panneau, quiconque lit le flux obtient le vrai nom d'utilisateur sans avoir besoin de scanner quoi que ce soit.
Pourquoi cela facilite la force brute : une attaque par force brute nécessite deux choses — un nom d'utilisateur valide et des mots de passe à essayer contre lui. Sans le nom d'utilisateur, l'attaquant devrait aussi le deviner, ce qui multiplie l'effort nécessaire. Une fois qu'il obtient le vrai nom d'utilisateur via le flux, il ne lui reste qu'un seul problème à résoudre (le mot de passe) au lieu de deux, et il peut lancer l'attaque directement contre ce compte précis.
🔍 Quand il y a un risque
Seulement quand le « nom à afficher publiquement » d'un compte (Utilisateurs > Votre Profil) est identique à son nom d'utilisateur de connexion. Beaucoup de sites le laissent ainsi sans s'en rendre compte, car c'est la valeur que WordPress renseigne par défaut à la création du compte.
🛡️ Comment SeenSecure le protège
Vérifie, uniquement dans les flux, si le nom qui va être affiché correspond au vrai nom d'utilisateur de ce compte. En cas de correspondance, il affiche le nom du site à la place. S'ils sont déjà différents, il ne touche à rien — le reste du site continue d'afficher le nom de l'auteur normalement.
Comment l'activer : SeenSecure > Protections > Base de Données > Protéger l'Auteur dans les Flux (RSS/RDF/Atom). Activé par défaut, aux côtés de la protection ?author=N décrite ci-dessus. C'est un interrupteur indépendant — vous pouvez en avoir un activé et pas l'autre, bien qu'il soit recommandé de garder les deux allumés.
⚙️ Panneau et Fichiers
Configurez des options de renforcement supplémentaires pour fermer les vecteurs d'attaque courants liés à l'exposition d'informations et aux modifications non autorisées.
🔍 Masquer la Version WordPress
Supprime la balise <meta name="generator" content="WordPress X.X" /> du HTML et des flux RSS. Les attaquants utilisent la version pour rechercher des vulnérabilités connues spécifiques.
✏️ Désactiver l'Éditeur de Fichiers
Désactive l'éditeur de thèmes et de plugins depuis le panneau d'administration. Définit la constante DISALLOW_FILE_EDIT à true dans wp-config.php. Empêche les attaquants avec accès admin de modifier directement les fichiers PHP.
🚫 Installation de Plugins/Thèmes
Désactive l'installation, la mise à jour et la suppression de plugins et de thèmes depuis le panneau d'administration. Utile sur les sites gérés où les modifications passent par un processus contrôlé.
🔗 Supprimer les Balises Meta Generator
Supprime la balise <meta name="generator"> que WordPress insère automatiquement dans le <head> et dans les flux RSS avec le numéro de version exact.
🔌 Sécurité des API
Protège XML-RPC et la REST API contre les attaques d'amplification DDoS, la force brute et l'énumération des utilisateurs.
🔒 Restreindre la REST API
Restreint l'accès à la REST API de WordPress aux seuls utilisateurs authentifiés et contrôle les endpoints autorisés pour empêcher la reconnaissance.
👤 Désactiver les Utilisateurs de la REST API
Bloque le endpoint /wp/v2/users pour les utilisateurs non authentifiés, fermant une voie de reconnaissance utilisée par les attaquants pour énumérer des noms d'utilisateur valides avant des attaques ciblées.
💬 Sécurité des Commentaires
Protégez le système de commentaires WordPress contre le spam automatisé et les attaques par injection avec un CAPTCHA intelligent et une surveillance de l'activité.
🧩 CAPTCHA pour les Commentaires
Ajoute un défi CAPTCHA au formulaire de commentaires pour vérifier que le visiteur est humain. Disponible en trois modes :
👁️ CAPTCHA Visuel
Affiche 4 images (par exemple une voiture, un arbre, une maison et une fleur) et l'utilisateur doit sélectionner la bonne. Ne nécessite pas de saisir du texte déformé.
🔢 CAPTCHA Mathématique
Présente une opération mathématique simple (ex : 7 + 3 = ?). Facile pour les humains, difficile pour les bots. Aucun support d'image requis.
😀 CAPTCHA Emoji
Demande à l'utilisateur de sélectionner le bon emoji parmi un ensemble. Expérience visuelle moderne et amusante pour les visiteurs.
📊 Tableau de Statistiques
Le système affiche des statistiques en temps réel sur les performances du CAPTCHA et les tentatives de spam bloquées :
🚫 Bloqués Aujourd'hui
47
Tentatives de spam bloquées au cours des dernières 24 heures
✅ Taux de Réussite
98.7%
Pourcentage de commentaires légitimes qui passent le CAPTCHA
📦 Total Bloqués
12,843
Total des tentatives de spam bloquées depuis l'activation
Questions Fréquentes
Je me suis retrouvé bloqué hors du panneau après avoir masqué wp-admin, que faire ? Utilisez votre URL de Restauration d'Urgence (celle que vous avez copiée avec votre clé unique depuis la carte Masquage de la Zone d'Administration) — elle désactive instantanément le masquage pour que vous puissiez vous reconnecter. Enregistrez-la dans un endroit sûr avant d'activer la protection, pas après : sans elle, il n'y a pas d'autre moyen de récupérer l'accès hormis un accès direct au serveur.
Un plugin ne téléverse plus d'images après activation de "Pas d'exécution PHP dans les téléversements" Cette protection empêche l'EXÉCUTION de fichiers PHP dans le dossier de téléversements, pas le téléversement de fichiers normaux (images, PDF, etc.) — si un plugin légitime ne téléverse plus quelque chose, vérifiez s'il tente de téléverser un format exécutable plutôt qu'un fichier de contenu normal.
Puis-je activer seulement certaines protections de cette page, pas toutes ? Oui, chaque carte du Résumé des Protections s'active/se désactive indépendamment ; pas besoin de toutes les activer à la fois.
J'ai désactivé XML-RPC et maintenant Jetpack ou mon application mobile WordPress est cassé(e) C'est l'effet attendu : XML-RPC est le protocole utilisé par l'application officielle WordPress, une grande partie de Jetpack et certaines passerelles de paiement/livraison WooCommerce. Si vous avez besoin de l'un de ces outils, réactivez-le.