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)
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.
vX.Y.Z.
Installation
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.
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.
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).
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.
| Étape | Ce qu'il configure |
|---|---|
| 1. Bienvenue | Intro, link to the docs and optional one-click import of an existing JSON settings export. |
| 2. Se connecter | Operating mode (Local Shield / Community Network), API key with live validation against reportedip.de. How to create a key is covered in the Authentication docs. |
| 3. Protection | Connexion / 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-feu | Pare-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 facteurs | Activer / 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. Notifications | Destinataires (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. Connexion | Masquer 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. Promouvoir | Banniè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'attaque | Oui | Oui |
| Authentification à deux facteurs (2FA) à 4 méthodes + appareils de confiance + codes de récupération | Oui | Oui |
| Augmentation progressive par paliers | Oui | Oui |
| Masquer l'URL de connexion | Oui | Oui |
| Recherches de réputation IP dans la base de données Hive | Non | Oui (via l'API) |
| Les rapports d'attaques anonymisés sont transmis à la communauté | Non | Oui (automatique) |
| Clé API requise | Non | Oui (formule gratuite disponible) |
| Les données quittent votre serveur | Jamais | Uniquement l'adresse IP de l'attaquant + la catégorie de menace + l'horodatage |
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 minimale | — | — | Mensuel | Mensuel | 12 mois |
| Nombre de vérifications API par jour | 1,000 | 5,000 | 25,000 | 100,000 | Illimité |
| Détection et signalement des chemins de leurre (fichier .htaccess géré automatiquement, depuis la version 2.0.11) | Oui | Oui | Oui | Oui | Oui |
| Mode de renforcement contre les attaques coordonnées (depuis la version 2.0.8) | — | — | Oui | Oui | Oui |
| Pare-feu d'application Web — moteur + ensemble de règles de base (depuis la version 2.1.2) | Oui | Oui | Oui | Oui | Oui |
| 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 jetables | — | Hebdomadaire | Quotidien | Quotidien | Quotidien |
| Détection des bots vérifiés (plages d'adresses IP officielles + FCrDNS) | Oui | Oui | Oui | Oui | Oui |
| Blocage des adresses e-mail jetables et piège à commentaires | Oui | Oui | Oui | Oui | Oui |
| En-têtes de sécurité — le trio de base (X-Content-Type-Options, X-Frame-Options, Referrer-Policy) | Oui | Oui | Oui | Oui | Oui |
| En-têtes de sécurité avancées (HSTS, Permissions-Policy, générateur CSP, isolation inter-origines) | — | — | Oui | Oui | Oui |
| Note de protection et de renforcement (indicateurs du tableau de bord, notation de A+ à F) | Oui | Oui | Oui | Oui | Oui |
Codes de référence des pages de blocs (X-RIP-Ref) | Oui | Oui | Oui | Oui | Oui |
| Intégration de MainWP (gestion à distance) | Oui | Oui | Oui | Oui | Oui |
| Journal des événements d'audit (journal du cycle de vie des utilisateurs + exportation au format CSV/JSON, depuis la version 2.1.2) | — | — | — | Oui | Oui |
| Rapports / jour | 50 | 200 | 1,000 | 5,000 | Illimité |
| Flux d'alertes de la communauté (liste noire quotidienne) | — | Oui | Oui | Oui | Oui |
| Nombre de domaines par licence | 1 | 1 | 3 | 15 | Illimité |
| E-mails 2FA / mois (SMTP géré) | — | — | 500 | 2,500 | Illimité (dans les limites d'une utilisation raisonnable) |
| SMS 2FA / mois (relais géré à l'échelle mondiale) | — | — | 25 | 75 | Personnalisé |
| SMS bundles prépayés SMS bundles 50 / 200 / 500 SMS à 14,90 / 49,90 / 99,90 € TTC) | — | — | Oui | Oui | Oui |
| mail bundles prépayés mail bundles 1 000 / 5 000 / 25 000 courriers à 4,90 / 14,90 / 49,90 €, TVA comprise) | — | — | Oui | Oui | Oui |
| Modèles de courrier personnalisés | — | — | — | Oui | Oui |
| Rapports et analyses sur l'utilisation de l'authentification à deux facteurs | — | — | Oui | Oui | Oui |
| Règles d'authentification à deux facteurs (2FA) configurables par rôle d'utilisateur | — | — | Oui | Oui | Oui |
| Limiter les durées de connexion des utilisateurs (par rôle / par utilisateur) | — | — | — | Oui | Oui |
| Opérations en masse et analyses | — | — | Oui | Oui | Oui |
| Tableau de bord multisite sur reportedip.de | — | — | Oui | Oui | Oui |
| En marque blanche (assistant de configuration, pages d'authentification à deux facteurs, modèles d'e-mails) | — | — | — | Oui | Oui |
| WooCommerce Frontend-2FA (défi thématique sur la boutique en ligne) | — | — | Oui | Oui | Oui |
| Intégration complète de WooCommerce (modèles en marque blanche, audit des abonnements et des adhésions) | — | — | — | Oui | Oui |
| Prise en charge complète des scripts WP-CLI | — | — | — | Oui | Oui |
| Outil d'exportation des données RGPD | — | — | — | Oui | Oui |
| 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 Hive | — | — | 30 d | 90 d | 1 an |
| Conservation des journaux | 30 d | 30 d | 90 d | 1 an | Configurable |
| Assistance SLA | Communauté | Communauté | E-mail : 48 h | Priorité 12 h | Téléphone 4 h |
| AVV / DPA personnalisés | — | — | — | — | Oui |
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.
- 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 deX-RIP-Refen-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 ;
facebookexternalhitest 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.
- 2.1.5 – 2.1.8 — False-positive and fail-safe hardening. Verified search crawlers are exempt from the user-enumeration probe ladder (an SEO regression fix), bot classification became three-state (unknown is never flagged), the CIDR matcher rejects mismatched address families cleanly, loopback/private addresses are never reported as attackers, and removing the Extended Protection drop-in neutralises the guard to an inert placeholder instead of deleting it — a leftover
auto_prepend_filedirective can no longer 500 the site. - 2.1.9 – 2.1.11 — Backend-managed WAF exceptions. False positives can be relieved from the admin without touching code: a "WAF Exceptions" allowlist (scoped to a rule, a rule group or the engine on a path, optionally narrowed to an IP/CIDR) plus a one-click "Allow" action on every WAF log row. Exceptions also bake into the pre-WordPress drop-in, and every block decision now logs the matched value, target, method, URI and user-agent — diagnosable without reproducing the request. See WAF Exceptions below.
- 2.1.12 – 2.1.13 — MainWP provisioning & analytics dashboard. MainWP can switch a managed site into Community Network mode alongside key provisioning, and the security dashboard was reworked into a full analytics view (headline strip, seven threat families, WAF rule-group chart, severity breakdown, top attackers).
- 2.1.14 – 2.1.18 — Correctness under real-world hosting. All stored datetimes are UTC-consistent (auto-blocking silently failed on servers whose database timezone was not UTC), admin timestamps render in the site timezone, tier lookups are served purely from cache (no more hot-path quota polling), and API health is measured over a rolling window so a one-off outage no longer reports "degraded" forever.
- 2.1.17 – 2.1.20 — Extended Protection on nginx. PHP-FPM stacks are auto-configured via a document-root
.user.iniregardless of nginxlocationblocks, the guard skips body inspection for authenticated requests (editors saving posts can no longer trip it), disabling the WAF also neutralises the guard, and the Server Setup tab surfaces the manual php.ini /fastcgi_paramsnippets whenever the auto-written directive is not yet running. - 2.1.22 – 2.1.24 — 2FA enforcement without lockouts. A user who exhausts the grace period and skip quota is now signed in and sent straight into forced 2FA enrolment instead of being locked out (the old hard-lockout behaviour remains available as a policy option); administrators and super admins can never be hard-locked out. A duplicate submit of the 2FA challenge no longer strands users on a "session expired" page. Plus new WAF signatures: the PHPUnit
eval-stdin.phpRCE probe (CVE-2017-9841) is blocked on every plan. - 2.1.25 — REST-batch attack class blocked, encoded-payload bypass closed. Two new free baseline rules block the WordPress-core REST batch route-confusion primitive structurally (not by token, so variants do not evade them), the firewall now inspects a decoded copy of the request body (percent-encoded payloads smuggled inside JSON are matched), and Paranoia-Level-2/3 blocks render their specific reference category instead of a generic
BLOCKEDcode.
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.
- Liste blanche — les adresses IP et les plages CIDR de confiance sont toujours autorisées (votre bureau, les services de surveillance, etc.).
- 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. - 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.
- 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.
- 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.
- 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
Every sensor can be toggled and tuned independently in Settings → Protection. The final two rows — block escalation and the WooCommerce login bridge — are companion mechanisms riding the same pipeline rather than separate sensors: escalation is the response ladder every sensor feeds into, and the WooCommerce bridge counts storefront login failures toward the existing brute-force sensor.
| Capteur | Ce qu'il regarde | Seuil par défaut |
|---|---|---|
| Connexion par force brute | Échecs de connexion par adresse IP via wp_login_failed. | 5 en 15 min |
| Attaque par force brute | Nombre 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 min |
| Spam dans les commentaires | Nombre de commentaires par adresse IP via comment_post. | 5 en 60 min |
| Abus via XMLRPC | Appels XMLRPC par adresse IP via xmlrpc_call. | 10 en 60 min |
| Pique de trafic sur l'API REST | Nombre 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 min |
| 404 / détecteur de balayage | Un 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 min |
| Détection et signalement des chemins leurres | Pistes 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 web | Vé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 bots | Vé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 jetables | Vé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 honeypot | Un 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 utilisateurs | Blocs ?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 applications | Accélérateurs application_password_failed_authentication; empêche le contournement de l'authentification à deux facteurs (2FA) via l'authentification de base. | 5 en 15 min |
| Anomalie géographique / ASN | Compare 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 passe | Applique 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 connexion | Slug 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'escalade | Barème progressif — les récidivistes paient davantage à chaque cycle. | 5 m → 15 m → 30 m → 24 h → 48 h → 7 j |
| Connexion à WooCommerce | Les é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_fileun module qui exécute le WAF avant le chargement de WordPress. Apache (.htaccess) and PHP-FPM stacks — including nginx + PHP-FPM — are auto-configured via a document-root.user.ini, which covers every PHP endpoint regardless of nginxlocationblocks (since 2.1.17); stacks without a FastCGI PHP SAPI get a php.ini / hosting-panelauto_prepend_fileline or an nginxfastcgi_paramsnippet from the Server Setup tab. The guard skips request-body inspection for authenticated requests by default, so signed-in editors saving content never trip it; URL and user-agent rules still run, and the in-WordPress engine remains the capability-aware backstop. Off by default; removal strips the directives Hive controls and neutralises the guard to an inert placeholder instead of deleting it (since 2.1.8), so a leftover directive in a hand-edited php.ini or nginx config can never point at a missing file and 500 the site. Disabling the WAF engine or switching to report-only also neutralises the guard automatically. - 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 deX-RIP-RefEn-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.
WAF Exceptions — Handling False Positives
Since 2.1.9 a false positive can be relieved from the admin without touching code — the way ModSecurity exclusions and the Wordfence allowlist work. A first-party endpoint that legitimately receives attack-like payloads (a form that accepts HTML, a security API ingesting reported attack data, a page builder posting raw markup) occasionally trips an injection signature; an exception makes that one case pass while the engine keeps protecting everything else.
- Where. Firewall → WAF → WAF Exceptions, plus a one-click "Allow" action on every WAF log row that pre-fills a narrow exception for exactly that rule on that path — no need to know the rule ID by heart.
- Scopes. An exception targets a single rule (by rule ID, taken from the WAF block log), a rule group (picked from the engine's known categories) or — for a first-party endpoint — the whole engine on a path, optionally narrowed to an IP or CIDR range. A whole-engine exception must always carry a path or IP restriction, so the firewall can never be globally disabled by accident.
- Scope it as tightly as possible. Prefer a single rule on a path over a rule group, and a rule group over a whole-engine exception. The block log records the matched value, inspected target, request method, URI and user-agent (since 2.1.11), so you can see exactly which rule fired and why before you allow it.
- Extended Protection honours the same list. Active exceptions are baked into the pre-WordPress drop-in guard and rebaked whenever the allowlist changes — the pre-WordPress layer and the in-WordPress engine never disagree.
- Multisite & plans. Exceptions are network-wide data, available on every plan — the protection engine itself stays free.
- Developer escape hatch.
apply_filters('reportedip_hive_waf_bypass_routes', [])excludes REST routes at code level. Matching is an anchored prefix test against the resolved WP REST route — never an unanchored substring of the raw URI — so a bypass token smuggled into an unrelated query parameter cannot disable the WAF.
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é.
facebookexternalhitest 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.
Security Dashboard & Analytics
The main dashboard opens with a headline strip — attacks blocked over the last 30 days, attacks blocked today, IPs currently blocked and how many of your protection layers are switched on (for example 17 / 20). Below it, the analytics pull from every sensor, not just the classic login / spam counters.
- Security Events timeline. A stacked-area chart grouping all activity into seven families — Login & Credential, Firewall (WAF), Scanners & Probes, Fake Bots, Recon & Enumeration, Spam & Flooding and Anomalies — over a selectable 7-, 30- or 90-day window.
- Threat Distribution. A breakdown of which attack family dominated the period, so you can see at a glance whether you are facing brute-force, firewall-level exploit attempts, scanners or spam.
- Firewall — Top Attack Types. The WAF blocks ranked by rule group (SQL injection, cross-site scripting, path traversal, Log4Shell, scanner user-agents, …).
- Severity Breakdown. Critical / High / Medium / Low counts, so the volume of serious events is never hidden inside a single total.
- Top Attackers (30 days). The most active source IPs with their hit count, when they were last seen and whether they are currently blocked or only monitored.
- Recent Activity. The live event stream, each entry tagged with its severity and threat family plus the relevant detail (matched WAF rule, probed path, spoofed bot name).
All counts are real on every plan — the dashboard reflects what your site actually blocked. Professional and Business plans add deeper analytics on top (longer history and log retention, attacker geography and the compliance-grade audit trail described below).
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 is remote-manageable from a MainWP dashboard with no extra child plugin and no MainWP extension to buy. It hooks the MainWP Child mainwp_child_extra_execution filter, so every job is authenticated by the existing MainWP Child channel — no additional credentials, no new attack surface. Setup is simply: install MainWP Child and Hive on the managed site, connect the site to your MainWP dashboard as usual, done.
Two job types are answered:
- Security-metrics sync — aggregate counts only: active blocks, whitelist size, failed logins, comment spam, reputation blocks, queue size, recent critical events, 2FA-enabled users. Since 2.1.6 the sync also reports the firewall posture (
waf_enabled,waf_report_only,waf_dropin_enabled,waf_dropin_running,waf_serverand a derivedwaf_needs_setupflag), so a dashboard can flag sites whose Extended Protection is enabled but not yet running — typically an nginx host still waiting for its server snippet. - Provisioning (
reportedip_hive_provision) — push an API key to a managed site from the trusted dashboard, and since 2.1.12 optionally switch it into Community Network mode in the same job (communityflag). The sync job reports each child site's currentoperation_mode.
No IPs, usernames, secrets or the API key ever leave the managed site — the sync payload is counts and status flags only.
Multisite Networks
The Full Edition is réservé au réseau (Network: true, since 2.0.0): per-site activation is hidden by WordPress so the security configuration stays uniform across the network. All nine tables live under $wpdb->base_prefix, which makes every threat decision network-wide — cross-site brute-force attempts aggregate into one central counter, and a single block locks the IP out of every sub-site at once.
- Network Admins get the full settings surface and an all-sites Logs view.
- Site Admins on a sub-site get a read-only Status / Logs UI plus exactly two writable per-site overrides: the Frontend-2FA slug and additive 2FA-enforcement roles (a sub-site can enforce 2FA for more roles, never fewer).
- Cron runs only on the main site — no duplicate syncs or cleanup sweeps per sub-site.
- WAF exceptions are network-wide data, managed by the Network Admin.
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_devicessous forme de hachages SHA-256. - Codes de récupération — 10 à usage unique
xxxx-xxxxcodes ; 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 configuration — 2FA → 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éfautreportedip-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(); integrators can swap in their own without touching the rest of the plugin. On Professional and above, transactional mail (2FA codes, security notifications) can instead ride the managed reportedip.de mail relay — SPF-, DKIM- and DMARC-aligned sender infrastructure, so OTP mails do not land in spam the way an unauthenticated wp_mail() from shared hosting often does.
- SMS 2FA is a Professional feature delivered exclusively through the managed reportedip.de relay — no own SMS account, Twilio credentials or carrier contract required. It is configured automatically with a paid plan; enable it under Paramètres → Authentification à deux facteurs → SMS. Per-recipient resend backoff climbs gently (
0 s → 30 s → 1 m → 2 m → 5 m → 15 m), so a slow or missed SMS can be re-requested without punishment while a genuine burst is still throttled. - Monthly allowances and prepaid bundles. PRO includes 25 SMS / 500 mails per month, Business 75 / 2,500 (per licence). Prepaid bundles top that up — see the tier table above for prices and the bundle consumption order paragraph for exactly what happens when a quota runs out (spoiler: mail falls back to local
wp_mail(), no 2FA method ever goes dark). - Custom-branded mail templates (Business and up). Business unlocks white-label transactional mail — your logo, colours and sender identity on 2FA and notification mails instead of the ReportedIP branding, matching the white-labelled setup wizard and 2FA pages.
Aperçu de la configuration
Tous les paramètres se trouvent dans ReportedIP → Paramètres. Voici les valeurs par défaut les plus importantes :
| Contexte | Par défaut | Description |
|---|---|---|
operation_mode | Bouclier local | Réseau local ou réseau communautaire. |
block_threshold | 75 % | Seuil de confiance minimum pour bloquer une adresse IP (mode communautaire). |
login_threshold / _timeframe | 5 / 15 min | Nombre de tentatives de connexion infructueuses par adresse IP avant le blocage automatique. |
comment_spam_threshold / _timeframe | 5 / 60 min | Nombre de commentaires par adresse IP avant le blocage automatique. |
scan_404_threshold / _timeframe | 12 / 2 min | Nombre de codes 404 par adresse IP avant le blocage du scanner. |
xmlrpc_threshold / _timeframe | 10 / 60 min | Nombre de requêtes XMLRPC par adresse IP avant le blocage automatique. |
rest_burst_threshold / _timeframe | 240 / 5 min | Requêtes REST anonymes par adresse IP. Contournement des pages de bannière de consentement. |
block_duration_hours | 24 h | Bloc de longueur fixe (utilisé lorsque l'échelle est désactivée). |
block_escalation_enabled + block_ladder_minutes | Le — 5, 15, 30, 1440, 2880, 10080 | Échelle progressive (minutes par échelon). |
report_mode | Actif | active (bloc) ou report_only (journalisation sans blocage). |
data_retention_days | 30 jours | Combien de temps les journaux de sécurité sont-ils conservés avant leur suppression automatique ? |
auto_anonymize_days | 7 jours | Anonymiser l'adresse IP et l'agent utilisateur pour les lignes de journal datant de plus de N jours. |
cache_duration / negative_cache_duration | 24 h / 2 h | Durée de vie (TTL) du cache ETag pour les requêtes de réputation positive ou négative. |
max_api_calls_per_hour | 100 | Limite 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_days | 7 | Quelques jours avant que la mesure ne prive effectivement d'accès les utilisateurs non inscrits. |
2fa_trusted_device_days | 30 | Expiration du jeton d'un appareil de confiance. |
hide_login_enabled / _slug / _response_mode | Désactivé — — bloquer la page | Slug personnalisé pour wp-login ; l'ancienne URL renvoie une page d'erreur ou un code 404. |
Tables de base de données
Nine tables, created on activation and prefixed wp_reportedip_hive_. Schema version 11, with idempotent step-by-step migration on every plugin update; opt-in delete on uninstall. On Multisite every table lives under $wpdb->base_prefix Les décisions relatives aux menaces s'appliquent donc à l'ensemble du réseau.
logs— security events, JSON details, severity, reported-flag; the source for the dashboard analytics (7- / 30- / 90-day trends, family and severity breakdowns, top attackers).whitelist— adresses IP et plages CIDR approuvées ; date d'expiration facultative.blocked— blocages actifs (manuels / automatiques / basés sur la réputation), avecblocked_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— daily aggregates (failed logins, blocks, spam, XML-RPC, reputation) for trend summaries and reports.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.waf_exceptions— the backend-managed WAF allowlist (rule / group / path scope, optional IP/CIDR); added in schema v10, network-wide.
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.apply_filters('reportedip_hive_decoy_paths', $paths)— extend the decoy-path bait list.apply_filters('reportedip_hive_waf_bypass_routes', $routes)— exclude REST routes from the WAF at code level (anchored prefix match against the resolved route; empty by default). Prefer the backend-managed WAF exceptions for one-off false positives.apply_filters('reportedip_hive_mail_provider', $provider)— swap in your own mail provider (implementinterface-mail-provider.php).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 Hive Light docs 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.
Since 2.1.19 the custom login page is page-cache-safe: it opts out of every known page cache (WP Rocket, W3 Total Cache, WP Super Cache, WP Fastest Cache, Comet Cache, Cache Enabler, Hummingbird, LiteSpeed Cache) and follows the site's trailing-slash permalink convention, so sign-in works reliably behind caches and on nginx sites that enforce trailing slashes.
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 ?
Yes — pick the roles in Settings → 2FA → Enforced roles. Enforced users get a 5-step onboarding wizard at first login, with a configurable grace period (default 7 days). Since 2.1.22 the default after the grace period and skip quota are exhausted is forced enrolment, not a lockout: the user is signed in and sent straight into the setup wizard with no skip option. The previous hard-lockout behaviour is available as the "Block sign-in" policy — but administrators and super admins always take the forced-enrolment path, so a site can never lose its last sign-in-capable admin.
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;
});
The firewall keeps blocking a legitimate request on my site — how do I fix that without disabling the WAF?
Create a WAF exception — Firewall → WAF → WAF Exceptions, or click Autoriser directly on the offending log row. Scope it to a single rule on a path where possible; a whole-engine exception must always carry a path or IP restriction so the firewall can never be disabled globally by accident. Exceptions apply to the pre-WordPress Extended Protection guard too. For REST routes there is also a code-level filter, reportedip_hive_waf_bypass_routes. See WAF Exceptions above.
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 ?
See the Authentication docs for the full table. Short version: free (1,000 checks / 50 reports per day), contributor (5,000 / 200), professional (25,000 / 1,000), business (100,000 / 5,000), enterprise (unlimited), honeypot (unlimited).
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.
The firewall blocks a legitimate request (WAF false positive)
Open Firewall → WAF, find the block in the log (the visitor's X-RIP-Ref reference code from the block page matches a log row) and click Autoriser — it creates a narrow exception for exactly that rule on that path. See WAF Exceptions for scoping guidance. Exceptions apply to the pre-WordPress Extended Protection guard as well.
Extended Protection is enabled but shows "not running"
Typical on nginx hosts where the auto-written .user.ini directive is not picked up (e.g. user_ini.filename disabled, or the document root is not the scan path). The Firewall → Server Setup tab surfaces the manual options: the PHP-FPM-pool / php.ini auto_prepend_file line or the nginx fastcgi_param snippet. The status is verifiable — it reports whether the guard actually executed for the current request. The in-WordPress engine protects the site either way; the drop-in only moves the same checks earlier.
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>.
Since 2.1.22 an enforced user who never set up 2FA is no longer locked out by default: once grace period and skips are exhausted they are signed in and sent straight into forced enrolment (no skip option). Administrators and Multisite super admins can never be hard-locked out, even if you switch the policy back to Block sign-in.
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.
- WordPress privacy tools integration: Hive registers a personal-data exporter and eraser with WordPress core, so Tools → Export / Erase Personal Data requests automatically include Hive's records for the requested subject (log rows, trusted devices, audit-trail entries). It also contributes a suggested paragraph to the WordPress privacy-policy guide (Settings → Privacy → Policy Guide) that you can copy into your own policy.
- 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.25 — The WAF blocks the WordPress-core REST batch route-confusion attack class on every plan (structural rules, not token matching), inspects a decoded copy of the request body (closing an encoded-payload bypass), and Paranoia-Level-2/3 blocks render their specific reference category.
- 2.1.22 – 2.1.24 — Enforced 2FA defaults to forced enrolment instead of a lockout (admins and super admins can never be hard-locked out); a duplicate submit of the 2FA challenge no longer strands users on "session expired"; the PHPUnit
eval-stdin.phpRCE probe (CVE-2017-9841) is blocked on every plan. - 2.1.14 – 2.1.20 — Production-hosting correctness: UTC-consistent datetimes (auto-blocking silently failed on non-UTC database servers), hidden login works behind page caches and on trailing-slash/nginx sites, Extended Protection auto-configures on nginx + PHP-FPM and skips body inspection for signed-in editors, API health uses a rolling window, and hot-path relay-quota polling was eliminated.
- 2.1.9 – 2.1.13 — Backend-managed WAF exceptions with a one-click "Allow" action (schema v10), self-explanatory block logging (matched value, target, method, URI, user-agent), MainWP provisioning can switch sites into Community mode, and the security dashboard became a full analytics view (seven threat families, WAF rule-group chart, top attackers).
- 2.1.0 – 2.1.8 — 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), the Business audit event trail (schema v9), MainWP integration and a Firewall admin area — followed by false-positive fixes for genuine crawlers and the fail-safe drop-in removal. - 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 ;
initpriorité 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 ?
Dernière mise à jour : · Géré par ReportedIP