Title: WordSec – Malware Scanner &amp; Removal, Web Application Firewall (WAF), and 2FA
Author: WordSec
Published: <strong>16 de julio de 2026</strong>
Last modified: 1 de agosto de 2026

---

Buscar plugins

![](https://ps.w.org/wordsec/assets/banner-772x250.png?rev=3610464)

![](https://ps.w.org/wordsec/assets/icon-256x256.png?rev=3610464)

# WordSec – Malware Scanner & Removal, Web Application Firewall (WAF), and 2FA

 Por [WordSec](https://profiles.wordpress.org/wordsec/)

[Descargar](https://downloads.wordpress.org/plugin/wordsec.1.1.0.zip)

 * [Detalles](https://es.wordpress.org/plugins/wordsec/#description)
 * [Valoraciones](https://es.wordpress.org/plugins/wordsec/#reviews)
 *  [Instalación](https://es.wordpress.org/plugins/wordsec/#installation)
 * [Desarrollo](https://es.wordpress.org/plugins/wordsec/#developers)

 [Soporte](https://wordpress.org/support/plugin/wordsec/)

## Descripción

WordSec es un plugin de seguridad completo para WordPress. Ocho módulos cubren el
cortafuegos, el escáner de malware, la seguridad de acceso, el tráfico en vivo, 
el bloqueo por IP y país, la inteligencia de cadena de suministro, el registro de
auditoría y las alertas, para que puedas bloquear ataques y endurecer tu sitio desde
un único escritorio en lugar de instalar ocho plugins.

Si tu sitio es hackeado, no solo pierdes el sitio. Pierdes la confianza de los clientes,
tu posicionamiento en los buscadores y días de trabajo restaurando copias de seguridad.
WordSec está diseñado para evitarlo antes de que ocurra y para ayudarte a recuperarte
si ya ha ocurrido: el escáner encuentra el malware, la cuarentena lo aparta, y los
archivos modificados del núcleo, los plugins y los temas se reparan a partir de 
sus copias originales.

**Gratuito y sin necesidad de introducir clave de licencia.** Las reglas del cortafuegos
WAF, el escaneo de malware e integridad de archivos, la protección contra fuerza
bruta, la autenticación de dos factores, el bloqueo por IP y país, el registro de
auditoría y el endurecimiento con un clic se ejecutan localmente en tu propio servidor.

#### Cortafuegos de aplicaciones web (WAF)

 * Constructor de reglas personalizadas con coincidencias regex y comodines
 * Reglas integradas para inyección SQL, XSS, path traversal, inyección de PHP y
   comandos
 * Modos de aprendizaje y activo, bloqueo de bots, cabeceras de seguridad, limitación
   de velocidad
 * Más de 25 conmutadores de endurecimiento para el acceso a wp-config, enumeración
   de autores y API REST
 * Protección extendida opcional: inspección de solicitudes antes de WordPress (
   opcional, totalmente reversible)

#### Escáner de malware y eliminación

 * Reglas de detección de malware en archivos, la base de datos y tareas programadas
 * Verificación de integridad de archivos del núcleo, plugins y temas a través de
   la API de WordPress.org
 * Escaneos programados, cuarentena y restauración con un clic
 * Eliminación de malware en un sitio hackeado: poner en cuarentena un hallazgo 
   o reparar un archivo modificado del núcleo, plugin o tema a partir de su copia
   original

#### Seguridad de acceso, autenticación de dos factores (2FA) y protección contra fuerza bruta

 * Autenticación de dos factores basada en perfiles (RFC 6238 TOTP)
 * reCAPTCHA, hCaptcha y Cloudflare Turnstile, además de un CAPTCHA matemático integrado
 * Protección contra fuerza bruta con bloqueo progresivo, honeypot y cambio de nombre
   de la URL de acceso
 * Comprobación de contraseñas filtradas, gestión de sesiones, página de acceso 
   personalizada

#### Tráfico en vivo

 * Registro de solicitudes en tiempo real con detección de bots y exportación a 
   CSV
 * Filtrado de exclusión por perfil, IP, país o URI

#### Bloqueo por IP y país

 * Listas de permitidos o de bloqueo de países y continentes
 * Bloqueo de IP individuales y rangos CIDR, temporal o permanente, con soporte 
   de lista de permitidos

#### Inteligencia de amenazas y cadena de suministro

 * Puntuación de reputación y detección de plugins abandonados
 * Alertas de vulnerabilidades conocidas para el núcleo, plugins, temas y PHP
 * Verificación de integridad de actualizaciones con copias de seguridad y un inventario
   SBOM

#### Registro de auditoría

 * Seguimiento completo de la actividad en 11 tipos de objetos y 14 acciones

#### Alarmas

 * 36 tipos de eventos de alerta enviados por correo electrónico, Telegram o Slack

Todas las funciones se ejecutan localmente sin necesidad de clave de licencia. Opcionalmente,
el servicio de WordSec en wordsec.net proporciona datos de inteligencia de amenazas
que no se pueden generar localmente: conjuntos de reglas WAF gestionados, el feed
de firmas de malware, listas de reputación de IP, la base de datos GeoIP y registros
de vulnerabilidades. La conexión es opcional y cada servicio externo está documentado
en «Servicios externos» más abajo.

### Servicios externos

WordSec está diseñado para ejecutarse localmente y, sin clave de licencia, no realiza
ninguna petición saliente al servicio de WordSec. El filtrado principal de peticiones
y el análisis de archivos se ejecutan en tu servidor. Los servicios enumerados a
continuación se contactan únicamente para las funciones específicas descritas, y
la mayoría de ellos solo cuando activas explícitamente esa función (o, en el caso
de la API de WordSec, solo después de que actives una clave de licencia). Esta sección
documenta todos los servicios de terceros a los que el plugin puede conectarse y
los datos que recibe cada uno.

#### API de WordSec (api.wordsec.net)

WordSec funciona de forma gratuita sin licencia, en cuyo caso no contacta en absoluto
con este servicio. Hay una licencia gratuita disponible para todo el mundo; una 
vez que activas una clave, el plugin se comunica con el servicio de WordSec con 
dos propósitos distintos:

 1. Llamadas de servicio requeridas (solo mientras haya una clave de licencia activa):
    activación y validación de la licencia, y actualizaciones de datos de amenazas (
    reglas del firewall, firmas de malware, listas de reputación de IP, datos GeoIP,
    la lista de dominios de correo desechable y datos de vulnerabilidades conocidas).
    Estas habilitan las funciones respaldadas en la nube y no pueden realizarse localmente;
    sin clave, no se realiza ninguna de estas llamadas. El código local de aplicación
    de estas funciones (el motor del WAF, el escáner de malware, los filtros de bloqueo
    de IP y el filtro de restricción de registro) está siempre presente y activo; sin
    un feed actualizado, simplemente no tiene datos de inteligencia de amenazas con
    los que contrastar las peticiones.

* Cuándo: en la activación/validación y en las comprobaciones programadas de actualización
de datos de amenazas.
 * Datos enviados: la URL de tu sitio y la clave de licencia(
utilizadas para autenticarte y vincular la licencia a este sitio) y, para las comprobaciones
de actualización, las versiones actuales de los feeds de datos de amenazas que tengas
instalados.

 1. Telemetría opcional de uso/entorno (OPT-IN, DESACTIVADA de forma predeterminada):
    una instantánea anónima una vez al día utilizada para mejorar WordSec. Solo se 
    envía después de que actives explícitamente «Compartir datos de uso y del entorno»(
    al activar la licencia o en Ajustes  Avanzado  Datos de uso) y se puede volver 
    a desactivar en cualquier momento.

* Cuándo: una vez al día, solo mientras la opción esté activada.
 * Datos enviados:
una instantánea no personal del entorno del sitio (versiones del servidor, WordPress,
PHP y base de datos, la lista de plugins y temas activos) y estadísticas agregadas
de uso de funciones y de seguridad de WordSec. Nunca se envían contraseñas, credenciales
de la base de datos, claves secretas ni direcciones de correo electrónico.

 * Términos del servicio: https://wordsec.net/terms
 * Política de privacidad: https://wordsec.net/privacy

#### Have I Been Pwned (api.pwnedpasswords.com)

Utilizado por la comprobación opcional de contraseñas filtradas para detectar si
una contraseña aparece en filtraciones de datos conocidas, mediante k-anonymity.
*
Cuándo: cuando un usuario establece o envía una contraseña y la comprobación de 
contraseñas filtradas está activada. * Datos enviados: solo los primeros 5 caracteres
del hash SHA-1 de la contraseña. La contraseña en sí y su hash completo nunca salen
de tu sitio. * Términos & privacidad: https://haveibeenpwned.com/Privacy

#### API de WordPress.org (api.wordpress.org, downloads.wordpress.org, wordpress.org, core.svn.wordpress.org, plugins.svn.wordpress.org, themes.svn.wordpress.org)

Se utiliza para verificar la integridad de los archivos del núcleo, plugins y temas
de WordPress, para consultar información pública de plugins/temas (plugins_api/themes_api)
para las puntuaciones de reputación de la cadena de suministro y las comprobaciones
de integridad de actualizaciones, para descargar el paquete de idioma de la propia
traducción de WordSec desde translate.wordpress.org cuando eliges un idioma de la
interfaz que aún no está instalado (el mismo mecanismo que usa el propio WordPress
cuando cambia el idioma del sitio) y, solo cuando haces clic en «Reparar» en un 
hallazgo del escáner, para descargar la copia original de un archivo modificado 
del núcleo/plugin/tema y poder restaurarlo. Las descargas de reparación obtienen
archivos originales individuales de plugins.svn.wordpress.org / themes.svn.wordpress.
org / core.svn.wordpress.org, recurriendo como alternativa a los paquetes completos
de downloads.wordpress.org (zips de plugins/temas) y wordpress.org (zips de versiones
del núcleo).
 * Cuándo: durante los análisis de malware/integridad y las comprobaciones
de reputación de la cadena de suministro, en una acción de reparación explícita 
y cuando guardas un idioma de la interfaz cuya traducción aún no está instalada.*
Datos enviados: la versión del núcleo de WordPress, el idioma del sitio y los slugs/
versiones de los plugins/temas comprobados; para una descarga de idioma, el slug/
versión del plugin y el idioma elegido. * Términos y privacidad: https://wordpress.
org/about/privacy/

#### RDAP (rdap.org)

Utilizado por la herramienta de búsqueda WHOIS/RDAP de la página Herramientas para
mostrar información de titularidad de una dirección IP o dominio que inspecciones.
*
Cuándo: solo cuando ejecutas la herramienta de búsqueda WHOIS/RDAP. * Datos enviados:
la dirección IP o el dominio que hayas elegido consultar. * Términos & privacidad:
https://about.rdap.org/

#### ipify (api.ipify.org)

Utilizado por el comprobador de listas negras y la herramienta de información del
servidor de la página Herramientas para determinar la dirección IP pública propia
de tu servidor.
 * Cuándo: solo cuando ejecutas la herramienta «Comprobación de 
listas negras» o «IP del servidor». * Datos enviados: una solicitud simple desde
tu servidor; no se incluye ningún dato del sitio (el servicio simplemente devuelve
la IP que hace la solicitud). * Términos y privacidad: https://www.ipify.org/

#### Proveedores de listas de bloqueo DNS (herramienta Comprobación de listas negras)

La «Comprobación de listas negras» de la página Herramientas consulta listas de 
bloqueo basadas en DNS (DNSBL) para indicarte si la dirección IPv4 pública de tu
servidor está incluida. Cada proveedor recibe una consulta DNS estándar que contiene
la dirección IP de tu servidor en forma invertida. Se consultan cinco proveedores:
*
Spamhaus ZEN (zen.spamhaus.org): https://www.spamhaus.org/privacy-notice/ * SpamCop(
bl.spamcop.net), operado por Cisco: https://www.cisco.com/c/en/us/about/legal/privacy-
full.html * Barracuda Reputation Block List (b.barracudacentral.org): https://www.
barracuda.com/company/legal/privacy-policy * UCEPROTECT Level 1 (dnsbl-1.uceprotect.
net): https://www.uceprotect.net/en/index.php * PSBL (psbl.surriel.com): https://
psbl.org/ Detalles: * Cuándo: solo cuando haces clic en «Comprobación de listas 
negras» en la página Herramientas. * Datos enviados: la dirección IPv4 pública de
tu servidor, incrustada en cada consulta a las listas de bloqueo DNS.

#### Telegram Bot API (api.telegram.org)

Canal opcional de envío de alarmas. Activo solo cuando configuras tu propio token
de bot e ID de chat de Telegram.
 * Cuándo: cuando se dispara una alarma de seguridad
que has activado y el envío por Telegram está configurado. * Datos enviados: el 
texto del mensaje de la alarma (tipo de evento, nombre del sitio, contexto relevante
de IP/usuario) al bot/chat que hayas configurado. * Términos del servicio: https://
telegram.org/tos * Política de privacidad: https://telegram.org/privacy

#### Webhooks entrantes de Slack (hooks.slack.com)

Canal opcional de envío de alarmas. Activo solo cuando configuras tu propia URL 
de webhook entrante de Slack.
 * Cuándo: cuando se dispara una alarma de seguridad
que has activado y el envío por Slack está configurado. * Datos enviados: el texto
del mensaje de la alarma (tipo de evento, nombre del sitio, contexto relevante de
IP/usuario) al webhook que hayas configurado. * Términos del servicio: https://slack.
com/terms-of-service * Política de privacidad: https://slack.com/privacy-policy

#### Google reCAPTCHA (www.google.com, www.gstatic.com)

CAPTCHA opcional de inicio de sesión/registro. Activo solo cuando seleccionas reCAPTCHA
y proporcionas tus propias claves.
 * Cuándo: en los formularios de inicio de sesión
y registro mientras esté activado. * Cargado de forma remota: reCAPTCHA requiere
que su script de widget (www.google.com/recaptcha/api.js, servido con recursos desde
www.gstatic.com) se cargue desde Google en el navegador del visitante; se encola
únicamente en esos formularios y solo mientras reCAPTCHA sea el proveedor seleccionado.
La verificación del token es una llamada del lado del servidor desde tu sitio a 
www.google.com. * Datos enviados: el token de respuesta del CAPTCHA, tu clave pública
del sitio y la dirección IP del visitante. * Términos del servicio: https://policies.
google.com/terms * Política de privacidad: https://policies.google.com/privacy

#### hCaptcha (hcaptcha.com, js.hcaptcha.com)

CAPTCHA opcional de inicio de sesión/registro. Activo solo cuando seleccionas hCaptcha
y proporcionas tus propias claves.
 * Cuándo: en los formularios de inicio de sesión
y registro mientras esté activado. * Cargado de forma remota: hCaptcha requiere 
que su script de widget (js.hcaptcha.com/1/api.js) se cargue desde hCaptcha en el
navegador del visitante; se encola únicamente en esos formularios y solo mientras
hCaptcha sea el proveedor seleccionado. La verificación del token es una llamada
del lado del servidor desde tu sitio a hcaptcha.com. * Datos enviados: el token 
de respuesta del CAPTCHA, tu clave pública del sitio y la dirección IP del visitante.*
Términos del servicio: https://www.hcaptcha.com/terms * Política de privacidad: 
https://www.hcaptcha.com/privacy

#### Cloudflare Turnstile (challenges.cloudflare.com)

CAPTCHA opcional de inicio de sesión/registro. Activo solo cuando seleccionas Turnstile
y proporcionas tus propias claves.
 * Cuándo: en los formularios de inicio de sesión
y registro mientras esté activado. * Cargado de forma remota: Turnstile requiere
que su script de widget (challenges.cloudflare.com/turnstile/v0/api.js) se cargue
desde Cloudflare en el navegador del visitante; se encola únicamente en esos formularios
y solo mientras Turnstile sea el proveedor seleccionado. La verificación del token
es una llamada del lado del servidor desde tu sitio a challenges.cloudflare.com.*
Datos enviados: el token de respuesta del CAPTCHA, tu clave pública del sitio y 
la dirección IP del visitante. * Términos del servicio: https://www.cloudflare.com/
website-terms/ * Política de privacidad: https://www.cloudflare.com/privacypolicy/

#### ipwhois.io (ipwho.is)

Servicio opcional de detalles de IP, desactivado por defecto. Todas las solicitudes
se realizan a través de HTTPS con verificación de certificado, y no se realiza ninguna
hasta que actives el «Servicio de búsqueda externa de IP» en los ajustes de WordSec(
sección de gestión de IP del visitante). Se utiliza para una única cosa: la búsqueda
de «detalles de IP» en el tráfico en vivo (país, región, ciudad, ISP, organización,
ASN). El registro de tráfico nunca contacta con este servicio; la resolución de 
país durante el registro utiliza solo la base de datos GeoIP local.
 * Cuándo: solo
mientras la opción de servicio de búsqueda externa de IP está activada, y solo al
hacer clic en la búsqueda de detalles de IP. * Datos enviados: la dirección IP que
has elegido inspeccionar. * Términos de servicio: https://ipwhois.io/terms * Política
de privacidad: https://ipwhois.io/privacy

#### VirusTotal (virustotal.com)

No se contacta automáticamente. El escáner muestra un enlace «Comprobar en VirusTotal»
en el que puedes hacer clic para abrir VirusTotal en tu navegador para un archivo
determinado.
 * Cuándo: solo cuando haces clic en el enlace. * Datos enviados: el
hash del archivo contenido en la URL del enlace. * Términos y privacidad: https://
docs.virustotal.com/docs/privacy-policy

#### Qualys SSL Labs (ssllabs.com)

No se contacta automáticamente. La prueba «Comprobar salud SSL» de la página Herramientas
se ejecuta por completo en tu propio servidor (abre una conexión TLS con tu propio
dominio y lee el certificado). Junto a ella, un enlace «Análisis profundo (SSL Labs)»
abre la prueba de Qualys SSL Labs en una nueva pestaña del navegador; a continuación,
SSL Labs conecta con tu sitio desde el exterior y califica su configuración TLS.
El enlace lleva el indicador «hide results», por lo que el informe no se publica
en el tablón público de SSL Labs.
 * Cuándo: solo cuando haces clic en el enlace«
Análisis profundo (SSL Labs)». * Datos enviados: el nombre de dominio de tu sitio,
contenido en la URL del enlace. * Términos: https://www.ssllabs.com/about/terms.
html * Privacidad: https://www.qualys.com/company/privacy/

### Créditos

WordSec incluye las bibliotecas de terceros que se enumeran a continuación. Todas
las bibliotecas se distribuyen bajo una licencia compatible con la propia licencia«
GPLv2 or later» de WordSec. Cada biblioteca incluida conserva su aviso de licencia
dentro del archivo o su archivo de licencia original, y el código fuente original
completo (sin minificar) de cada una está disponible en el proyecto y la versión
enlazados.

#### Bibliotecas PHP (`vendor/`)

TCPDF 6.11.3
 * Licencia: LGPL-3.0-or-later * Copyright: Nicola Asuni, Tecnick.com
LTD * Fuente: https://github.com/tecnickcom/TCPDF * Archivo de licencia: `vendor/
tecnickcom/tcpdf/LICENSE.TXT` * Utilizado para: generación de informes/exportaciones
en PDF

SimpleXLSXGen 1.5.x
 * Licencia: MIT * Copyright: (c) 2020-2022 Sergey Shuchkin *
Fuente: https://github.com/shuchkin/simplexlsxgen * Archivo de licencia: `vendor/
shuchkin/simplexlsxgen/LICENSE` * Utilizado para: exportación a XLSX (Excel)

#### Bibliotecas JavaScript / CSS (`assets/*/vendor/`)

Select2 4.1.0-rc.0
 * Licencia: MIT * Copyright: Kevin Brown, Igor Vaynberg y los
colaboradores de Select2 * Fuente: https://github.com/select2/select2 * Texto de
la licencia: https://github.com/select2/select2/blob/master/LICENSE.md * Archivos
incluidos: `assets/js/vendor/select2.min.js`, `assets/css/vendor/select2.min.css`

ApexCharts 5.16.0
 * Licencia: MIT * Copyright: (c) 2018-2026 ApexCharts * Fuente:
https://github.com/apexcharts/apexcharts.js * Texto de la licencia: https://github.
com/apexcharts/apexcharts.js/blob/main/LICENSE * Archivos incluidos: `assets/js/
vendor/apexcharts.min.js`

jsVectorMap 1.7.0
 * Licencia: MIT * Copyright: (c) Mustafa Omar y los colaboradores
de jsVectorMap * Fuente: https://github.com/themustafaomar/jsvectormap * Texto de
la licencia: https://github.com/themustafaomar/jsvectormap/blob/master/LICENSE *
Archivos incluidos: `assets/js/vendor/jsvectormap.min.js`, `assets/css/vendor/jsvectormap.
min.css` * Utilizado para: visualizaciones del mapa mundial (Tráfico en vivo / Bloqueo/
Firewall)

Datos del mapa mundial (world_mill), registrados como el mapa «world» de jsVectorMap
*
Licencia: MIT * Copyright: colaboradores de jvectormap-content; geometría del mapa
derivada de Natural Earth (public domain) * Fuente: https://www.npmjs.com/package/
jvectormap-content * Archivos incluidos: `assets/js/vendor/world.js` * Utilizado
para: la geometría de países representada por las visualizaciones del mapa mundial
anteriores

qrcode-generator 1.4.4
 * Licencia: MIT * Copyright: Kazuhiko Arase * Fuente: https://
github.com/kazuhikoarase/qrcode-generator * Texto de la licencia: https://github.
com/kazuhikoarase/qrcode-generator/blob/master/LICENSE * Archivos incluidos: `assets/
js/vendor/qrcode.min.js`

#### Iconos / recursos

flag-icons (SVG de banderas de países)
 * Licencia: MIT (marcado SVG); los diseños
de las banderas en sí son de public domain * Copyright: (c) 2013 Panayiotis Lipiridis*
Fuente: https://github.com/lipis/flag-icons * Texto de la licencia: https://github.
com/lipis/flag-icons/blob/main/LICENSE * Archivos incluidos: `assets/images/flags/*.
svg` (banderas de países, 4×3 `viewBox="0 0 640 480"`)

## Capturas

[⌊Firewall de aplicaciones web: inspecciona cada petición, crea reglas personalizadas
con múltiples condiciones y revisa registros detallados del firewall.⌉⌊Firewall 
de aplicaciones web: inspecciona cada petición, crea reglas personalizadas con múltiples
condiciones y revisa registros detallados del firewall.⌉[

Firewall de aplicaciones web: inspecciona cada petición, crea reglas personalizadas
con múltiples condiciones y revisa registros detallados del firewall.

[⌊Escáner de malware e integridad: un análisis en siete etapas de archivos, base
de datos y tareas programadas, con cuarentena y restauración.⌉⌊Escáner de malware
e integridad: un análisis en siete etapas de archivos, base de datos y tareas programadas,
con cuarentena y restauración.⌉[

Escáner de malware e integridad: un análisis en siete etapas de archivos, base de
datos y tareas programadas, con cuarentena y restauración.

[⌊Seguridad de inicio de sesión: autenticación de dos factores basada en roles, 
múltiples proveedores de CAPTCHA y protección contra brute-force.⌉⌊Seguridad de 
inicio de sesión: autenticación de dos factores basada en roles, múltiples proveedores
de CAPTCHA y protección contra brute-force.⌉[

Seguridad de inicio de sesión: autenticación de dos factores basada en roles, múltiples
proveedores de CAPTCHA y protección contra brute-force.

[⌊Monitor de tráfico en vivo: tráfico en tiempo real con reproducción histórica 
e inspección segura de peticiones.⌉⌊Monitor de tráfico en vivo: tráfico en tiempo
real con reproducción histórica e inspección segura de peticiones.⌉[

Monitor de tráfico en vivo: tráfico en tiempo real con reproducción histórica e 
inspección segura de peticiones.

[⌊Bloqueo por IP y geolocalización: listas de países y continentes, bloqueo de IP
y CIDR, y limitación de solicitudes.⌉⌊Bloqueo por IP y geolocalización: listas de
países y continentes, bloqueo de IP y CIDR, y limitación de solicitudes.⌉[

Bloqueo por IP y geolocalización: listas de países y continentes, bloqueo de IP 
y CIDR, y limitación de solicitudes.

[⌊Inteligencia de plugins y temas: puntuación de reputación, alertas de vulnerabilidades
y comprobaciones de integridad de las actualizaciones.⌉⌊Inteligencia de plugins 
y temas: puntuación de reputación, alertas de vulnerabilidades y comprobaciones 
de integridad de las actualizaciones.⌉[

Inteligencia de plugins y temas: puntuación de reputación, alertas de vulnerabilidades
y comprobaciones de integridad de las actualizaciones.

[⌊Registro de auditoría: seguimiento completo de la actividad en tipos de objetos
y acciones.⌉⌊Registro de auditoría: seguimiento completo de la actividad en tipos
de objetos y acciones.⌉[

Registro de auditoría: seguimiento completo de la actividad en tipos de objetos 
y acciones.

[⌊Alertas de seguridad en tiempo real: 36 tipos de eventos entregados por correo
electrónico, Telegram o Slack.⌉⌊Alertas de seguridad en tiempo real: 36 tipos de
eventos entregados por correo electrónico, Telegram o Slack.⌉[

Alertas de seguridad en tiempo real: 36 tipos de eventos entregados por correo electrónico,
Telegram o Slack.

## Instalación

 1. Sube los archivos del plugin a `/wp-content/plugins/wordsec/`, o instálalo desde
    la pantalla de **Plugins** de WordPress.
 2. Activa el plugin desde la pantalla de **Plugins** de WordPress.
 3. Abre el menú **WordSec** para empezar a configurar.

La activación solo crea las tablas de base de datos del plugin, los ajustes predeterminados
y su propio directorio de datos. WordSec nunca modifica .htaccess, .user.ini ni 
wp-config.php, ni cambia los permisos de los archivos, ni instala el bootstrap del
WAF previo a WordPress sin una acción explícita y claramente identificada por tu
parte, y la desactivación revierte todos esos cambios.

## FAQ

### ¿WordSec ralentiza mi sitio?

No. WordSec se ha diseñado en torno a un número mínimo de consultas a la base de
datos, el procesamiento por lotes y el almacenamiento en caché inteligente, de modo
que la protección no se produce a costa del rendimiento.

### ¿Necesito una clave de licencia para usar WordSec?

No. WordSec se instala y funciona como un plugin gratuito totalmente funcional con
protección local: el firewall de aplicaciones web (tus propias reglas personalizadas
más las reglas predefinidas integradas), la protección contra brute-force y de inicio
de sesión, la autenticación de dos factores, el reforzamiento, la configuración 
del bloqueo geográfico, el registro de auditoría y más funcionan sin ninguna clave.

### ¿Requiere algún servicio externo?

No, no para funcionar. La protección principal de WordSec se ejecuta localmente 
en tu servidor y, sin clave de licencia, no contacta en absoluto con ningún servicio
externo de WordSec.

### ¿Puede WordSec ayudar a eliminar el malware en un sitio hackeado?

Sí. El escáner de seguridad examina tus archivos, la base de datos y las tareas 
programadas, y cada hallazgo se puede poner en cuarentena con un solo clic. Un archivo
modificado del núcleo, plugin o tema de WordPress también se puede reparar directamente
desde su copia original en WordPress.org, y el historial de escaneo mantiene un 
registro de todo lo que se encontró y se cambió.

### ¿Incluye WordSec protección contra ataques de fuerza bruta?

Sí. Los intentos de acceso fallidos tienen un límite de velocidad con bloqueo progresivo,
de modo que cada nuevo intento desde la misma fuente espera más tiempo. También 
puedes añadir un campo honeypot, cambiar el nombre de la URL de acceso, exigir un
CAPTCHA en el formulario de acceso y restringir los accesos por IP, país u hora 
del día.

### ¿Admite WordSec la autenticación de dos factores?

Sí. La autenticación de dos factores utiliza códigos TOTP RFC 6238 de cualquier 
aplicación de autenticación estándar, y tú eliges qué perfiles deben usarla. Para
el caso de que se pierda un dispositivo y nadie pueda acceder, una constante WORDSEC_DISABLE_2FA
en wp-config.php proporciona acceso de emergencia.

### ¿Qué bloquea realmente el cortafuegos de aplicaciones web?

Los conjuntos de reglas integrados cubren la inyección SQL, las secuencias de comandos
en sitios cruzados (XSS), el path traversal y la inyección de PHP y comandos. Puedes
añadir tus propias reglas con un constructor de condiciones múltiples, ejecutar 
el cortafuegos en modo de aprendizaje antes de aplicar nada y, opcionalmente, activar
la protección extendida para que las solicitudes se inspeccionen antes de que se
cargue WordPress.

### ¿Puedo ejecutar WordSec junto a otro plugin de seguridad?

Puedes hacerlo, pero no es recomendable. Dos cortafuegos inspeccionando la misma
solicitud, o dos escáneres recorriendo los mismos archivos, afectan al rendimiento
y generan alertas duplicadas. WordSec está diseñado para asumir la seguridad del
sitio de principio a fin, por lo que lo habitual es desactivar primero los demás.

### ¿Cuáles son los requisitos mínimos?

WordPress 6.9+, PHP 7.4+ y MySQL 5.6+ / MariaDB 10.1+.

## Reseñas

![](https://secure.gravatar.com/avatar/3377be941e3c41f8608e0a86140d11f7c2cb834ac60cbcf614f4625c0b5c12e0?
s=60&d=retro&r=g)

### 󠀁[Reliable and Easy to Use](https://wordpress.org/support/topic/reliable-and-easy-to-use-41/)󠁿

 [yazgac](https://profiles.wordpress.org/yazgac/) 26 de julio de 2026

I’ve been using Wordfence, and it has been one of the most reliable security plugins
for my WordPress sites. Easy to set up, excellent protection, and regular updates.
Highly recommended! Thank you…

![](https://secure.gravatar.com/avatar/c70a7a4675298a8bb3209104e3077d9035de56e484445f08f847f28db88785ed?
s=60&d=retro&r=g)

### 󠀁[Excellent Security Plugin That Helped Protect My Site](https://wordpress.org/support/topic/excellent-security-plugin-that-helped-protect-my-site/)󠁿

 [ymcdev](https://profiles.wordpress.org/ymcdev/) 23 de julio de 2026

I’ve tried several WordPress security plugins over the years, but WordSec has honestly
been one of the best experiences so far. After the recent wp2shell vulnerability
was disclosed, I tested my website with and without WordSec installed. During my
testing, anonymous REST API access was blocked, preventing my site from being exposed
to the same attack surface. I still updated WordPress immediately, but it was reassuring
to see WordSec providing an additional layer of protection against emerging threats.
Beyond that, I really like the overall feature set. Protection against SQL injection,
remote code execution attempts, brute force attacks, malicious file uploads, and
XML-RPC abuse gives me confidence that my sites are well protected. The firewall
rules work out of the box, and I didn’t have to spend hours configuring everything.
Another big advantage is performance. Unlike some security plugins that noticeably
slow down WordPress, WordSec is lightweight and has had virtually no impact on my
site’s speed. If you’re looking for a modern, lightweight, and reliable WordPress
security plugin that focuses on practical protection instead of unnecessary complexity,
I highly recommend WordSec. Great work by the developer. Looking forward to future
updates!

 [ Leer todas las 2 reseñas ](https://wordpress.org/support/plugin/wordsec/reviews/)

## Colaboradores y desarrolladores

«WordSec – Malware Scanner & Removal, Web Application Firewall (WAF), and 2FA» es
un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

 *   [ WordSec ](https://profiles.wordpress.org/wordsec/)

«WordSec – Malware Scanner & Removal, Web Application Firewall (WAF), and 2FA» está
traducido en 6 idiomas. Gracias a [los traductores](https://translate.wordpress.org/projects/wp-plugins/wordsec/contributors)
por sus contribuciones.

[Traduce «WordSec – Malware Scanner & Removal, Web Application Firewall (WAF), and 2FA» a tu idioma.](https://translate.wordpress.org/projects/wp-plugins/wordsec)

### ¿Interesado en el desarrollo?

[Revisa el código](https://plugins.trac.wordpress.org/browser/wordsec/) , echa un
vistazo al [repositorio SVN](https://plugins.svn.wordpress.org/wordsec/) o suscríbete
al [registro de desarrollo](https://plugins.trac.wordpress.org/log/wordsec/) por
[RSS](https://plugins.trac.wordpress.org/log/wordsec/?limit=100&mode=stop_on_copy&format=rss).

## Registro de cambios

#### 1.1.0

 * Corregido: desinstalar el plugin con una opción de eliminación de datos y luego
   reinstalarlo podía bloquear permanentemente a los usuarios de autenticación de
   dos factores el acceso, porque los secretos 2FA almacenados sobrevivían a la 
   desinstalación mientras que su clave de cifrado no. Ahora la desinstalación elimina
   los datos por usuario del plugin junto con la clave, y la opción «conservar solo
   la clave de licencia» preserva el material de clave que necesita la licencia 
   almacenada.
 * Corregido: la desinstalación dejaba entradas en caché y las carpetas GeoIP/cuarentena;
   ahora se elimina todo lo que hay en uploads/wordsec a menos que se seleccione«
   conservar todo».

#### 1.0.10

 * Cambiado: ahora solo se contacta con el servicio opcional ipwhois.io cuando abres
   la ventana de «detalles de IP» en el tráfico en vivo. El registro de tráfico 
   ya no lo llama nunca, por lo que las visitas en segundo plano ya no pueden gastar
   la cuota mensual de consultas y dejar la ventana de detalles de IP informando
   de «límite de velocidad superado».
 * Cambiado: el registro de tráfico en vivo ya no almacena la ciudad por solicitud,
   y se ha eliminado la columna de ciudad de la base de datos que no se usaba. La
   ciudad sigue mostrándose en la ventana de detalles de IP.
 * Corregido: la tabla de direcciones IP bloqueadas cargaba 25 filas después de 
   actualizar la página, aunque estuviera seleccionado 10 por página. Ahora la elección
   de filas por página, el orden y la página actual se recuerdan como en las otras
   tablas de registro, y el botón de limpiar restablece el rango de tiempo a «Siempre».
 * Corregido: al ordenar la tabla del registro de alarmas o del registro del cortafuegos,
   la flecha de la columna podía invertirse en sentido contrario al orden realmente
   aplicado.

#### 1.0.9

 * Corregido: en los sitios donde WordPress está instalado en un subdirectorio, 
   el cambio de nombre de la URL de acceso no dejaba ninguna vía de entrada: la 
   dirección de acceso personalizada devolvía un 404 mientras wp-login.php y wp-
   admin permanecían bloqueados. Ahora la dirección personalizada funciona, y también
   lo hacen los accesos directos /login, /admin y /dashboard.
 * Corregido: «bloquear el acceso a archivos sensibles» bloqueaba las descargas 
   legítimas de la biblioteca multimedia (.zip, .sql, .log y similares) en instalaciones
   en subdirectorios, porque la excepción para la carpeta uploads no coincidía. 
   Ahora la excepción sigue la ubicación real de uploads.
 * Corregido: la trampa Blackhole nunca se activaba en instalaciones en subdirectorios,
   y una solicitud con una cadena de consulta la sorteaba en todas partes.
 * Corregido: la lista blanca de IP y país para el acceso no cubría una página de
   acceso renombrada en instalaciones en subdirectorios.
 * Corregido: el bloqueo de enumeración de plugins y temas no se ejecutaba en instalaciones
   en subdirectorios cuando la solicitud llegaba a PHP.
 * Corregido: los ejemplos de reglas para Nginx e IIS que se muestran para servidores
   que ignoran .htaccess ahora incluyen la ruta de instalación, para que coincidan
   en instalaciones en subdirectorios.
 * Corregido: un slug de acceso personalizado no válido se reemplazaba silenciosamente
   en lugar de notificarse, y en un sitio que aún no tenía slug podía convertirse
   en un valor predeterminado predecible. Ahora el valor se rechaza con un mensaje
   y se conserva el slug anterior.
 * Corregido: cuando un secreto de dos factores almacenado ya no podía descifrarse(
   por ejemplo, después de una rotación de la clave de seguridad), se denegaba el
   acceso incluso con la contraseña correcta y desactivar la autenticación de dos
   factores no ayudaba. Ahora el conmutador de 2FA desactiva completamente la comprobación,
   y una constante WORDSEC_DISABLE_2FA en wp-config.php proporciona acceso de emergencia.
 * Corregido: «ocultar errores de acceso» ya no sustituye los mensajes de error 
   de dos factores y de estado del sitio por el texto genérico «credenciales incorrectas»;
   solo se enmascaran los errores de credenciales.
 * Mejorado: los secretos de dos factores almacenados en formatos de cifrado antiguos
   se vuelven a cifrar ahora al formato actual en segundo plano, de modo que una
   futura rotación de la clave de seguridad ya no pueda invalidarlos.

#### 1.0.8

 * Corregido: el endurecimiento de permisos de archivos podía dejar un sitio inaccesible.
   Establecía el .htaccess raíz en modo 0440, lo que quitaba el acceso de lectura
   al servidor web en los paneles de alojamiento donde el servidor web se ejecuta
   con un usuario diferente al propietario del archivo (Plesk, cPanel y similares).
   Apache respondía entonces a cada solicitud con 403 y registraba «AH00529 pcfg_openfile:
   unable to check htaccess file». Ahora el .htaccess raíz se establece en 0644 
   para que el servidor web pueda leerlo siempre, mientras que wp-config.php sigue
   siendo de solo lectura en 0440. Los sitios afectados se reparan automáticamente
   la próxima vez que se abra una página de administración con la opción activada.
 * Corregido: el escáner de malware recomendaba el mismo modo 0440 para el .htaccess
   raíz, por lo que «corregir todo» (y los escaneos programados con corrección automática)
   podían volver a aplicarlo. Ahora el escáner espera 0644 y, en su lugar, informa
   de que un .htaccess que el servidor web no puede leer es un problema.
 * Corregido: la comprobación de permisos de archivos en Herramientas mostraba 0440
   como el modo recomendado para .htaccess y ahora recomienda 0644.
 * Corregido: la puntuación de seguridad ya no espera que el archivo .htaccess sea
   ilegible por el servidor web; solo el acceso de escritura para el grupo o para
   otros cuenta en contra de la puntuación.

#### 1.0.7

 * Corregido: «evitar la enumeración de usuarios» ya no bloquea las páginas de autor
   normales. Solo se bloquean las sondas basadas en ID (como /?author=1, que WordPress
   resuelve en un nombre de usuario); un visitante que abra un archivo de autor 
   conocido como /author/nombre/ recibe el contenido con normalidad. El endpoint
   de usuarios de REST y el mapa del sitio de usuarios permanecen cerrados como 
   antes.
 * Corregido: el cuadro de diálogo «Ver contenido coincidente» del escáner mostraba
   su recuadro de contenido en blanco mientras el modo oscuro estaba activo.
 * Mejorado: la página de bloqueo que se muestra a los visitantes bloqueados lleva
   la marca de WordSec con una línea debajo que dice «Plugin de seguridad para WordPress».
 * Mejorado: la pantalla de bloqueo que muestra la protección extendida (el cortafuegos
   anterior a WordPress) es ahora idéntica a la que sirve WordPress, en lugar de
   una copia casi exacta con un código de error adicional y una línea de referencia.
 * Corregido: al desinstalar con «conservar solo la clave de licencia» ahora también
   se conserva el identificador de este sitio, de modo que al reinstalar se reutiliza
   la vinculación de licencia existente en lugar de registrar el sitio por segunda
   vez.

#### 1.0.6

 * Nuevo: el escáner ahora informa de archivos adicionales inesperados dentro de
   las carpetas de plugins y temas alojados en WordPress.org (archivos que no forman
   parte de la versión oficial). Estos archivos son un escondite habitual de cargas
   maliciosas que no coinciden con ninguna firma de malware. Los hallazgos admiten
   cuarentena y están cubiertos por Reparar todo.
 * Mejorado: la reparación de archivos de plugins y temas ahora obtiene el archivo
   original individual directamente desde el SVN de WordPress.org (el mismo canal
   que ya usan las reparaciones del núcleo) en lugar de descargar y extraer el zip
   completo del plugin/tema; el paquete zip se mantiene como alternativa automática.
 * Corregido: la reparación de plugins y temas podía indicar «puede que el plugin
   no esté alojado en WordPress.org» para plugins que SÍ están alojados allí, porque
   el paso de extracción del zip se ejecutaba sin un sistema de archivos de WordPress
   inicializado.
 * Corregido: los temas predeterminados incluidos con WordPress (p. ej., Twenty 
   Twenty-Five) ya no producen falsos hallazgos de «Archivo de tema modificado».
   WordPress distribuye sus propias compilaciones de estos temas, que pueden diferir
   byte a byte de la versión del mismo tema publicada en el directorio de temas;
   los archivos que coinciden con las sumas de comprobación oficiales del núcleo
   ahora se reconocen como genuinos.
 * Mejorado: la tabla del historial de análisis muestra un desglose completo por
   gravedad (total, crítica, alta, media, baja, informativa) al pasar el cursor 
   sobre la columna «Problemas encontrados».

#### 1.0.5

 * Corregido: el escáner de malware ya no marca los archivos no modificados del 
   propio WordSec. Los archivos que coinciden byte a byte con las sumas de comprobación
   de la versión oficial de WordPress.org para la versión de WordSec instalada se
   excluyen de la comparación de firmas; un archivo modificado o desconocido sigue
   sin superar la suma de comprobación y se analiza con normalidad.

#### 1.0.4

 * Nuevo: asistente de configuración. La primera activación ahora abre una configuración
   guiada paso a paso: elige una configuración recomendada, estándar o totalmente
   personalizada para el firewall, la seguridad de inicio de sesión, el bloqueo 
   y los ajustes; configura el CAPTCHA, la autenticación de dos factores, el renombrado
   de la URL de inicio de sesión y los canales de entrega de alarmas, y termina 
   con el paso de la licencia. Cada cambio de uso compartido de datos o de archivos
   del servidor se comunica antes de aplicarse, y el asistente puede volver a ejecutarse
   en cualquier momento desde Ajustes.
 * Nuevo: la elección de qué ocurre con tus datos al desinstalar (conservarlo todo,
   conservar solo la clave de licencia o borrarlo todo) ahora se ofrece también 
   en un diálogo al desactivar el plugin, además del control ya existente en Ajustes.
 * Mejorado: detección y rendimiento del escáner de malware.
 * Mejorado: refinamientos visuales en toda la interfaz de administración.
 * Corregido: problemas conocidos comunicados desde la versión 1.0.3.

#### 1.0.3

 * WordPress 6.9 es ahora la versión mínima compatible.
 * El bootstrap del WAF previo a WordPress («Protección extendida») ya no se instala
   en la activación. Es una opción explícita en la página Firewall que enumera todos
   los cambios que realiza en el servidor, y desactivarla (o desactivar el plugin)
   los revierte todos.
 * Las funciones de reforzamiento que escriben en .htaccess, .user.ini o wp-config.
   php, cambian permisos de archivo o eliminan archivos ahora están desactivadas
   de forma predeterminada, y la descripción de cada conmutador indica exactamente
   qué escribe.
 * La desactivación ahora restaura las constantes de depuración originales de wp-
   config.php y los permisos de archivo originales, y elimina todos los archivos
   y directivas que el plugin añadió; la desinstalación vuelve a ejecutar esta limpieza
   como medida de seguridad.
 * La geolocalización de IP de reserva y la búsqueda de detalles de IP de Tráfico
   en vivo han cambiado de ip-api.com a ipwhois.io, siempre por HTTPS con verificación
   de certificado, y ahora cada solicitud está condicionada a una nueva opción «
   Servicio externo de búsqueda de IP» desactivada de forma predeterminada (Ajustes
   Gestión de IP de visitantes).
 * Las puntuaciones de reputación de la cadena de suministro ahora funcionan por
   completo sin clave de licencia: los datos públicos de plugins/temas de wordpress.
   org se obtienen directamente cuando el mirror del servicio no está disponible.
 * El cuadro de diálogo de detalles de IP de Tráfico en vivo muestra las estadísticas
   locales de peticiones (totales, número de bloqueadas, nivel de amenaza) incluso
   mientras las búsquedas externas están desactivadas.
 * Página de Ajustes reorganizada: Datos de uso se ha movido a la parte superior,
   las opciones de idioma e interfaz se han unificado en una única tarjeta Interfaz
   de administración, y la sección IP de visitantes se ha renombrado a Gestión de
   IP de visitantes.
 * Las descripciones de la página Herramientas ahora nombran los servicios externos
   que contacta cada herramienta (api.ipify.org, rdap.org y los proveedores de listas
   de bloqueo DNS).
 * Documentación de servicios externos ampliada: ahora se enumeran los proveedores
   de listas de bloqueo DNS, todos los hosts de descarga de wordpress.org y el servicio
   ipwhois.io.
 * Se han corregido algunos errores conocidos.
 * Se han realizado mejoras visuales.

#### 1.0.2

 * Todas las funciones ahora son totalmente funcionales de forma local, sin restricciones
   de licencia.
 * Se ha corregido un error en el escáner de malware.
 * Los datos de ejecución (reglas WAF, listas de bloqueo, GeoIP, cuarentena) ahora
   residen en la carpeta uploads (uploads/wordsec).
 * Correcciones adicionales de ubicación de archivos/directorios y de cumplimiento
   de las directrices de wp.org.

#### 1.0.1

 * Scripts/estilos en línea trasladados a la API de encolado de WordPress.
 * Saneamiento de entradas más estricto en todo el manejo de peticiones.
 * Bibliotecas incluidas actualizadas: ApexCharts 5.16.0, TCPDF 6.11.3.
 * La base de datos GeoIP ahora se almacena en wp-content/wordsec-data/ en lugar
   de en la carpeta del plugin.
 * Se ha ampliado la documentación de Servicios externos de este readme.

#### 1.0.0

 * Lanzamiento público inicial.

## Meta

 *  Versión **1.1.0**
 *  Última actualización **hace 3 días**
 *  Instalaciones activas **Menos de 10**
 *  Versión de WordPress ** 6.9 o superior **
 *  Probado hasta **7.0.2**
 *  Versión de PHP ** 7.4 o superior **
 *  Idiomas
 * [Arabic](https://ar.wordpress.org/plugins/wordsec/), [Dutch](https://nl.wordpress.org/plugins/wordsec/),
   [English (US)](https://wordpress.org/plugins/wordsec/), [Polish](https://pl.wordpress.org/plugins/wordsec/),
   [Russian](https://ru.wordpress.org/plugins/wordsec/), [Spanish (Spain)](https://es.wordpress.org/plugins/wordsec/)
   y [Ukrainian](https://uk.wordpress.org/plugins/wordsec/).
 *  [Traducir a tu idioma](https://translate.wordpress.org/projects/wp-plugins/wordsec)
 * Etiquetas:
 * [firewall](https://es.wordpress.org/plugins/tags/firewall/)[malware removal](https://es.wordpress.org/plugins/tags/malware-removal/)
   [malware scanner](https://es.wordpress.org/plugins/tags/malware-scanner/)[security](https://es.wordpress.org/plugins/tags/security/)
   [WAF](https://es.wordpress.org/plugins/tags/waf/)
 *  [Vista avanzada](https://es.wordpress.org/plugins/wordsec/advanced/)

## Valoraciones

 5 de 5 estrellas.

 *  [  2 valoraciones de 5 estrellas     ](https://wordpress.org/support/plugin/wordsec/reviews/?filter=5)
 *  [  0 valoraciones de 4 estrellas     ](https://wordpress.org/support/plugin/wordsec/reviews/?filter=4)
 *  [  0 valoraciones de 3 estrellas     ](https://wordpress.org/support/plugin/wordsec/reviews/?filter=3)
 *  [  0 valoraciones de 2 estrellas     ](https://wordpress.org/support/plugin/wordsec/reviews/?filter=2)
 *  [  0 valoraciones de 1 estrellas     ](https://wordpress.org/support/plugin/wordsec/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/wordsec/reviews/#new-post)

[Ver todas las valoraciones](https://wordpress.org/support/plugin/wordsec/reviews/)

## Colaboradores

 *   [ WordSec ](https://profiles.wordpress.org/wordsec/)

## Soporte

¿Tienes algo que decir? ¿Necesitas ayuda?

 [Ver el foro de soporte](https://wordpress.org/support/plugin/wordsec/)