Skip to content
fabiombPublic

About

Plugin de seguridad para WordPress con firewall de tres capas: bloquea bots, fuerza bruta, SQLi y XSS antes de que WordPress cargue. Libre, rápido y sin servicios externos.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Latest commit

 

History

89 Commits

Folders and files

Repository files navigation

WP Seguro
Firewall de tres capas para WordPress

Última versión Licencia GPL-2.0 WordPress 6.0+ PHP 7.4+

Sitio oficial · Descargar · Documentación · Cambios


WP Seguro es un plugin de seguridad para WordPress, libre y de código abierto. Detecta y bloquea bots, fuerza bruta, inyección SQL, XSS, path traversal y escáneres de vulnerabilidades. Intercepta cada petición lo más temprano posible, en muchos casos antes de que WordPress llegue a cargar, para que la protección no se pague en rendimiento.

Funciones

  • Firewall de tres capas: bloqueo previo a PHP, análisis en un MU-plugin y panel de administración.
  • Detectores de ataques: SQLi, XSS, path traversal, escáneres, abuso de XML-RPC y de la REST API, con patrones afinados para no bloquear texto legítimo.
  • Login blindado: freno a la fuerza bruta y sin enumeración de usuarios.
  • Puntuación de riesgo: cada petición suma puntos y la acción depende del umbral alcanzado, con un modo sombra que sugiere el umbral para tu tráfico.
  • Monitor de integridad: detecta archivos de código modificados, nuevos o eliminados en el núcleo, plugins y temas, y PHP en la carpeta de subidas.
  • Chequeo de endurecimiento: wp-config.php, errores visibles, listado de directorios, versión de PHP y más, con cómo corregirlo; HSTS y Content-Security-Policy en modo reporte.
  • Registro de actividad: quién hizo qué y cuándo en usuarios, contenido, plugins y ajustes.
  • Rate limiting por IP, con escalada del bloqueo al rango cuando varias IPs del mismo /24 atacan.
  • IP real detrás de CDN: Cloudflare (IPv4 e IPv6), Sucuri y proxies propios, sin que la IP pueda falsificarse con un header.
  • Crawlers verificados por rDNS: Googlebot pasa, quien se hace pasar por Googlebot no.
  • Tráfico en vivo y geolocalización opcional (ipinfo.io o MaxMind GeoLite2, por API o base MMDB local). Sin geolocalización el plugin funciona completo; sólo se pierden los datos de país/ASN.
  • Reglas personalizadas, whitelist, exportación y notificaciones.

Cómo funciona

Capa Mecanismo Momento Qué hace
0 auto_prepend_file Antes de cualquier PHP del sitio Descarta IPs y rangos bloqueados leyendo un archivo plano. Sin base de datos, sin WordPress.
1 MU-plugin Después del núcleo, antes de plugins y temas Corta las IPs bloqueadas, las rutas trampa y el exceso de peticiones antes de que carguen los plugins.
2 Plugin Carga normal (init) Detectores de ataques, motor de riesgo y registro de tráfico y eventos; además el panel: dashboard, reglas, whitelist y configuración.

Además de los detectores, que bloquean por sí solos ante un patrón claro, el motor de riesgo suma puntos por señales débiles de la petición y del comportamiento reciente del cliente (404 seguidos, logins fallidos, usuarios inexistentes, ritmo alto) y actúa según el total:

Puntaje Acción
0–30 Permitir
31–50 Registrar como riesgo bajo
51 hasta el umbral de bloqueo Registrar como riesgo medio
Desde el umbral de bloqueo (81 por defecto) Bloqueo temporal
Desde el umbral permanente (101 por defecto) Bloqueo permanente (0 = nunca)

Los dos umbrales se configuran. El motor viene desactivado: el modo sombra puntúa sin bloquear y, en WP Seguro → Motor de riesgo, sugiere el umbral adecuado para el tráfico de tu sitio.

El detalle está en Capas del firewall y en la Referencia de reglas.

Instalación

  1. Descargá el .zip de la última release.
  2. En WordPress, andá a Plugins → Añadir nuevo → Subir plugin.
  3. Subí el archivo, instalalo y activá WP Seguro.
  4. Completá el asistente de configuración inicial y revisá WP Seguro → Dashboard.

Desde la 0.7.0, las versiones nuevas llegan como cualquier actualización de WordPress, desde los releases de GitHub (detalles).

Important

Si el sitio está detrás de Cloudflare u otro proxy, revisá la configuración de CDN/Proxy antes de activar el bloqueo en producción. Con el proxy mal configurado, todo el tráfico parece venir de pocas IPs y el rate limiter puede bloquearlas.

Requisitos

Mínimo Recomendado
WordPress 6.0 Última
PHP 7.4 8.0+
MySQL 5.7 8.0
MariaDB 10.3 10.6+

Extensiones PHP: mbstring, json, mysqli.

Documentación

Contribuir

Toda ayuda suma, y probar el plugin en tu sitio ya cuenta.

  • ¿Encontraste un falso positivo o un error? Abrí un issue con los pasos para reproducirlo. Si es un bloqueo, incluí la URL y los parámetros que lo dispararon.
  • ¿Querés aportar código? Nuevos detectores, mejoras de rendimiento, traducciones o documentación son bienvenidos por pull request.
  • ¿Una vulnerabilidad de seguridad? No la publiques en un issue. Escribí directamente al autor a través de su perfil de GitHub.

Desarrollo local

git clone https://github.com/fabiomb/wp-secure.git
cd wp-secure
composer install
vendor/bin/phpunit --testsuite unit

Los tests unitarios no necesitan una instalación de WordPress. Los de integración requieren el framework de tests de WordPress:

WP_TESTS_DIR=/ruta/a/wordpress-tests-lib vendor/bin/phpunit --testsuite integration

Las clases WPS_Foo_Bar viven en class-wps-foo-bar.php, dentro de includes/ y sus subcarpetas.

Licencia

GPL-2.0-or-later. Creado por Fabio Baccaglioni.

About

Plugin de seguridad para WordPress con firewall de tres capas: bloquea bots, fuerza bruta, SQLi y XSS antes de que WordPress cargue. Libre, rápido y sin servicios externos.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages