Aller directement au contenu principalAller directement au pied de page
Guides des plugins

Pistes de leurres « honeypot » : bloquer les scanners dès leur première tentative de sondage

Patrick Schlesinger
Couverture du guide du plugin ReportedIP — Chemins de leurres pour les pièges à miel WordPress

A Piège à pirates WordPress ça marche parce qu'aucun vrai visiteur ne demande jamais /.env.backup ou wp-config.old.php. Le bloc « Decoy Path » ReportedIP considère le premier impact sur l'un des 40 chemins leurres comme un indicateur d'attaque — pas de délai de comptage, pas d'attente.

Ce guide présente la liste des leurres, explique pourquoi le capteur ne bloque pas l'adresse IP au niveau local et indique comment appliquer le blocage au niveau du serveur.

Qu'est-ce que ReportedIP ?

ReportedIP est un plugin de sécurité WordPress complet : 12 capteurs d'attaques, quatre méthodes d'authentification à deux facteurs (2FA), un système de blocage progressif et des informations sur les menaces issues de la communauté (sur inscription), le tout dans un seul plugin gratuit sous licence GPL-2.0. Le « Decoy Path Block » est un capteur disponible dans la version gratuite. Consultez la liste complète des fonctionnalités ReportedIP pour en savoir plus.

40 chemins d'appât, un seul signal

Introduite dans la version 2.0.9 et étendue de 16 à 40 entrées dans la version 2.0.14, la liste des leurres recense les fichiers que les pirates tentent d'exploiter à la suite d'un déploiement mal configuré :

  • L'intégralité wp-config.php.* famille de secours — .bak, .old, .save, .orig, .swp, .txt et un ~.
  • .env sauvegardes — .production.bak, .local.bak, .orig — et Joomla configuration.php.bak.
  • Fichiers SQL dans le répertoire racine du site web — dump.sql, database.sql, backup.sql, db.sql.
  • Apache .htpasswd / .htaccess.bak, identifiants AWS (.aws/credentials, .aws/config), clés SSH (.ssh/id_rsa, .ssh/authorized_keys) et les fichiers de clés privées (id_rsa, private.key, server.key).

Compléter la liste avec le reportedip_hive_decoy_paths filtre. Le module de correspondance reconnaît également un nom de fichier « appât » situé dans un sous-répertoire, donc /site-a/.env.backup Dans le cas d'une installation multisite dans un sous-répertoire, cela se traite de la même manière.

Pourquoi l'adresse IP n'est-elle pas bloquée au niveau local ?

Depuis la version 2.0.11, le capteur leurre est délibérément désactivé pas ajouter l'adresse IP source à la table de blocage locale. Un seul faux positif — un plugin de sauvegarde légitime, un administrateur effectuant des tests sur le site en production, un ancien robot d'indexation explorant une URL obsolète — risquerait sinon de bloquer l'accès du site à son propre trafic pendant des heures. Au lieu de cela, chaque requête est enregistrée avec son niveau de gravité high, transféré vers la file d'attente de la réputation de la communauté (événement decoy_pathblock_hit), et le visiteur reçoit un code 403 pour cette requête. C'est au niveau de la couche communautaire que le coût de réputation se répercute, à l'échelle du réseau.

Déplacez le bloc vers le serveur contenant les fichiers d'appât réels

Si un véritable fichier leurre se trouve sur le disque (un .env.backup (laissé par Composer, par exemple), Apache ou nginx pourraient le servir avant l'exécution de PHP. Hive gère automatiquement un .htaccess bloc de réécriture (entre # BEGIN ReportedIP Hive Decoy / # END (marqueurs) qui achemine ces requêtes via index.php pour la détection plutôt que pour la mise à disposition du fichier. Les utilisateurs d'Nginx disposent d'un extrait de code équivalent dans l'onglet « Paramètres », y compris une variante à correspondance exacte pour ISPConfig et les piles gérées où un modèle location ~ /. { deny all; } sinon, la règle l'emporterait. Le plugin n'écrit jamais directement dans la configuration de votre serveur : il se contente de générer l'extrait de code à coller.

Guides connexes

Vous trouverez les détails concernant le renforcement de la sécurité au niveau du serveur dans la documentation du serveur honeypot. Consultez les guides complets du pluginReportedIP ou découvrez le code du leurre sur GitHub.

Découvrez ReportedIP →

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués d'un *

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