Ir al contenido principalIr al pie de página
Guías de plugins

Rutas de señuelo «honeypot»: bloqueo de los escáneres en su primera exploración

Patrick Schlesinger
Portada de la guía del plugin ReportedIP — Rutas de señuelo del honeypot de WordPress

A Trampa para WordPress funciona porque ningún visitante real solicita nunca /.env.backup o wp-config.old.php. El bloque «Decoy Path» ReportedIP considera el primer impacto en cualquiera de las 40 rutas de señuelo como indicador de ataque: sin ventana de recuento, sin esperas.

Esta guía incluye la lista de señuelos, explica por qué el sensor no bloquea la IP a nivel local y describe cómo aplicar el bloqueo a nivel del servidor.

¿Qué es ReportedIP ?

ReportedIP es un completo plugin de seguridad para WordPress: 12 sensores de ataque, cuatro métodos de autenticación de dos factores (2FA), bloqueo progresivo e inteligencia de amenazas de la comunidad (opcional) en un único plugin gratuito bajo licencia GPL 2.0. El «Decoy Path Block» es un sensor incluido en la versión gratuita. Consulta el conjunto completo de funciones ReportedIP para conocer el resto de características.

40 rutas de cebo, una señal

Introducida en la versión 2.0.9 y ampliada de 16 a 40 entradas en la versión 2.0.14, la lista de señuelos incluye los archivos que los atacantes buscan tras una implementación mal configurada:

  • El texto completo wp-config.php.* familia de apoyo — .bak, .old, .save, .orig, .swp, .txt y un ~.
  • .env copias de seguridad — .production.bak, .local.bak, .orig — y de Joomla configuration.php.bak.
  • Archivos SQL en el directorio raíz web — dump.sql, database.sql, backup.sql, db.sql.
  • Apache .htpasswd / .htaccess.bak, credenciales de AWS (.aws/credentials, .aws/config), claves SSH (.ssh/id_rsa, .ssh/authorized_keys) y archivos de clave privada (id_rsa, private.key, server.key).

Amplía la lista con el reportedip_hive_decoy_paths filtro. El comparador también reconoce un nombre de archivo de cebo tras un prefijo de subdirectorio, por lo que /site-a/.env.backup En una instalación Multisite en un subdirectorio, se detecta de la misma manera.

¿Por qué no bloquea la IP a nivel local?

Desde la versión 2.0.11, el sensor señuelo deja de funcionar deliberadamente no añadir la IP de origen a la tabla de bloqueos local. De lo contrario, un solo falso positivo —un plugin de copias de seguridad legítimo, un administrador realizando pruebas en el sitio en producción, un rastreador antiguo que comprueba una URL obsoleta— bloquearía el sitio impidiéndole el acceso a su propio tráfico durante horas. En cambio, cada visita se registra según su nivel de gravedad high, enviado a la cola de reputación de la comunidad (evento decoy_pathblock_hit), y el visitante recibe un error 403 para esa solicitud concreta. La capa comunitaria es donde recae el coste de reputación en toda la red.

Traslada el bloque al servidor para los archivos de cebo reales

Si hay un archivo señuelo real en el disco (un .env.backup (por ejemplo, los archivos que deja el compositor), Apache o nginx podrían servirlo antes de que se ejecute PHP. Hive gestiona automáticamente un .htaccess bloque de reescritura (entre # BEGIN ReportedIP Hive Decoy / # END (marcadores) que redirige esas solicitudes a través de index.php para la detección en lugar de servir el archivo. Los usuarios de nginx disponen de un fragmento de código equivalente en la pestaña «Configuración», que incluye una variante de coincidencia exacta para ISPConfig y las pilas gestionadas en las que una plantilla location ~ /. { deny all; } De lo contrario, se aplicaría esa regla. El complemento nunca escribe directamente en la configuración de tu servidor, sino que solo genera el fragmento de código para pegar.

Guías relacionadas

Los detalles sobre el refuerzo de la seguridad a nivel de servidor se encuentran en la documentación del servidor honeypot. Consulta las guías completas del complementoReportedIP o lee el código del señuelo en GitHub.

Explora ReportedIP →

Deja un comentario

Tu dirección de correo electrónico no se publicará. Los campos obligatorios están marcados con *

Rellena este campo
Rellena este campo
Introduce una dirección de correo electrónico válida.
Debes aceptar los términos para continuar