Aller directement au contenu principalAller directement au pied de page

Vous cherchez un aperçu général ? Rendez-vous sur la page d'accueil du plugin pour découvrir les fonctionnalités, les tarifs et les étapes d'installation. Cette page sert de référence technique.

Plugin WordPress — ReportedIP (édition complète)

Il existe deux éditions : assurez-vous de lire la bonne. Cette page présente ReportedIP (édition complète) — distribuée via GitHub Releases, elle inclut l'authentification à deux facteurs (2FA), seize capteurs d'attaques, la prise en charge multisite, l'intégration WooCommerce et un relais de messagerie / SMS géré. Vous recherchez l'édition allégée de WordPress.org sans 2FA ni niveaux d'abonnement ? Consultez la documentation de Hive Light . Les deux plugins partagent le même domaine de texte — n'en installez qu'un seul par site.

ReportedIP est un plugin de sécurité WordPress alimenté par la communauté. Il transforme chaque site protégé en capteur : lorsqu’un site est attaqué, la communauté en tire des enseignements et tous les autres sites peuvent repousser l’attaquant avant même que la première requête n’aboutisse. Informations sur les menaces en temps réel, seize capteurs d’attaques incluant un pare-feu pour applications web, une authentification à deux facteurs (2FA) à quatre méthodes, une escalade progressive des blocages et des ensembles de règles de pare-feu signés et fournis par le serveur. Open source, publié sous licence GPLv2+ sur GitHub.

Version actuelle : 2.1.4. Configuration requise : WordPress 5.0 ou plus (testé jusqu'à la version 7.0), PHP 8.1 ou plus. Réseau : activé — s'installe sur l'ensemble du réseau dans un environnement WordPress multisite. Fonctionne en mode autonome (Local Shield) ou connecté à ReportedIP (Community Network).
Code source et distribution : github.reportedip — les tickets, les pull requests et le journal des modifications sont publics. L'édition complète offre pas déployé sur WordPress.org en raison du service de relais de messagerie et de SMS géré (quotas payants) et du système de niveaux multisite, qui sont tous deux en contradiction avec les directives de wp.org interdisant « toute vente incitative ou tout service lié ». Les mises à jour sont distribuées via GitHub Releases (détectées automatiquement toutes les 12 heures par le vérificateur de mises à jour de plugins intégré). Format des balises épinglées vX.Y.Z.

Installation

1

Télécharger le plugin

Découvrez les dernières nouveautés reportedip-hive.zip à partir de Page « Releases » de GitHub, ou téléchargez-le depuis votre Tableau de bord.

2

Installer et activer

Dans votre interface d'administration WordPress, rendez-vous dans Plugins → Ajouter → Télécharger un plugin, sélectionnez le fichier ZIP, cliquez sur Installer maintenant, puis sur Activer.

3

Lancer l'assistant d'installation

Une fois l'activation effectuée, l'assistant de configuration en dix étapes se lance automatiquement. Il vous guide à travers les différents paramètres : mode de fonctionnement, clé API, seuils de détection des attaques par force brute, pare-feu (WAF, action « bot vérifié », mode « e-mail jetable », « honeypot » pour les commentaires), liste d'authentification à deux facteurs, règles de conservation, masquage du slug de connexion et pied de page automatique (facultatif).

4

Restez informé

L'outil de vérification des mises à jour intégré (Plugin Update Checker v5.6+) interroge GitHub Releases toutes les 12 heures. Les nouvelles versions apparaissent dans WordPress Plugins s'installe comme n'importe quelle autre mise à jour de plugin — aucune réinstallation manuelle n'est nécessaire. Format des balises épinglées : vX.Y.Z.

Assistant de configuration (10 étapes)

L'assistant s'exécute lors de la première activation et peut être relancé à tout moment depuis les paramètres du plugin. Chaque étape est immédiatement enregistrée côté serveur à chaque navigation (y compris lorsque vous cliquez sur « Retour »), ce qui vous permet de vous interrompre et de reprendre sans perdre aucun paramètre.

ÉtapeCe qu'il configure
1. BienvenueIntroduction, lien vers la documentation et importation en un clic (facultative) d'un fichier JSON d'exportation des paramètres existants.
2. Se connecterMode de fonctionnement (Local Shield / Réseau communautaire), clé API avec validation en temps réel via reportedip.de.
3. ProtectionConnexion / spam dans les commentaires / XMLRPC / analyse des pages 404 / seuils et délais pour les rafales REST, option « rapport uniquement », stratégie de durée de blocage (durée fixe ou échelle progressive).
4. Pare-feuPare-feu d'application Web (activé / en mode rapport uniquement), action « verified-bot » (signaler ou bloquer les usurpateurs), mode « disposable-email » (désactivé / surveiller / bloquer) et le « honeypot » de commentaires — le tout avec des paramètres par défaut sécurisés.
5. Authentification à deux facteursActiver / désactiver chacune des quatre méthodes (TOTP, e-mail, SMS, WebAuthn), définir les rôles, les jours de grâce et la date d'expiration des appareils de confiance.
6. ConfidentialitéConservation des données, anonymisation automatique, niveau de journalisation, activation/désactivation de la journalisation détaillée.
7. NotificationsDestinataires (séparés par des virgules, validés via is_email()), nom et adresse e-mail de l'expéditeur pour les e-mails transactionnels, synchronisation facultative de la liste de contacts vers le compte reportedip.de.
8. ConnexionMasquer le slug de l'URL de connexion (3 à 50 caractères ; les slugs figurant sur la liste noire sont rejetés), mode de réponse pour l'ancienne /wp-login.php (page d'erreur ou 404).
9. PromouvoirBannière de pied de page facultative, variante (insigne / écusson / bannière / statistiques) et alignement.
10. TerminéRésumé de l'exécution, lien vers le tableau de bord.

Modes de fonctionnement

Deux modes — passez de l'un à l'autre à tout moment sans perdre vos données locales.

Fonctionnalité Bouclier local Réseau communautaire
Les seize capteurs d'attaqueOuiOui
Authentification à deux facteurs (2FA) à 4 méthodes + appareils de confiance + codes de récupérationOuiOui
Augmentation progressive par paliersOuiOui
Masquer l'URL de connexionOuiOui
Recherches de réputation IP dans la base de données HiveNonOui (via l'API)
Les rapports d'attaques anonymisés sont transmis à la communautéNonOui (automatique)
Clé API requiseNonOui (formule gratuite disponible)
Les données quittent votre serveurJamaisUniquement l'adresse IP de l'attaquant + la catégorie de menace + l'horodatage
Recommandation : utilisez le mode « Réseau communautaire » pour bénéficier d'une protection optimale. Votre site tire ainsi parti des informations sur les menaces fournies par des milliers d'autres sites, et vous contribuez en retour à protéger la communauté.

Ce que vous obtenez à chaque niveau

Le plugin Hive est entièrement fonctionnel dans la version gratuite : protection locale, les seize capteurs, les quatre méthodes d'authentification à deux facteurs. Les formules payantes incluent une infrastructure de diffusion gérée (e-mail et SMS) ainsi que des quotas plus élevés pour le réseau communautaire. Consultez la page Tarifs pour obtenir une comparaison complète et passer à une formule supérieure.

  Gratuit Contributeur Professionnel Business Entreprise
Prix mensuel (TVA comprise)0 €0 €14,90 €39,00 €À partir de 663 €
Prix / an (réduction d'environ 17 %)0 €0 €149 €389 €Personnalisé
Durée minimaleMensuelMensuel12 mois
Nombre de vérifications API par jour1,0005,00025,000100,000Illimité
Détection et signalement des chemins de leurre (fichier .htaccess géré automatiquement, depuis la version 2.0.11)OuiOuiOuiOuiOui
Mode de renforcement contre les attaques coordonnées (depuis la version 2.0.8)OuiOuiOui
Pare-feu d'application Web — moteur + ensemble de règles de base (depuis la version 2.1.2)OuiOuiOuiOuiOui
Synchronisation prioritaire — ensembles de règles WAF avancées (niveau de paranoïa 2/3) + flux en temps réel d'adresses IP de bots / flux jetablesHebdomadaireQuotidienQuotidienQuotidien
Détection des bots vérifiés (plages d'adresses IP officielles + FCrDNS)OuiOuiOuiOuiOui
Blocage des adresses e-mail jetables et piège à commentairesOuiOuiOuiOuiOui
En-têtes de sécurité — le trio de base (X-Content-Type-Options, X-Frame-Options, Referrer-Policy)OuiOuiOuiOuiOui
En-têtes de sécurité avancées (HSTS, Permissions-Policy, générateur CSP, isolation inter-origines)OuiOuiOui
Note de protection et de renforcement (indicateurs du tableau de bord, notation de A+ à F)OuiOuiOuiOuiOui
Codes de référence des pages de blocs (X-RIP-Ref)OuiOuiOuiOuiOui
Intégration de MainWP (gestion à distance)OuiOuiOuiOuiOui
Journal des événements d'audit (journal du cycle de vie des utilisateurs + exportation au format CSV/JSON, depuis la version 2.1.2)OuiOui
Rapports / jour502001,0005,000Illimité
Flux d'alertes de la communauté (liste noire quotidienne)OuiOuiOuiOui
Nombre de domaines par licence11315Illimité
E-mails 2FA / mois (SMTP géré)5002,500Illimité (dans les limites d'une utilisation raisonnable)
SMS 2FA / mois (relais géré à l'échelle mondiale)2575Personnalisé
SMS bundles prépayés SMS bundles 50 / 200 / 500 SMS à 14,90 / 49,90 / 99,90 € TTC)OuiOuiOui
mail bundles prépayés mail bundles 1 000 / 5 000 / 25 000 courriers à 4,90 / 14,90 / 49,90 €, TVA comprise)OuiOuiOui
Modèles de courrier personnalisésOuiOui
Rapports et analyses sur l'utilisation de l'authentification à deux facteursOuiOuiOui
Règles d'authentification à deux facteurs (2FA) configurables par rôle d'utilisateurOuiOuiOui
Limiter les durées de connexion des utilisateurs (par rôle / par utilisateur)OuiOui
Opérations en masse et analysesOuiOuiOui
Tableau de bord multisite sur reportedip.deOuiOuiOui
En marque blanche (assistant de configuration, pages d'authentification à deux facteurs, modèles d'e-mails)OuiOui
WooCommerce Frontend-2FA (défi thématique sur la boutique en ligne)OuiOuiOui
Intégration complète de WooCommerce (modèles en marque blanche, audit des abonnements et des adhésions)OuiOui
Prise en charge complète des scripts WP-CLIOuiOui
Outil d'exportation des données RGPDOuiOui
Rapport hebdomadaire sur la sécurité (PDF envoyé par e-mail)Oui (chaque semaine)Oui (facultatif tous les jours)Oui
Sauvegarde dans le cloud des paramètres Hive30 d90 d1 an
Conservation des journaux30 d30 d90 d1 anConfigurable
Assistance SLACommunautéCommunautéE-mail : 48 hPriorité 12 hTéléphone 4 h
AVV / DPA personnalisésOui

Business plusieurs réservations. Tous Business indiqués ci-dessus Business s'entendent par licence. Réservez Business , x5, x10 ou x20 lors du paiement (ou modifiez ce choix ultérieurement via le portail client Stripe) : le nombre de vérifications/rapports quotidiens, le quota mensuel d'e-mails/SMS pour l'authentification à deux facteurs (2FA) et le nombre de domaines s'adaptent tous en fonction du nombre de licences — par exemple, x5 = 75 domaines et 500 000 vérifications/jour. Une remise sur volume s'applique automatiquement à partir de x2. La version PRO reste à licence unique ; les chiffres de la version Enterprise sont illimités (utilisation raisonnable) et ne sont jamais multipliés.

Commande groupée (PRO et Business) : d'abord le forfait mensuel inclus (25 SMS / 500 e-mails pour PRO, 75 / 2 500 pour Business), puis le solde du forfait prépayé. Une fois ces deux forfaits épuisés, l'API renvoie un code HTTP 429 et Hive bascule vers le mode local wp_mail() pour les e-mails (ou les SMS avec limite stricte) — les autres méthodes d'authentification à deux facteurs restent opérationnelles. Les crédits du pack n'expirent jamais. Stripe utilise tax_behavior = inclusive pour les offres groupées au prix brut (conformes à la PAngV) ; l'autoliquidation / OSS est gérée automatiquement par Stripe Tax.

Gestion multisite. À partir de la version Professional, le plugin Hive permet d'enregistrer jusqu'à 3 (PRO) ou 15 (Business) domaines protégés sous une seule licence — et l'achat Business porte ce nombre à 30–300 domaines. Tableau de bord multisite, liste blanche centralisée, facturation unique : gérez le tout depuis votre tableau de bord reportedip.de.
Nouveautés des versions 2.1.0 à 2.1.4 — la version du pare-feu. Une couche de pare-feu complète a été ajoutée au cœur existant du capteur et de l'authentification à deux facteurs :
  • 2.1.0 — Intégration de MainWP et codes de référence des pages de blocs. Hive peut désormais être géré à distance depuis le tableau de bord MainWP (synchronisation des indicateurs de sécurité agrégés et attribution des clés API) sans plugin enfant supplémentaire, l'authentification s'effectuant via le canal MainWP Child — aucune adresse IP, aucun nom d'utilisateur, aucun secret ni aucune clé API ne quitte le site. Chaque réponse bloquée comporte désormais un code de référence permettant l'établissement d'un lien (par exemple WAF_SQLI-3F9A2B71), affiché sur la page et émis sous la forme de X-RIP-Ref en-tête ; le jeton d'incident est un hachage à sens unique de l'adresse IP, du motif et de l'heure, de sorte qu'aucune donnée personnelle n'est divulguée. La page bloquée a été refaite à l'aide du système de conception et entièrement traduite.
  • 2.1.2 — Cadre de mise en œuvre des règles + pare-feu d'application Web (moteur gratuit, fonctionnalités PRO). Ensembles de règles fournis par le serveur, versionnés, signés avec Ed25519 et répartis sur plusieurs niveaux (waf, bot_signatures, disposable_domains, scan_paths) sont vérifiées par rapport à une clé publique intégrée avant d'être appliquées — un flux altéré ou inaccessible ne peut en aucun cas corrompre les règles, et une base de référence intégrée fonctionne entièrement hors ligne. Le WAF à inspection de requêtes et sa base de référence « OWASP Top 10 Paranoia Level 1 » sont gratuit avec tous les forfaits; La version Professional donne accès à l'ensemble de règles de niveau 2/3, plus complet et régulièrement mis à jour, via Priority Sync. Elle est renforcée contre les attaques de type ReDoS et fonctionne en mode « fail-open », avec une solution prête à l'emploi (configuration automatique d'Apache / PHP-FPM, snippet nginx) pouvant être intégrée en amont de WordPress et qui bloque les menaces avant même le chargement de WordPress.
  • 2.1.2 — Davantage de capteurs gratuits. Détection des bots vérifiés (plages d'adresses IP officielles + DNS inversé confirmé en amont — les robots d'indexation légitimes ne sont jamais bloqués), blocage des adresses e-mail jetables lors de l'inscription (les relais de confidentialité sont autorisés), un piège à commentaires invisible, des en-têtes de sécurité de base, un tableau de bord indiquant le score de protection et de renforcement (notation de A+ à F) — le tout gratuitement. La version Professionnelle ajoute des en-têtes de sécurité avancés (HSTS, Permissions-Policy, CSP, isolation inter-origines) ; Business la piste d'événements d'audit (le schéma v9 ajoute le audit_log (tableau).
  • 2.1.3 — Correction du problème lié aux adresses IPv6 des bots vérifiés. La confirmation en amont résout désormais également les enregistrements AAAA ; ainsi, les robots d'indexation légitimes se connectant via IPv6 ne sont plus signalés comme frauduleux ; facebookexternalhit est vérifiée par rapport aux plages d'adresses IP publiées par Meta, et non par le biais du DNS inversé.
  • 2.1.4 — Refonte de l'interface utilisateur d'administration du pare-feu. L'onglet « Aperçu » est désormais un mini-tableau de bord (état par module, compteurs d'activité sur 7 jours, flux des événements récents du pare-feu) ; chaque onglet s'ouvre avec une introduction en langage clair ; et un nouvel onglet « Configuration du serveur » regroupe tous les paramètres relatifs au serveur web en un seul endroit. La configuration de la protection étendue est désormais vérifiable : l'état indique si la protection s'est effectivement déclenchée pour la requête en cours. Nouveaux codes de motif WAF spécifiques pour SSRF, Log4Shell, injection d'objet PHP, NoSQL, XXE, web-shell, CRLF et injection de modèle.

Une défense à six niveaux

Hive effectue ses vérifications dans l'ordre : chaque couche peut interrompre la requête avant qu'elle n'atteigne la suivante. Accroché à init avec une priorité 1 afin que les autres plugins ne s'exécutent pas pour une adresse IP bloquée.

  1. Liste blanche — les adresses IP et les plages CIDR de confiance sont toujours autorisées (votre bureau, les services de surveillance, etc.).
  2. Liste de blocage locale — Les adresses IP que vous avez bloquées manuellement ou qui ont dépassé les seuils locaux. Enregistrées dans wp_reportedip_hive_blocked.
  3. Pare-feu d'application Web (WAF) — l'ensemble de règles WAF actif est comparé à l'URI, à la requête, au corps du message et à l'agent utilisateur ; toute correspondance est bloquée via le chemin 403 partagé et codé en référence. Prise en charge des listes blanches et reconnaissance de l'auteur du contenu pour éviter les faux positifs. Un module optionnel à intégrer avant WordPress permet d'exécuter cette couche avant même le chargement de WordPress.
  4. Compteurs de tentatives — les compteurs de connexion, de commentaires, XMLRPC, de requêtes REST en rafale et de scans 404 déclenchent un blocage automatique dès que le seuil est atteint.
  5. Réputation de la communauté — en mode « Réseau communautaire », les adresses IP dont le niveau de confiance est supérieur ou égal au seuil défini sont bloquées en périphérie.
  6. Vérification à deux facteurs: les comptes protégés doivent passer par une deuxième étape de vérification pour se connecter.

Les seize capteurs d'attaque

Chaque capteur peut être activé ou désactivé et réglé individuellement dans Paramètres → Protection.

CapteurCe qu'il regardeSeuil par défaut
Connexion par force bruteÉchecs de connexion par adresse IP via wp_login_failed.5 en 15 minutes
Attaque par force bruteNombre de tentatives d'identification avec des noms d'utilisateur différents à partir d'une même adresse IP (attaques par force brute de type « low-and-slow »).5 en 10 minutes
Spam dans les commentairesNombre de commentaires par adresse IP via comment_post.5 en 60 minutes
Abus via XMLRPCAppels XMLRPC par adresse IP via xmlrpc_call.10 en 60 minutes
Pique de trafic sur l'API RESTNombre de requêtes REST anonymes par adresse IP. Les points de terminaison de la bannière de cookies sont ignorés par défaut (real-cookie-banner, complianz, borlabs-cookie, cookie-law-info).240 en 5 minutes
404 / détecteur de balayageUn taux élevé de codes 404 et un déclenchement immédiat sur les chemins menant aux honeypots (.env, .git/config, wp-config.php.bak, …).12 en 2 minutes
Détection et signalement des chemins leurresPistes d'appât (.env.backup, wp-config.old.php, db-dump-master.sql.php, admin-shell-console.php, …). Une seule requête renvoie un code 403 et met en file d'attente un élevé-rapport communautaire sur la gravité — mais est-ce que pas entraîner une suspension locale de l'adresse IP pendant 24 heures, c'est pourquoi un plugin de secours enregistre wp-config.old.php ou un administrateur qui teste l'URL d'appât ne peut pas bloquer l'accès au site à son propre trafic. Apache .htaccess est géré automatiquement (bloc de marqueurs # BEGIN ReportedIP Hive Decoy situé au-dessus # BEGIN WordPress via insert_with_markers()) de sorte que les fichiers d'appât réels présents sur le disque sont acheminés via WordPress au lieu d'être servis directement par Apache. Les administrateurs Nginx n'ont qu'à copier-coller rewrite ^ /index.php last; Extrait dans les paramètres. Filtre reportedip_hive_decoy_paths élargit la liste des appâts.1 signalement = 403 + signalement de la communauté
Pare-feu pour applications webVérifie l'URI, la chaîne de requête, le corps de la requête et l'agent utilisateur par rapport à la configuration active waf Ensemble de règles (SQLi, XSS, traversée de chemin, injection de commande, wrappers LFI, SSRF, Log4Shell/JNDI, injection d'objet PHP, NoSQL, XXE, téléchargement de shells web, CRLF, injection de modèle). Moteur + base de référence OWASP Top 10 Paranoia niveau 1 gratuite sur tous les forfaits ; le forfait Professional débloque les ensembles de règles signés de niveau 2/3 via Priority Sync. Protection renforcée contre les attaques ReDoS, mode « fail-open », prise en charge des listes blanches et des auteurs de contenu. Blocages optionnels pré-WordPress avant le chargement de WordPress.Niveau de paranoïa sélectionnable
Détection vérifiée des botsVérifie si une requête se présentant comme provenant de Googlebot, Bingbot ou d'un autre robot d'indexation provient bien de ces sources — d'abord par une comparaison sans DNS avec les plages d'adresses IP officielles du robot, puis par un recours à la résolution DNS inverse confirmée par renvoi. Les usurpateurs sont signalés (par défaut) ou bloqués ; les robots d'indexation légitimes ne sont jamais bloqués.Signaler ou bloquer les usurpateurs d'identité
Blocage des adresses e-mail jetablesVérifie l'adresse lors de l'inscription (WordPress + WooCommerce) par rapport à la disposable_domains liste. Les relais de confidentialité (Apple « Masquer mon e-mail », Firefox Relay, etc.) constituent une catégorie à part qui est autorisée par défaut.Désactivé / surveiller / bloquer
Commentaire sur le honeypotUn champ factice invisible et ignoré par les lecteurs d'écran dans le formulaire de commentaires ; les robots spammeurs qui remplissent tous les champs sont bloqués sans que les visiteurs légitimes aient à passer par un CAPTCHA.Toujours activé (lorsque cette option est activée)
Énumération des utilisateursBlocs ?author=N, /wp-json/wp/v2/users, les requêtes oEmbed concernant les utilisateurs ; harmonise les réponses d'erreur pour les utilisateurs inexistants et les mots de passe incorrects.Toujours activé (lorsque cette option est activée)
Surveillance des mots de passe des applicationsAccélérateurs application_password_failed_authentication; empêche le contournement de l'authentification à deux facteurs (2FA) via l'authentification de base.5 en 15 minutes
Anomalie géographique / ASNCompare le pays et l'ASN lors d'une connexion réussie à un historique glissant sur 90 jours ; révoque éventuellement les jetons des appareils de confiance en cas d'anomalie.Il faut s'être déjà connecté au moins une fois
Force du mot de passeApplique une longueur minimale et une combinaison de classes de caractères pour les rôles obligatoires ; vérification k-anonyme « Have-I-Been-Pwned » facultative (préfixe SHA-1 uniquement).8 personnages + classes
Masquer l'URL de connexionSlug personnalisé (par défaut wp-login.php) ; l'URL d'origine renvoie une page d'erreur ou un code 404.Titre : 3 à 50 caractères
Empêcher l'escaladeBarème progressif — les récidivistes paient davantage à chaque cycle.5 m → 15 m → 30 m → 24 h → 48 h → 7 j
Connexion à WooCommerceLes échecs lors de la création d'un compte WooCommerce sont pris en compte dans le compteur de tentatives de force brute.Hérite de la limite de force brute

Escalade par paliers

Les récidivistes paient plus cher. L'échelle par défaut est la suivante : 5 min → 15 min → 30 min → 24 h → 48 h → 7 j. Après 30 jours sans incident, le compteur revient à l'étape 1. Les visiteurs légitimes qui déclenchent le système pour la première fois (CGNAT, administrateurs maladroits, sortie du réseau mobile) sont réintégrés en quelques minutes ; les attaquants persistants atteignent l'étape des 7 jours.

L'échelle, la fenêtre de réinitialisation et le commutateur principal se trouvent sous Paramètres → Blocage → Blocage progressif. L'étape « Protection » de l'assistant affiche le commutateur principal, de sorte que les nouvelles installations prennent en charge la gestion des droits d'accès dès la première sauvegarde. La correction block_duration Ce paramètre reste actif même lorsque l'échelle est désactivée. La granularité inférieure à l'heure est assurée par ReportedIP_Hive_Database::block_ip_for_minutes().

Pare-feu d'applications Web et mise en place des règles

Depuis la version 2.1.2, Hive intègre un pare-feu pour applications Web (WAF) capable d'inspecter les requêtes. Sur init cela correspond à l'élément actif waf Il applique un ensemble de règles à l'URI, à la chaîne de requête, au corps de la requête et à l'agent utilisateur, et bloque les requêtes correspondantes via le chemin 403 partagé, compatible avec la mise en cache et codé par référence. Il est renforcé contre les attaques ReDoS (retour en arrière PCRE limité, mode « fail-open » en cas de règle mal formée), prend en compte les listes blanches et l'auteur du contenu pour éviter les faux positifs, et ajoute environ 4 µs de CPU par requête sans aucune requête de base de données supplémentaire lorsqu'un cache d'objets persistant est présent.

Les règles ne sont pas codées en dur dans le plugin. Ils proviennent du site reportedip.de API Rule — fournies par le serveur, versionnées, signées avec Ed25519 et réparties sur quatre ensembles de règles (waf, bot_signatures, disposable_domains, scan_paths). Le plugin vérifie chaque ensemble de règles par rapport à une clé publique intégrée avant de l'appliquer et se rabat toujours sur une configuration de base intégrée ; ainsi, un flux altéré, trop volumineux ou inaccessible ne peut en aucun cas corrompre vos règles. Les nouvelles signatures d'attaques sont diffusées à toutes les installations en quelques heures, sans qu'il soit nécessaire de publier une nouvelle version du plugin.

  • Inclus gratuitement dans tous les forfaits: le moteur WAF et l'ensemble de règles de base « OWASP Top 10 Paranoia Level 1 », entièrement utilisables hors ligne en mode Local Shield à partir de la configuration de base fournie.
  • Synchronisation prioritaire (à partir de la version Professional) — les ensembles de règles « Paranoia Level 2/3 » plus complets, fréquemment mis à jour et signés (couvrant l'obfuscation et les techniques de contournement), ainsi que les flux en temps réel sur les plages d'adresses IP des bots et les domaines jetables. La version Free synchronise la base de référence fournie ; la version Contributor, chaque semaine ; les versions Professional et supérieures, chaque jour.
  • Module d'extension de garantie (en option) — avant l'arrivée de WordPress auto_prepend_file un module qui exécute le WAF avant le chargement de WordPress. Apache (.htaccess) et PHP-FPM (.user.ini) sont configurés automatiquement ; les serveurs Nginx et les hébergements gérés disposent d'un fichier php.ini / d'un panneau d'hébergement auto_prepend_file ligne ou un extrait de code Nginx. Désactivé par défaut ; la suppression supprime toujours la directive avant de supprimer le garde, de sorte qu’un préfixe obsolète ne peut jamais entraîner une erreur fatale sur le site.
  • Codes de référence — chaque bloc (WAF ou capteur) comporte un code permettant d'établir une corrélation, tel que WAF_SQLI-3F9A2B71, affiché sur la page du bloc et émis sous la forme de X-RIP-Ref En-tête. Un visiteur bloqué par erreur fournit une courte chaîne de caractères qu’un administrateur retrouve dans les journaux ; le jeton est un hachage à sens unique de l’adresse IP, du motif et de l’heure, de sorte qu’aucune donnée personnelle n’est divulguée.

Les paramètres de configuration et l'état en temps réel sont accessibles via le menu dédié au pare-feu: un mini-tableau de bord « Aperçu » (état par module, compteurs sur 7 jours, événements récents du pare-feu), un onglet WAF (moteur / mode / sélecteur de niveau de paranoïa), un onglet Vérification des bots, un onglet Protection anti-spam (e-mails jetables + honeypot), une vue de l'état de la synchronisation des règles et un onglet Configuration du serveur qui regroupe tous les extraits de code du serveur web en un seul endroit.

Détection des bots vérifiés, blocage des adresses e-mail jetables et piège à commentaires

  • Détection vérifiée des bots (gratuit). Vérifie qu'une requête se présentant comme provenant de Googlebot, Bingbot ou d'un autre robot d'indexation provient bien de ces sources : d'abord, une comparaison sans DNS avec les plages d'adresses IP officielles du robot (Priority Sync), puis, à défaut, une vérification par DNS inversé avec confirmation de l'adresse, qui résout à la fois les enregistrements A et AAAA. Les usurpateurs sont signalés (par défaut) ou bloqués ; un robot d'indexation authentique n'est jamais bloqué. facebookexternalhit est vérifiée par rapport aux plages d'adresses IP publiées par Meta.
  • Blocage des adresses e-mail jetables (gratuit). Vérifie l'adresse fournie lors de l'inscription (WordPress et WooCommerce) par rapport à la liste des adresses jetables. Trois modes : désactivé / surveiller / bloquer. Les relais de confidentialité (Apple « Masquer mon e-mail », Firefox Relay, etc.) constituent une catégorie distincte qui est autorisée par défaut. La liste en temps réel est mise à jour via Priority Sync.
  • Comment Honeypot (gratuit). Un champ leurre invisible, ignoré par les lecteurs d'écran, dans le formulaire de commentaires ; les robots spammeurs qui remplissent tous les champs sont bloqués sans que les visiteurs réels aient à passer par un CAPTCHA.

En-têtes de sécurité

Renforcement des en-têtes de réponse pour chaque requête frontale. Les en-têtes déjà envoyées par votre serveur ou par un autre plugin sont détectées et ne sont pas modifiées.

  • Trio de base (gratuit)X-Content-Type-Options, X-Frame-Options, Referrer-Policy.
  • Avancé (Professionnel) — HSTS, Permissions-Policy, une politique de sécurité du contenu (réglée par défaut sur « rapport uniquement », avec un générateur) et le trio d'isolation inter-origines (COOP / CORP / COEP).

L'onglet « Configuration du serveur » permet également d'exporter les en-têtes configurés au niveau du serveur nginx add_header / Apache Header directives.

Note de protection et de renforcement

Deux jauges du tableau de bord (0–100 et une note de A+ à F, à la manière de Mozilla Observatory) évaluent votre couverture de détection et votre niveau de renforcement de la sécurité, avec des liens directs vers chaque élément pour activer un capteur. Les fonctionnalités verrouillées (payantes) sont prises en compte dans le potentiel visible, mais n’affectent pas votre score — le niveau gratuit peut donc tout de même atteindre la note maximale.

Journal des événements d'audit (Business)

Une piste de suivi du cycle de vie des utilisateurs en mode « ajout uniquement » — connexions, échecs de connexion, réinitialisations de mot de passe, mises à jour de profil, changements de rôle (y compris l'utilisateur par intérim), inscriptions et détection des nouvelles adresses IP — avec filtres, exportation au format CSV/JSON, intégration à WordPress pour l'exportation et la suppression conformément au RGPD, et nettoyage des données conservées (1 an pour Business, configurable pour la version Enterprise). Stockée dans le audit_log table (schéma v9). Les journaux de sécurité standard de 30 jours restent disponibles dans toutes les formules ; la piste d'audit constitue quant à elle l'enregistrement de niveau conformité qui vient s'y ajouter.

Intégration de MainWP

Hive peut être géré à distance depuis le tableau de bord MainWP sans nécessiter de plugin enfant supplémentaire. Il s'intègre à MainWP Child mainwp_child_extra_execution filtre (authentifié par le canal MainWP Child) et remplit deux fonctions : la synchronisation des indicateurs de sécurité (chiffres agrégés uniquement — blocages actifs, taille de la liste blanche, échecs de connexion, spam dans les commentaires, blocages liés à la réputation, taille de la file d'attente, événements critiques récents, utilisateurs ayant activé l'authentification à deux facteurs) et la fourniture de clés API à partir du tableau de bord de confiance. Aucune adresse IP, aucun nom d'utilisateur, aucun secret ni aucune clé API ne quitte le site.

Authentification à deux facteurs (2FA)

Quatre méthodes sont prises en charge et peuvent être combinées pour chaque utilisateur. Les codes de récupération sont générés lors de la première configuration. Les secrets sont chiffrés au repos (à l'aide de libsodium, avec OpenSSL comme solution de secours).

  • TOTP — RFC 6238 (6 chiffres, fenêtre de 30 secondes). Compatible avec Google Authenticator, Authy, 1Password, Bitwarden, …
  • E-mail — code à usage unique (OTP) à six chiffres envoyé par le fournisseur de messagerie configuré ; débit limité (3 codes toutes les 15 minutes, 5 tentatives de vérification par code, délai de réenvoi de 60 secondes).
  • SMS — mot de passe à usage unique (OTP) à six chiffres via le relais reportedIP managed reportedIP (formule Professional et supérieures ; voir ci-dessous). Le numéro de téléphone est chiffré au repos.
  • WebAuthn — clés d'accès, clés de sécurité (YubiKey), authentificateurs de plateforme (Touch ID, Face ID, Windows Hello). Analyseur CBOR interne, aucune dépendance externe.
  • Appareils de confiance — jetons « Se souvenir de cet appareil » activables avec une durée de validité configurable (30 jours par défaut). Stockés dans wp_reportedip_hive_trusted_devices sous forme de hachages SHA-256.
  • Codes de récupération — 10 à usage unique xxxx-xxxx codes ; alerte « low-code » lorsque le nombre restant est ≤ 3.

Protection contre les attaques par force brute pour l'authentification à deux facteurs

L'échelle de vérification de l'authentification à deux facteurs est 3 → 30 s, 5 → 5 min, 10 → 30 min, 15 → 1 h. Lorsque le compteur atteint la marche supérieure, l'IP passe au niveau central auto_block_ip() chemin (événement 2fa_brute_force) qui déclenche une escalade progressive et la transmission d'alertes en mode « Community », comme n'importe quel autre capteur.

API REST pour l'authentification à deux facteurs sans interface utilisateur

Pour les intégrations d'applications, le plugin expose trois routes sous l'espace de noms reportedip-hive/v1:

  • POST /2fa/challenge — identifiant + mot de passe → jeton de sécurité + méthodes activées (20 requêtes / 5 minutes par adresse IP).
  • POST /2fa/verify — jeton + méthode + code → définit le cookie d'authentification (30 requêtes / 5 minutes par adresse IP).
  • GET /2fa/methods — affiche les méthodes actives pour l'utilisateur actuel.

Connexion en interface utilisateur de WooCommerce

La fonctionnalité d'authentification à deux facteurs (2FA) de Hive s'intègre directement à votre thème de boutique en ligne actuel — les clients qui se connectent via [woocommerce_my_account], le processus de paiement classique ou les blocs « Panier » et « Paiement » de WooCommerce conservent leur deuxième facteur d'authentification sur une page thématique. L'état du panier et du paiement est préservé lors de la redirection, et le cookie d'appareil de confiance est partagé avec le flux de connexion WordPress.

  • Chemin de configuration2FA → Connexion à l'interface publique pour WooCommerce.
  • Slugs configurables — nom du défi (par défaut reportedip-hive-2fa) et le slug de configuration (par défaut reportedip-hive-2fa-setup); les règles modifiables, celles soumises à la vérification des conflits et celles de réécriture sont automatiquement actualisées lorsqu'elles sont modifiées.
  • Rétrogradation de forfait — désactivation temporaire pour les forfaits « Free » et « Contributor » ; les paramètres, les choix de slugs et l'état de l'intégration sont conservés ; aucune perte de données lors du retour au forfait supérieur.
  • Détection des conflits — Hive affiche un message d'administration lorsque Solid Security, le plugin WP Two-Factor ou Wordfence 2FA gère le formulaire de connexion, et désactive la vérification sur l'interface publique afin d'éviter les doubles invites.
  • Disponibilité des forfaits — Version Professionnelle et supérieures. Les capteurs gratuits de connexion échouée pour WooCommerce (woocommerce_login_failed, woocommerce_checkout_login_form_failed_login) restent présents dans tous les plans et continuent d'alimenter le compteur de force brute.

Envoi d'e-mails et de SMS

La couche de messagerie fonctionne via un contrat de fournisseur modulable (ReportedIP_Hive_Mailer). Le fournisseur par défaut est WordPress wp_mail(); les intégrateurs peuvent remplacer ce dernier par le leur sans modifier le reste du plugin. La 2FA par SMS est une fonctionnalité de la version Professionnelle disponible exclusivement via le relais géré reportedip.de — aucun compte SMS ni contrat avec un opérateur n'est nécessaire. Elle est configurée automatiquement avec un forfait payant ; activez-la sous Paramètres → Authentification à deux facteurs → SMS.

Aperçu de la configuration

Tous les paramètres se trouvent dans ReportedIP → Paramètres. Voici les valeurs par défaut les plus importantes :

ContextePar défautDescription
operation_modeBouclier localRéseau local ou réseau communautaire.
block_threshold75 %Seuil de confiance minimum pour bloquer une adresse IP (mode communautaire).
login_threshold / _timeframe5 à 15 minNombre de tentatives de connexion infructueuses par adresse IP avant le blocage automatique.
comment_spam_threshold / _timeframe5 / 60 minNombre de commentaires par adresse IP avant le blocage automatique.
scan_404_threshold / _timeframe12 / 2 minNombre de codes 404 par adresse IP avant le blocage du scanner.
xmlrpc_threshold / _timeframe10 / 60 minNombre de requêtes XMLRPC par adresse IP avant le blocage automatique.
rest_burst_threshold / _timeframe240 / 5 minRequêtes REST anonymes par adresse IP. Contournement des pages de bannière de consentement.
block_duration_hours24 hBloc de longueur fixe (utilisé lorsque l'échelle est désactivée).
block_escalation_enabled + block_ladder_minutesLe — 5, 15, 30, 1440, 2880, 10080Échelle progressive (minutes par échelon).
report_modeActifactive (bloc) ou report_only (journalisation sans blocage).
data_retention_days30 joursCombien de temps les journaux de sécurité sont-ils conservés avant leur suppression automatique ?
auto_anonymize_days7 joursAnonymiser l'adresse IP et l'agent utilisateur pour les lignes de journal datant de plus de N jours.
cache_duration / negative_cache_duration24 h / 2 hDurée de vie (TTL) du cache ETag pour les requêtes de réputation positive ou négative.
max_api_calls_per_hour100Limite souple visant à répartir l'utilisation de l'API tout au long de la journée.
2fa_enforce_roles(vide)Rôles séparés par des virgules avec authentification à deux facteurs obligatoire.
2fa_grace_days7Quelques jours avant que la mesure ne prive effectivement d'accès les utilisateurs non inscrits.
2fa_trusted_device_days30Expiration du jeton d'un appareil de confiance.
hide_login_enabled / _slug / _response_modeDésactivé — — bloquer la pageSlug personnalisé pour wp-login ; l'ancienne URL renvoie une page d'erreur ou un code 404.

Tables de base de données

Huit tables, créées lors de l'activation et préfixées wp_reportedip_hive_. Version 9 du schéma, avec migration idempotente étape par étape à chaque mise à jour du plugin ; suppression optionnelle lors de la désinstallation. Sur Multisite, toutes les tables se trouvent sous $wpdb->base_prefix Les décisions relatives aux menaces s'appliquent donc à l'ensemble du réseau.

  • logs — événements de sécurité, détails JSON, niveau de gravité, indicateur de signalement.
  • whitelist — adresses IP et plages CIDR approuvées ; date d'expiration facultative.
  • blocked — blocages actifs (manuels / automatiques / basés sur la réputation), avec blocked_until.
  • attempts — compteurs par adresse IP et par type de tentative, avec les horodatages de début et de fin.
  • api_queue — rapports en attente et ayant échoué vers l'API communautaire ; logique de nouvelle tentative.
  • stats — les données cumulées quotidiennes pour les graphiques du tableau de bord (tendances sur 7 et 30 jours).
  • trusted_devices — Jeton de l'appareil pour l'authentification à deux facteurs (hachages SHA-256), adresse IP et nom de l'appareil, date d'expiration.
  • audit_log — Journal d'audit du cycle de vie des utilisateurs en mode « ajout uniquement » (Business) ; ajouté dans la version 9 du schéma.

Shortcodes côté client et pied de page automatique

Intégrez un petit badge « Protégé par Hive » n'importe où sur le site. Tous les codes courts affichent un seul <rip-hive-banner> composant web qui récupère des données en temps réel à partir d'un cache temporaire de 6 heures (sans appel d'API à chaque consultation de page).

  • [reportedip_badge] — petit badge (par défaut) protéger (ton).
  • [reportedip_stat] — une seule statistique (par défaut) confiance (ton).
  • [reportedip_banner] — bannière large (par défaut) communauté (ton).
  • [reportedip_shield] — icône en forme de bouclier (par défaut) contributeur (ton).

Caractéristiques communes : stat (par exemple attacks_30d, reports_total), tone (protect / trust / community / contributor), color, background, label, intro. Le pied de page automatique de l'assistant utilise le même composant, dont la variante et l'alignement sont configurables.

Référence WP-CLI

L'outil d'authentification à deux facteurs est entièrement scriptable. Disponible sous wp reportedip 2fa …:

wp reportedip 2fa status [--user=<id>]
wp reportedip 2fa enable <user_id> --method=<totp|email|sms|webauthn> [--secret=<base32>]
wp reportedip 2fa disable <user_id> [--method=<m>]
wp reportedip 2fa reset <user_id>
wp reportedip 2fa enforce --role=<role> [--remove]
wp reportedip 2fa audit [--user=<id>] [--since=<date>]
wp reportedip 2fa cleanup

Compatibilité des plugins de mise en cache

Depuis la version 1.5.2, la réponse de page bloquée définit DONOTCACHEPAGE, DONOTCACHEDB et DONOTCACHEOBJECT (pris en charge par WP Rocket, W3 Total Cache, WP Super Cache et LiteSpeed Cache) et envoie des instructions explicites Cache-Control: no-store, no-cache, must-revalidate, max-age=0, Pragma: no-cache ainsi que le cœur de WordPress nocache_headers() définir. Un seul attaquant bloqué ne peut plus polluer le cache de pages avec un code 403 que les visiteurs légitimes recevraient autrement jusqu'à l'expiration du cache.

Filtres et hooks d'action

  • apply_filters('reportedip_hive_external_url', $url, $context) — Remplacez toutes les URL externes (politique de confidentialité, inscription, FAQ, etc.).
  • apply_filters('reportedip_hive_rest_bypass_routes', $routes) — étendre la liste des préfixes de routes REST qui contournent le moniteur de trafic (intégrations de bannières de cookies).
  • apply_filters('reportedip_hive_scan_paths', $paths) — étendre la liste des chemins d'accès aux honeypots pour le détecteur de scan.
  • do_action('reportedip_hive_ip_blocked', $ip, $reason) — déclenché lorsqu'une adresse IP est bloquée.
  • do_action('reportedip_hive_report_queued', $ip, $category) — déclenché lorsqu'un rapport est mis en file d'attente pour l'API.

Foire aux questions

Les questions qui nous sont le plus souvent posées. Chaque réponse renvoie, le cas échéant, à la section correspondante ci-dessus.

Généralités

Qu'est-ce que Hive, et quel est son lien avec ReportedIP?

ReportedIP est le plugin WordPress que vous installez sur votre site. ReportedIP (reportedip.de) est le service central qui agrège les informations sur les menaces. Hive peut fonctionner de manière totalement autonome (Local Shield) ou communiquer avec le service (Community Network) — ces deux modes sont tout aussi performants l'un que l'autre.

Dois-je créer un compte pour utiliser le plugin ?

Non — Local Shield fonctionne sans compte ni clé API. Vous n'avez besoin d'un ReportedIP gratuit que si vous souhaitez activer le « Community Network », qui permet d'effectuer des vérifications de réputation auprès de la base de données Hive et de partager en retour des rapports d'attaques anonymisés.

Combien ça coûte ?

Le plugin lui-même est gratuit sous licence GPLv2+. Local Shield ne nécessite jamais d'abonnement payant. Community Network propose une offre gratuite ; les formules supérieures augmentent les quotas quotidiens de vérification et de rapports. Consultez le tableau de bord pour connaître les quotas actuels.

Ce plugin est-il disponible sur WordPress.org ?

Il y a deux éditions. Lumière de la ruche est publié sur WordPress.org sous le slug reportedip-hive — Protection contre les tentatives de connexion par force brute, avec possibilité de vérification par la communauté, sans authentification à deux facteurs (2FA) ni offre de vente incitative. Le Édition complète Les articles présentés sur cette page sont expédiés via Nouveautés GitHub avec des mises à jour en un clic gérées par le Plugin-Update-Checker intégré. La raison de ces deux éditions : les directives de wp.org interdisent les ventes incitatives, les relais gérés payants et les systèmes de niveaux multisites — autant de fonctionnalités sur lesquelles repose l'édition complète. Voir le Documentation Hive Light pour le plugin distribué par wp.org. Important : N'installez pas ces deux plugins sur le même site : ils partagent le même domaine de texte et le même préfixe de classe.

Où se trouve le code source ? Puis-je l'examiner ?

Oui — le code source complet est disponible sur github.reportedip. Les tickets, les pull requests, le journal des modifications et les exécutions CI sont tous accessibles au public.

Installation et configuration

Comment installer le plugin ?

Télécharger reportedip-hive.zip à partir de dernière version sur GitHub, puis dans WordPress : Plugins → Ajouter → Télécharger un plugin, sélectionnez le fichier ZIP, Installer maintenant, Activer. L'assistant d'installation en 10 étapes se lance automatiquement.

Je n'ai pas suivi l'assistant d'installation. Comment puis-je le relancer ?

Paramètres → ReportedIP → en haut de la page, vous trouverez un lien « Relancer l'assistant de configuration ». L'assistant est non destructif : il affiche les valeurs actuelles par défaut, ce qui vous permet de parcourir les étapes et de ne modifier que ce qui est nécessaire.

Comment passer du mode « Local Shield » au mode « Community Network » ?

Paramètres → Connexion → Mode de fonctionnement. Aucune donnée n'est perdue lors du changement. Le passage au mode « Réseau communautaire » nécessite une clé API valide.

Puis-je importer les paramètres d'un autre site ?

Oui — Paramètres → Importation / Exportation. Le fichier d'exportation est au format JSON, avec une limite de 512 Ko pour le téléchargement. Pour des raisons de sécurité, les clés API et les codes secrets 2FA ne sont pas inclus ; tout le reste (seuils, échelles, liste blanche, slug de masquage de la page de connexion) est transférable.

Comment fonctionnent les mises à jour ?

Plugin Update Checker v5.6+ consulte GitHub Releases toutes les 12 heures. Les nouvelles versions apparaissent à l'intérieur Plugins comme pour toute autre mise à jour : installation en un clic. Le format des balises doit être vX.Y.Z; le workflow release.yml vérifie la présence de l'en-tête, de la constante et de la balise « stable » dans le fichier README.

Modes et capteurs

Quelles informations sont exactement partagées avec la communauté lorsque je suis en mode « Réseau communautaire » ?

Trois éléments par attaque : l'adresse IP de l'attaquant, la catégorie de menace (par exemple, attaque par force brute, spam dans les commentaires, XML-RPC, scanner) et un horodatage. À cela s'ajoute la clé API de votre site, afin que le rapport puisse être attribué à un signalant. Rien d'autre: aucun nom d'utilisateur, aucun mot de passe, aucun contenu de commentaire, aucune donnée relative aux utilisateurs finaux, aucune URL de site dans la charge utile.

Quels sont ces seize capteurs et puis-je désactiver certains d'entre eux ?

Consultez la section « Les seize capteurs d'attaque » ci-dessus pour obtenir la liste complète et les paramètres par défaut. Oui, chaque capteur dispose d'un bouton d'activation/désactivation et de boutons de réglage du seuil et de la durée dans Paramètres → Protection. Vous pouvez également désactiver un capteur en entier sans désactiver les autres.

Qu'est-ce que le « mode lecture seule » ?

Ce plugin enregistre tout sans rien bloquer. Il est utile lorsque vous réglez les seuils sur un site très fréquenté et que vous souhaitez voir ce qui aurait été bloqué avant d'activer la protection. Paramètres → Protection → Mode « rapport uniquement ».

Comment fonctionne l'escalade progressive par blocs ?

Échelle par défaut : 5 min → 15 min → 30 min → 24 h → 48 h → 7 j. Chaque bloc de répétition au sein de la fenêtre de réinitialisation (30 jours par défaut) avance d'une étape. Au bout de 30 jours, l'adresse IP réinitialisée recommence à l'étape 1. Les cas de CGNAT et les erreurs de saisie des administrateurs sont résolus en quelques minutes ; les attaques persistantes peuvent durer jusqu'à 7 jours. Activable/désactivable ; revient par défaut à un réglage fixe block_duration lorsqu'il est éteint.

En quoi consiste la fonctionnalité « Masquer l'URL de connexion » ?

Il remplace /wp-login.php avec un slug personnalisé (3 à 50 caractères ; les slugs figurant sur la liste noire sont rejetés). L'ancienne URL renvoie soit une page de blocage Hive, soit une page 404 standard — à vous de choisir. Les flux REST, AJAX, WP-CLI et de réinitialisation de mot de passe sont automatiquement contournés afin de continuer à fonctionner. Cela réduit considérablement la surface d'attaque contre les attaques par force brute automatisées.

Lorsque l'option « Masquer la connexion » est activée, des clics répétés sur l'ancien /wp-login.php provenant d'une même adresse IP sont considérées comme un balayage et bloquées selon la procédure d'escalade standard. Une seule visite accidentelle reste inoffensive : seul un schéma récurrent déclenche un blocage. Ajustez le seuil ou désactivez le blocage sous Paramètres → Masquer la connexion.

Authentification à deux facteurs

Quelles méthodes d'authentification à deux facteurs (2FA) Hive prend-il en charge ?

Quatre : TOTP (RFC 6238 — Google Authenticator, Authy, 1Password, Bitwarden, etc.), mot de passe à usage unique par e-mail, mot de passe à usage unique par SMS (via le relais géré, forfait Professionnel), WebAuthn (clés d'accès, YubiKey, Touch ID, Face ID, Windows Hello). Sans oublier les codes de récupération à usage unique et les jetons pour appareils de confiance.

Puis-je rendre l'authentification à deux facteurs obligatoire uniquement pour certains utilisateurs ?

Oui — sélectionnez les rôles dans Paramètres → Authentification à deux facteurs (2FA) → Rôles obligatoires. Les utilisateurs concernés par cette obligation sont guidés par un assistant de configuration en 5 étapes lors de leur première connexion, avec un délai de grâce configurable (7 jours par défaut) avant que le verrouillage ne soit activé.

J'ai perdu mon téléphone / mon générateur d'authentification — comment puis-je me reconnecter ?

Utilisez l'un des dix codes de récupération que vous avez enregistrés lors de la configuration de l'authentification à deux facteurs. Si vous les avez également perdus, un administrateur peut réinitialiser l'authentification à deux facteurs pour n'importe quel utilisateur sous Utilisateurs → Authentification à deux facteurs. En dernier recours : wp reportedip 2fa reset <user_id> via WP-CLI / SSH.

Combien de temps un « appareil de confiance » reste-t-il de confiance ?

Configurable ; valeur par défaut : 30 jours. Le jeton est un hachage SHA-256 stocké dans wp_reportedip_hive_trusted_devices ainsi que l'adresse IP et le nom de l'appareil. Le capteur d'anomalies géographiques peut révoquer automatiquement les jetons des appareils de confiance en cas de changement de pays ou d'ASN.

WebAuthn fonctionne-t-il sur tous les navigateurs ?

Les versions récentes de Chrome, Edge, Safari et Firefox sur macOS, Windows, iOS et Android — oui. WebAuthn nécessite le protocole HTTPS (ou localhost (pour les développeurs). Les navigateurs plus anciens ou sécurisés ne prenant pas en charge WebAuthn basculent automatiquement vers TOTP/e-mail/SMS.

Puis-je intégrer l'authentification à deux facteurs (2FA) dans une application sans interface utilisateur ou une application mobile ?

Oui — l'espace de noms REST reportedip-hive/v1 révèle POST /2fa/challenge, POST /2fa/verify et GET /2fa/methods. Limitation par adresse IP (20 / 30 / illimité par tranche de 5 minutes).

Performances et compatibilité

Hive est-il compatible avec WP Rocket / W3 Total Cache / WP Super Cache / LiteSpeed ?

Oui — depuis la version 1.5.2, la réponse de page bloquée définit DONOTCACHEPAGE, DONOTCACHEDB et DONOTCACHEOBJECT plus explicite Cache-Control: no-store, no-cache, must-revalidate, max-age=0, Pragma: no-cache et le cœur de WordPress nocache_headers() définir. Un attaquant bloqué ne peut plus corrompre le cache de pages.

Est-ce que cela fonctionne avec Cloudflare ?

Oui. Le plugin lit CF-Connecting-IP d'abord, puis se rabat sur X-Forwarded-For et REMOTE_ADDR. Ajoutez les adresses IP de surveillance de votre serveur d'origine à la liste blanche si vous utilisez Cloudflare comme proxy pour une page d'état.

Et que dire du fait que l'éditeur de blocs WordPress (Gutenberg) envoie plus de 50 requêtes REST ?

Depuis la version 1.2.2, les utilisateurs connectés ne sont plus pris en compte par le moniteur global de rafales REST ; seules les rafales anonymes sont comptabilisées. La correspondance du chemin du scanner reste d'application (de sorte que Gutenberg ne peut pas effectuer de requêtes par inadvertance .env). Assurez-vous que vous utilisez la version 1.2.2 ou une version plus récente.

Comment puis-je limiter l'utilisation de l'API ?

Par défaut, le cache ETag conserve les requêtes positives pendant 24 heures et les requêtes négatives pendant 2 heures. Augmentez ces durées si votre site est peu fréquenté. Le tableau de bord affiche le quota en temps réel et la file d'attente, ce qui vous permet de voir si vous atteignez la limite. Les rapports par lots générés par Cron (toutes les 15 minutes) regroupent les événements individuels.

Hive va-t-il ralentir mon site ?

La vérification par blocs consiste en une requête indexée unique sur wp_reportedip_hive_blocked sur demande, accroché à init Priorité 1. La liste blanche est mise en cache en mémoire pour chaque requête. Les vérifications de réputation s'effectuent de manière asynchrone : la page publique est d'abord affichée, puis le rapport est mis en file d'attente et envoyé lors de la prochaine exécution du cron.

Confidentialité et RGPD

Ce plugin est-il conforme au RGPD ?

Oui — Local Shield ne transmet jamais de données à qui que ce soit ; Community Network n'envoie que les trois champs mentionnés ci-dessus ; les user-agents sont tronqués à 50 caractères ; et les adresses IP peuvent être anonymisées automatiquement après un nombre de jours configurable. Vous trouverez le détail complet du traitement des données dans notre politique de confidentialité.

Dois-je mentionner Hive dans ma propre politique de confidentialité ?

Oui, si vous utilisez le mode « Community Network » : vous devez indiquer l'utilisation de Hive ainsi que la transmission de l'adresse IP de l'attaquant, de sa catégorie et de l'horodatage à reportedip.de. Si vous utilisez uniquement le mode « Local Shield », aucune transmission n'a lieu, mais vous traitez tout de même les adresses IP à des fins de sécurité (art. 6, par. 1, point f) du RGPD), ce qui mérite d'être mentionné dans votre politique de confidentialité.

Qu'advient-il de mes données si je désinstalle l'application ?

La désinstallation supprime tout wp_reportedip_hive_* les tables et supprime tout reportedip_hive_* options. Les rapports déjà présents dans la base de données communautaire sont conservés : ils ne permettent pas de vous identifier personnellement sur votre site (seul le hachage de la clé API permet de les associer).

Personnalisation et extension

Les visiteurs qui cliquent sur la bannière relative aux cookies ou sur le lien de consentement sont bloqués — comment puis-je étendre la liste des exceptions ?

Depuis la version 1.5.0, les quatre espaces de noms courants (real-cookie-banner, complianz, borlabs-cookie, cookie-law-info) sont ignorés par défaut. Pour une pile personnalisée, intégrez le filtre :

add_filter('reportedip_hive_rest_bypass_routes', function ($routes) {
    $routes[] = '/my-consent-plugin/v1';
    return $routes;
});
Comment puis-je ajouter mes propres chemins d'accès aux pièges à miel dans le détecteur d'analyse ?

Crochet reportedip_hive_scan_paths:

add_filter('reportedip_hive_scan_paths', function ($paths) {
    $paths[] = '/.aws/credentials';
    return $paths;
});
Puis-je créer mon propre fournisseur de messagerie ?

Oui — mettre en œuvre interface-mail-provider.php pour les e-mails et l'enregistrer via le filtre de messagerie (reportedip_hive_mail_provider). Les SMS, en revanche, sont exclusivement acheminés via le relais géré reportedip.de (formule Professional et supérieures) ; il n'y a donc pas de fournisseur de SMS auto-hébergé à configurer.

D'où proviennent les données des codes courts du front-end ?

Un cache temporaire d'une durée de 6 heures. Clés : attacks_30d, attacks_total, blocked_active, whitelist_active, logins_30d, spam_30d, api_reports_30d, reports_total. Les codes courts n'appellent jamais l'API à chaque consultation de page.

Quotas, forfaits et compte

Quels sont les avantages associés à chaque poste ?

Consultez la documentation sur l'authentification pour obtenir le tableau complet. En résumé : version gratuite (1 000 vérifications / 50 rapports par jour), contributeur (5 000 / 200), professionnel (25 000 / 1 000), business 100 000 / 5 000), entreprise (illimité), honeypot (illimité).

Le tableau de bord indique un arriéré dans la file d'attente — que dois-je faire ?

Ouvrez Paramètres → File d'attente API. Le bouton « Réessayer » (correction 1.2.4) déclenche désormais réellement l'appel API, et ne se contente plus de réinitialiser l'état. Si les tentatives échouent en raison d'un quota, augmentez la durée de conservation du cache ou passez à un forfait supérieur.

Puis-je utiliser Hive sur une installation multisite ou en réseau ?

Oui, entièrement, depuis la version 2.0.0. L'édition complète est réservé au réseau (Network: true) : l'activation par site est masquée par WordPress afin que la configuration de sécurité reste uniforme. Toutes les tables se trouvent sous $wpdb->base_prefixAinsi, une seule décision relative à une menace s'applique à l'ensemble du réseau : les tentatives de force brute provenant de différents sites sont regroupées dans un compteur central, et un seul blocage exclut l'adresse IP de tous les sous-sites. Les administrateurs réseau disposent de tous les paramètres et d'une vue des journaux pour l'ensemble des sites ; les administrateurs de site sur un sous-site disposent d'une interface utilisateur en lecture seule pour l'état et les journaux, ainsi que de deux options de remplacement modifiables par site (slug Frontend-2FA et rôles supplémentaires d'application de l'authentification à deux facteurs). Cron ne s'exécute que sur le site principal.

Dépannage

Le plugin ne bloque aucune adresse IP

Vérifiez si le mode « Rapport uniquement » est activé : il enregistre les menaces sans les bloquer. Vérifiez également que le seuil de blocage n'est pas trop élevé (75 % par défaut) et que le blocage automatique est activé (la stratégie de durée est désactivée lorsque le blocage automatique est désactivé).

Erreurs de connexion à l'API en mode Réseau communautaire

Assurez-vous que votre serveur peut envoyer des requêtes HTTPS sortantes vers reportedip.de. Certains hébergeurs bloquent les connexions sortantes par défaut. Vérifiez la clé API sur le Tableau de bord.

Les visiteurs qui ignorent la bannière relative aux cookies sont bloqués

Depuis la version 1.5.0, les quatre espaces de noms Common Consent (real-cookie-banner, complianz, borlabs-cookie, cookie-law-info) sont ignorés par défaut. Si votre pile utilise un espace de noms différent, étendez la liste des éléments à ignorer via le reportedip_hive_rest_bypass_routes filtre.

Les utilisateurs légitimes se font bloquer

Ajoutez leurs adresses IP ou leurs plages CIDR à la liste blanche locale. Les adresses IP figurant sur la liste blanche ne sont jamais bloquées, quelle que soit leur réputation.

Utilisation élevée de l'API / épuisement des vérifications

Par défaut, les réponses sont mises en cache localement (avec ETag) pendant 24 heures. Si vous continuez à manquer de vérifications, augmentez cache_duration ou passez à un forfait supérieur. Surveillez la file d'attente et le quota sur le Tableau de bord.

Bloqué par l'authentification à deux facteurs

Utilisez l'un des codes de récupération enregistrés lors de la configuration de l'authentification à deux facteurs. Si vous les avez perdus, un administrateur peut réinitialiser l'authentification à deux facteurs pour n'importe quel utilisateur sous Utilisateurs → Authentification à deux facteurs. En dernier recours : wp reportedip 2fa reset <user_id>.

L'éditeur de blocs (Gutenberg) est sans cesse ralenti

L'éditeur de blocs envoie plus de 50 requêtes REST en quelques secondes. Depuis la version 1.2.2, les utilisateurs connectés ne sont plus pris en compte par le moniteur global de pics de requêtes REST ; seuls les pics provenant d'utilisateurs anonymes sont comptabilisés. Assurez-vous d'utiliser la version 1.2.2 ou une version plus récente.

RGPD et confidentialité

Ce plugin a été conçu dans le respect de la vie privée et est entièrement conforme au RGPD.

  • Mode Local Shield : aucune donnée ne quitte votre serveur. La détection et le blocage s'effectuent entièrement en local.
  • Mode « Réseau communautaire » : seules l'adresse IP de l'attaquant, la catégorie de menace et l'horodatage sont partagés. Aucun nom d'utilisateur, aucun mot de passe, aucun contenu de commentaire, aucune donnée relative à l'utilisateur final.
  • Les agents utilisateur sont tronqués à 50 caractères avant d'être enregistrés.
  • Nettoyage automatique : les journaux de sécurité sont supprimés à l'issue de la période de conservation configurée (30 jours par défaut). L'anonymisation automatique intervient plus tôt (7 jours par défaut).
  • Chiffrement au repos : les clés TOTP, les identifiants WebAuthn et les numéros de téléphone utilisés pour les SMS sont chiffrés à l'aide de libsodium (avec OpenSSL en secours).
  • Pas de suivi : pas de cookies, pas de pixels de suivi, pas de télémétrie.
  • Open source : le code source complet est publié sur GitHub — chaque ligne peut être vérifiée.

Points forts du journal des modifications

  • 2.1.x — La version du pare-feu : un framework de distribution de règles fourni par le serveur et signé Ed25519, alimentant un pare-feu d'applications Web inspectant les requêtes (moteur gratuit + base de référence Paranoia-Level-1, niveaux PRO 2/3 via Priority Sync), détection des bots vérifiés, blocage des adresses e-mail jetables, un honeypot de commentaires, des en-têtes de réponse de sécurité (de base gratuit, avancé PRO), un tableau de bord indiquant le score de protection et de renforcement, des codes de référence pour les pages de blocage (X-RIP-Ref), le journal des événements Business (schéma v9), l'intégration de MainWP et un espace d'administration du pare-feu.
  • 2.0.x — Activation multisite à l'échelle du réseau (Network: true), gestion des niveaux par blog, bannières de mise à niveau, renforcement de la sécurité des surveillances des mots de passe d'application et des anomalies géographiques, activation de l'authentification à deux facteurs (2FA) en interface publique pour WooCommerce dans la version PRO+, mode de renforcement de la sécurité contre les attaques coordonnées, détection et signalement des chemins de détournement.
  • 1.5.2 — Compatibilité du plugin de mise en cache sur la page 403 ; la limitation de la 2FA évolue vers un véritable blocage en cas d'escalade ; init priorité n° 1.
  • 1.5.1 — Clarté de l'onglet « Blocage » (Mode rapport uniquement > Blocage automatique > Stratégie de durée) ; les éditeurs à longueur fixe et en échelle s'intervertissent en ligne.
  • 1.5.0 — Escalade progressive des blocages (échelle de 5 m à 7 jours) ; contournement par défaut des points de terminaison des bannières de cookies ; assouplissement des paramètres par défaut pour les erreurs 404 et le spam dans les commentaires.
  • 1.2.4 — Le bouton « Retry » (Réessayer) de la file d'attente API déclenche désormais effectivement l'appel API.
  • 1.2.0 — Sept nouveaux capteurs : surveillance des mots de passe d'application, surveillance des rafales REST, blocage de l'énumération des utilisateurs, détecteur d'erreurs 404/de scans, anomalies géographiques, force des mots de passe, masquage de l'URL de connexion.
  • 1.1.0 — Système de messagerie centralisé avec modèle de marque.
  • 1.0.0 — Première version publique : blocage d'adresses IP, authentification à deux facteurs (2FA) à 4 méthodes, assistant de configuration, tableaux de listes.

Historique complet : CHANGELOG.md sur GitHub.

Vous cherchez le format plus petit ?

ReportedIP Light est la version allégée distribuée par WordPress.org : protection contre les tentatives de connexion par force brute et vérification facultative de la réputation des adresses IP par la communauté. Pas d’authentification à deux facteurs, pas de niveaux d’abonnement, pas de relais géré. Le choix idéal pour les petits sites et les amateurs. Consultez la documentation de Hive Light ou installez-la directement depuis WordPress.org.
Axé sur la sécurité
Conforme au RGPD
Fabriqué en Allemagne
Retour à la documentation