Skip to main contentSkip to footer
Versions

ReportedIP Hive 3.0.5 : des en-têtes de sécurité aussi sur les pages en cache

ReportedIP Hive 3.0.5: security headers that reach cached pages too

ReportedIP Hive 3.0.5 veille à ce que les en-têtes de sécurité arrivent sur chaque page, y compris celles servies par un cache de pages comme WP Rocket. Depuis l’arrivée dans le répertoire des extensions WordPress avec Hive 3.0.0 le 16 octobre, cinq mises à jour sont sorties. Cet article passe en revue ce qui a changé dans l’administration, avec une capture d’écran pour chaque partie, et ce que vous devez faire (dans la plupart des cas, rien).

Toutes les mises à jour passent par l’écran de mise à jour habituel de WordPress. L’extension gratuite vient de wordpress.org, le module Pro de reportedip.com. Les deux sont maintenant en version 3.0.5.

Pourquoi les pages en cache n’avaient-elles pas les en-têtes de sécurité ?

Un client sous nginx avec WP Rocket nous a demandé pourquoi le vérificateur d’en-têtes n’affichait aucun en-tête de sécurité sur la page d’accueil, alors qu’ils étaient activés dans Hive. La réponse : WordPress ajoute les en-têtes pendant qu’il construit une page. Un cache de pages enregistre la page terminée et la renvoie à la visite suivante avant même que WordPress ne démarre, les en-têtes ne sont donc jamais ajoutés. Avec Rocket-Nginx, la page en cache ne passe même pas par PHP.

Un deuxième problème est apparu sur le même site : nginx envoyait déjà lui-même HSTS et une Referrer-Policy, avec d’autres valeurs que Hive. Les pages hors cache recevaient les deux versions. WordPress ne voit pas les en-têtes ajoutés par le serveur web, il ne pouvait donc pas non plus le signaler.

Comment les en-têtes arrivent-ils maintenant aux visiteurs ?

La section En-têtes de sécurité sous Réglages de protection, Pare-feu et bots commence désormais par une courte liste des trois façons dont un en-tête peut arriver au navigateur, chacune avec son état sur votre site :

  • Configuration du serveur web. nginx ou Apache envoient les en-têtes avec chaque réponse, pages en cache, images et pages d’erreur comprises. C’est la méthode la plus compatible.
  • Protection étendue. Le pare-feu qui s’exécute avant WordPress envoie désormais lui aussi les en-têtes. Les pages qu’une extension de cache sert via PHP (WP Rocket, WP Super Cache, W3 Total Cache dans leur configuration par défaut) les portent à partir de la version 3.0.5. La ligne indique si votre serveur permet de l’activer en un clic et mène directement à l’interrupteur.
  • Cache de pages. Indique si Hive en a trouvé un. Si c’est le cas et qu’aucune des deux méthodes ci-dessus n’est active, un avertissement le signale.
Section En-têtes de sécurité avec les trois façons dont les en-têtes arrivent aux visiteurs et un avertissement indiquant que les pages en cache ne les reçoivent pas
La section En-têtes de sécurité sur un site avec un cache de pages et la protection étendue désactivée.

Comment obtenir la configuration nginx ou Apache ?

Sous les réglages, la partie Configuration serveur et vérification des en-têtes se déplie. Hive y écrit la configuration correspondant exactement aux en-têtes que vous avez activés, pour nginx et pour Apache, chacune avec un bouton de copie.

  • Les lignes nginx se terminent par always, pour que les en-têtes partent aussi avec les pages 404 et 500. Le commentaire au-dessus avertit d’un piège dans lequel beaucoup tombent : un bloc location avec son propre add_header n’hérite d’aucune des lignes du bloc server.
  • Les lignes Apache sont placées dans <IfModule mod_headers.c>, ainsi un module absent ne fait pas tomber le site avec une erreur 500. HSTS n’est envoyé qu’en HTTPS.
  • Une fois la configuration en place, désactivez « Envoyer les en-têtes de sécurité » dans Hive. Sinon chaque en-tête arrive deux fois.

Que montre la vérification des en-têtes ?

Le bouton Vérifier les en-têtes de la page d’accueil charge votre page d’accueil comme le ferait un visiteur : deux fois, pour que la deuxième réponse puisse venir du cache de pages, et une fois en contournant le cache. Il compare ensuite ce qui est arrivé avec vos réglages, en-tête par en-tête.

Configuration nginx et Apache générée et résultat de la vérification pour chaque en-tête
Configuration générée et résultat de la vérification des en-têtes. Ici, le cache supprime les trois en-têtes, et une autre extension envoie sa propre Permissions-Policy.

Chaque en-tête obtient l’un de ces résultats : arrive comme défini, absent sur les pages en cache, absent partout, arrive deux fois, arrive avec une autre valeur, ou défini par le serveur web ou une autre extension. Sous le tableau, une phrase indique quoi faire. La vérification n’appelle que votre propre site ; rien n’est envoyé ailleurs.

Que mettre dans le champ Content-Security-Policy ?

C’était la question de départ du client. Chaque champ d’en-tête explique désormais simplement contre quoi l’en-tête protège, quelle valeur nous recommandons et ce qu’il peut casser, avec un exemple. Les champs de texte affichent l’exemple comme texte indicatif. Les en-têtes avancés (HSTS, Content-Security-Policy, Permissions-Policy et les trois en-têtes Cross-Origin) sont fournis par le module Pro à partir de l’offre Professional.

  • Content-Security-Policy : un point de départ qui fonctionne pour la plupart des sites WordPress est default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'. Ajoutez chaque source externe que votre site charge, par exemple les statistiques, les polices, les cartes, les vidéos ou l’outil de consentement. Utilisez d’abord le mode rapport seul et surveillez la console du navigateur.
  • URI de rapport CSP : peut rester vide. Si vous la renseignez, l’adresse reçoit un rapport pour chaque ressource bloquée, y compris l’adresse IP du visiteur. Un service externe pour cela nécessite un accord de traitement des données. À partir de la version 3.0.5, Hive l’envoie aussi sous forme de report-to avec un en-tête Reporting-Endpoints, ce qu’utilisent les navigateurs actuels ; report-uri reste pour les plus anciens.
  • HSTS : testez d’abord avec un max-age court, par exemple 300 secondes, puis passez à un an. N’incluez les sous-domaines que si chacun d’eux a un certificat.

Qu’est-ce qui a changé sur la page Réglages de protection ?

Chaque section d’un onglet se trouve désormais dans son propre bloc encadré, avec un titre et son état, si bien que Pare-feu et bots, Verrouillage des accès et En-têtes de sécurité ne se mélangent plus. Depuis la version 3.0.4, les noms des pages sont aussi plus clairs : Réglages de protection (auparavant Protection), Serveur & maintenance (auparavant Outils, désormais toujours dans le menu) et Community & clé (auparavant Community). Sur les grands écrans, une liste des sections de l’onglet en cours reste affichée à côté des réglages.

Réglages de protection avec les onglets, leur état et la section encadrée Pare-feu et bots
Réglages de protection : les onglets avec leur état, chaque section dans son propre bloc.

Les avis ne découpent plus leur texte en colonnes côte à côte. Certains avis contenant un lien ou une liste ressemblaient à trois colonnes étroites ; c’est corrigé partout dans l’extension.

Que propose maintenant le tableau de bord ?

La carte Prochaines étapes affiche au maximum quatre suggestions, choisies parmi ce qui améliore le plus vos scores et ce qui convient à votre offre et à votre serveur. Une suggestion n’apparaît que là où elle peut être mise en œuvre : la protection étendue uniquement sur les serveurs qui la prennent en charge, les en-têtes de sécurité avancés uniquement si l’offre les inclut. Nouveauté de la version 3.0.5 : la carte « Les pages en cache n’ont pas les en-têtes de sécurité », avec la solution que permet votre serveur. Une carte disparaît dès que le réglage correspondant est activé.

Prochaines étapes du tableau de bord avec la carte pour les pages en cache sans en-têtes de sécurité
Prochaines étapes sur un site avec un cache de pages et la protection étendue désactivée.

Chaque score liste ses capteurs ou fonctions juste en dessous. Les scores ne comptent plus un pare-feu en mode test, une vérification des bots dont le capteur est désactivé, ni les rôles soumis à la double authentification tant que celle-ci est désactivée.

Tableau de bord de Hive avec le score de détection et le score de renforcement
Le tableau de bord avec les deux scores et les pages renommées dans le menu.

Où se trouve la Community Access Key ?

Plusieurs utilisateurs ne la trouvaient pas. Community & clé s’ouvre désormais sur l’onglet Clé d’accès, avec le champ de la clé en premier, y compris en mode Local Shield. La carte « Rejoindre le réseau communautaire » du tableau de bord y mène directement.

Page Community et clé ouverte sur l’onglet Clé d’accès
Community & clé s’ouvre sur la clé.

Pourquoi moins d’e-mails, et lesquels arrivent encore immédiatement ?

Depuis la version 3.0.3, les attaques bloquées arrivent dans un seul résumé quotidien au lieu d’un e-mail par seuil atteint : le nombre par type d’attaque, les nouveaux blocages et les adresses les plus actives. Une attaque bloquée est une bonne nouvelle ; elle ne mérite pas un e-mail à trois heures du matin.

Les alertes immédiates, avec « Alerte » dans l’objet, sont réservées à ce qui est passé : un nouvel administrateur, un administrateur qui se connecte depuis un nouveau pays ou un nouveau réseau, ou un blocage qui n’a pas pu être enregistré. Avec le module Pro et l’offre Business, le journal d’audit ajoute l’installation d’une extension ou d’un thème, l’activation d’une extension, un fichier modifié dans l’éditeur et les capacités de rôle modifiées. Les deux réglages se trouvent sous Réglages de protection, Exploitation, Notifications.

Réglages des notifications avec le résumé quotidien des attaques bloquées et les alertes immédiates
Les attaques bloquées dans un résumé quotidien, des alertes immédiates pour ce qui est passé.

Les règles de mot de passe s’appliquent-elles aux clients de la boutique ?

Depuis la version 3.0.1, les règles de longueur, de caractères et de fuite de données s’appliquent aussi sous Mon compte dans WooCommerce et sur les formulaires de compte et d’inscription d’Ultimate Member. « Appliquer les règles de mot de passe à tous les rôles » couvre maintenant vraiment tous les utilisateurs ; auparavant, le réglage n’avait d’effet que tant qu’aucun rôle n’était soumis à la double authentification. La vérification des fuites ne refuse plus un mot de passe à cause des entrées de remplissage que le service ajoute à chaque réponse.

Réglages des règles de mot de passe avec la longueur, les classes de caractères, le périmètre et la vérification des fuites
Les règles de mot de passe avec leur interrupteur de périmètre et la vérification des fuites.

Quoi de neuf dans le module Pro ?

  • Protection du formulaire de rétractation (Business). Le bouton de rétractation européen pour les boutiques WooCommerce, seul ou intégré à Germanized, bénéficie du même contrôle anti-spam que les autres formulaires. Une demande refusée est signalée au-dessus du formulaire ; rien n’est enregistré et aucun e-mail n’est envoyé.
  • Le mode renforcement pendant les vagues d’attaques s’arme de nouveau lorsque l’analyse horaire trouve exactement une attaque coordonnée. Un résultat unique arrivait au module sous une mauvaise forme et l’analyse s’arrêtait sur une erreur de type.
  • Gravity Forms antérieur à 2.5 ne provoque plus d’erreur fatale à l’envoi.
  • Les changements d’offre ne réactivent plus les réglages que vous aviez désactivés, et retirer puis saisir de nouveau la clé ne compte plus comme une montée en gamme.
  • La gestion de flotte vérifie de nouveau l’autorisation de chaque requête séparément (3.0.1).

Dans quelles langues Hive est-il disponible ?

Les deux extensions apportent leurs propres traductions : allemand (tutoiement et vouvoiement, aussi pour l’Autriche et la Suisse), français et espagnol. Elles sont chargées avant tout paquet de langue de translate.wordpress.org, ainsi un paquet à moitié terminé ne laisse plus l’administration en grande partie en anglais.

Questions sur Hive 3.0.5

Dois-je faire quelque chose après la mise à jour ?

Seulement si vous utilisez un cache de pages. Ouvrez Réglages de protection, Pare-feu et bots, En-têtes de sécurité et lancez la vérification des en-têtes. Si elle signale des en-têtes absents sur les pages en cache, activez la protection étendue ou copiez la configuration générée dans votre serveur web.

Protection étendue ou configuration du serveur web ?

Si vous pouvez modifier la configuration nginx ou Apache, choisissez-la : elle couvre chaque réponse, y compris les images et les pages qui n’atteignent jamais PHP. Sinon, la protection étendue couvre tout ce qu’une extension de cache sert via PHP. Sous nginx avec un cache qui contourne entièrement PHP, comme Rocket-Nginx, seule la configuration du serveur web aide.

Mon hébergeur envoie déjà des en-têtes de sécurité. Est-ce un problème ?

Seulement si Hive envoie aussi le même en-tête. La vérification des en-têtes marque un tel en-tête comme « arrive deux fois » ou « défini par le serveur web ». Gardez chaque en-tête à un seul endroit : supprimez-le du serveur ou désactivez-le dans Hive.

Pour aller plus loin

Journal des modifications

3.0.5 (29 octobre 2026)

  • Vérification des en-têtes sur la page Réglages de protection : pour chaque en-tête, s’il arrive, s’il est absent sur les pages en cache, s’il arrive deux fois ou avec une autre valeur.
  • Configuration nginx et Apache pour les en-têtes configurés, à côté des réglages, avec boutons de copie.
  • Avec la protection étendue activée, le pare-feu exécuté avant WordPress envoie lui-même les en-têtes de sécurité, si bien que les pages servies via PHP par une extension de cache les portent aussi.
  • Chaque en-tête de sécurité explique contre quoi il protège, la valeur recommandée et ce qu’il peut casser, avec un exemple.
  • Les sections des Réglages de protection sont placées dans des blocs encadrés ; les avis gardent leur texte sur une seule colonne.
  • Les prochaines étapes suggèrent les en-têtes de sécurité avancés si l’offre les inclut et signalent les pages en cache sans en-têtes.
  • Pro : rapports CSP aussi via report-to et Reporting-Endpoints ; protection anti-spam pour le formulaire de rétractation européen (Business) ; mode renforcement de nouveau armé après une analyse avec exactement une attaque coordonnée.

3.0.4 (22 octobre 2026)

  • Noms de pages plus clairs : Réglages de protection, Serveur & maintenance (toujours dans le menu) et Community & clé, avec la clé sur le premier onglet.
  • Chaque score affiche ses éléments en dessous ; les prochaines étapes affichent au maximum quatre suggestions, désormais aussi pour la double authentification, le pare-feu, les en-têtes de sécurité et les règles de mot de passe.
  • Une carte des prochaines étapes disparaît dès que le réglage correspondant est activé ; les scores ne comptent plus un pare-feu en mode test.

3.0.3 (17 octobre 2026)

  • Les attaques bloquées dans un seul résumé quotidien au lieu d’un e-mail par seuil atteint.
  • Alertes immédiates pour un nouvel administrateur, une connexion depuis un nouvel endroit et une protection en échec.
  • Une nouvelle offre est prise en compte dans la même requête ; une vérification de clé sans offre ne compte plus comme une rétrogradation.
  • Pro : plus d’erreur fatale avec Gravity Forms antérieur à 2.5.

3.0.2 (17 octobre 2026)

  • Plus d’erreur 500 en combinaison avec Loco Translate.

3.0.1 (16 octobre 2026)

  • Règles de mot de passe et vérification des fuites sur les formulaires WooCommerce et Ultimate Member.
  • Les montées en gamme appliquent les réglages recommandés, même sans le module.
  • Traductions intégrées en sept langues.
  • Pro : la gestion de flotte vérifie de nouveau chaque requête séparément.

Protégez votre site WordPress avec un pare-feu, la sécurisation de la connexion, la 2FA et le contrôle des formulaires. Gratuit dans le répertoire des extensions WordPress.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous devez remplir ce champ
Vous devez remplir ce champ
Veuillez saisir une adresse e-mail valide.
Vous devez accepter les conditions pour continuer