Para: cualquiera que gestione un sitio WordPress. Aquí no hay pasos de ataque — esta es una referencia de trabajo para el endurecimiento: una lista de verificación ordenada por prioridad, guía por área y autoverificación. Para el panorama entre frameworks, consulta el centro de seguridad por framework.
Lista de verificación de endurecimiento ordenada por prioridad
Haz esta tabla de arriba hacia abajo. P0 es la máxima prioridad, P1 es la fuente más frecuente de incidentes, P2 es el mantenimiento continuo.
P0 ── Requisito previo (haz esto primero)
Actualizaciones automáticas / eliminar complementos y temas no usados / administrador fuerte + 2FA
P1 ── Principal fuente de incidentes
Minimizar complementos / reducir la exposición del panel / copias de seguridad recuperables
P2 ── Mantenimiento continuo
wp-config y secretos / permisos de archivos / HTTPS, cabeceras, actualización de PHP/dependencias
| Prioridad | Control | Detalles (WordPress) |
|---|---|---|
| P0 | Actualizaciones automáticas | Habilita las auto-actualizaciones del núcleo, complementos y temas. Haz copia de seguridad antes de actualizaciones mayores |
| P0 | Elimina lo no usado | Elimina los complementos/temas no usados, no solo los desactives (los archivos que quedan siguen siendo un objetivo) |
| P0 | Administrador fuerte + 2FA | Contraseña fuerte + dos factores. Evita el nombre de usuario admin; roles de mínimo privilegio |
| P1 | Minimizar complementos | Evalúa la frecuencia de actualización, la adopción y los CVE conocidos antes de instalar. Mantén el número bajo |
| P1 | Proteger el inicio de sesión | Límites de intentos de inicio de sesión. Restringe la exposición de wp-admin/wp-login.php |
| P1 | Reducir la exposición | Restringe xmlrpc.php si no se usa. Suprime la enumeración de usuarios de la REST API |
| P1 | Copias de seguridad | Copias de seguridad recuperables sin conexión/separadas + pruebas de restauración + detección de manipulación |
| P2 | wp-config y secretos | Configura claves/sales de autenticación, protege wp-config.php, desactiva la pantalla de depuración en producción |
| P2 | Permisos de archivos | ~644 archivos / 755 directorios. Prohíbe la ejecución de PHP en el directorio de subidas |
| P2 | HTTPS/cabeceras/actualizaciones | Fuerza HTTPS, HSTS, etc. Mantén PHP/BD en versiones soportadas |
1. Actualizaciones (la principal defensa)
La mayoría de los ataques a WordPress son herramientas automatizadas que explotan a escala una vulnerabilidad conocida publicada (CVE). Así que la velocidad de actualización es tu mayor defensa.
- Habilita las actualizaciones automáticas del núcleo, los complementos y los temas, para que las vulnerabilidades publicadas se corrijan antes de ser explotadas.
- Para sitios importantes, verifica las actualizaciones mayores en un entorno de preproducción (staging) y haz copia de seguridad antes de actualizar.
- Una actualización omitida deja una vía de entrada a los ataques automatizados. No lo dejes "para después".
2. Complementos y temas (superficie de ataque)
Las vulnerabilidades del código de terceros son la vía de entrada más habitual. La clave es mantener el número bajo y no dejarlos nunca desatendidos.
- Para lo no usado, elimínalo en lugar de desactivarlo (los archivos desactivados pueden seguir siendo un objetivo).
- Antes de instalar, comprueba la frecuencia de actualización, la adopción, la fecha de última actualización y los CVE conocidos. Evita los abandonados.
- Puedes comprobar los CVE de los complementos con la búsqueda de CVE/KEV. Menos extensiones significa menos responsabilidad de actualización y menos superficie de ataque.
3. Cuentas de administrador y autenticación
La mayoría de las tomas de control son fuerza bruta contra cuentas de administrador débiles/reutilizadas, o reutilización de contraseñas filtradas.
Común (peligroso)
- nombre de usuario
admin+ contraseña débil + sin 2FA - todos son administradores (sin separación de roles)
- intentos de inicio de sesión ilimitados
wp-adminaccesible desde cualquier lugar
Correcto
- contraseña fuerte + 2FA, un nombre de usuario distinto de
admin - roles de mínimo privilegio (usa editor/autor según corresponda)
- límites de intentos de inicio de sesión (frena la fuerza bruta)
- donde sea posible, restringe desde dónde se puede acceder a
wp-admin/wp-login.php
Para elegir 2FA consulta qué es 2FA; para la ruta que apunta a los administradores consulta qué es el phishing.
4. Reducir la exposición (superficie del panel y divulgación)
Los atacantes buscan primero algo que puedan usar para entrar. Recorta las funciones no usadas y la divulgación innecesaria.
- Añade límites de intentos de inicio de sesión para reducir la eficacia de la fuerza bruta.
- Restringe
xmlrpc.phpsi no se usa (puede usarse de forma abusiva para acelerar ataques de fuerza bruta y enviar peticiones de alto volumen). - Suprime la enumeración de usuarios de la REST API (evita exponer los nombres de administrador vía
?author=, etc.). - Desactiva el listado de directorios y reduce la divulgación innecesaria de versiones.
- Desactiva la edición de archivos desde el panel (
DISALLOW_FILE_EDIT) para dificultar la manipulación tras una intrusión.
5. wp-config y secretos (P2)
- Configura las claves/sales de autenticación únicas y protege
wp-config.phpcon permisos apropiados (nunca legible por todos). - Mantén secretos como las credenciales de la BD fuera de la superficie pública. No dejes copias de seguridad ni exportaciones en un directorio público (→ mantén los secretos fuera de los directorios públicos).
- En producción, desactiva la pantalla de depuración (
WP_DEBUG_DISPLAYdesactivado). No filtres detalles internos vía errores.
6. Archivos y subidas (P2)
- Permisos de archivos de aproximadamente 644 archivos / 755 directorios, y más estrictos para
wp-config.php. Nunca dejes nada escribible por todos. - No permitas la ejecución de PHP en el directorio de subidas (defensa contra web-shells). Valida el tipo y el tamaño de las subidas.
- Usa detección de manipulación (monitorización de cambios de archivos) para detectar temprano los cambios tras una intrusión.
7. HTTPS, cabeceras, copias de seguridad (P2)
- Fuerza HTTPS + HSTS. Resuelve el contenido mixto.
- Añade cabeceras de seguridad (comprueba tu propio sitio con el verificador de cabeceras de seguridad).
- Mantén copias de seguridad sin conexión/inmutables + pruebas de restauración para poder recuperarte (→ fundamentos de copias de seguridad). Tu último recurso para recuperarte del ransomware y del defacement.
8. Hosting y dependencias (P1–P2)
- Mantén PHP y la base de datos en versiones soportadas. No dejes versiones en fin de vida (EOL) en su lugar.
- Conoce el estado de parcheo de tu hosting (en hosting compartido, eso incluye la respuesta del proveedor).
- Un WAF es un complemento. Establece primero lo básico (actualizaciones, minimización, autenticación, copias de seguridad).
Verifica: ¿está tu WordPress realmente endurecido?
Construirlo no es el final — está hecho solo una vez que lo has comprobado. Estas son autoverificaciones defensivas contra tu propio sitio.
Los secretos y la configuración no están expuestos
/wp-config.php no devuelve su contenido, y que las copias de seguridad (.zip/.sql) o los archivos tipo .env no se pueden obtener por URL.Los nombres de administrador y las versiones no se filtran
?author=1 y similares no exponen un nombre de usuario de administrador, y que el listado de directorios está desactivado.La protección de inicio de sesión y 2FA funcionan
admin residual.Actualizaciones, copias de seguridad, cabeceras
Estas cuatro comprobaciones te dicen si el sitio está reforzado. Si ya sospechas que lo han alterado o se han apoderado de él, consulta cómo saber si han hackeado tu sitio web o tu servidor.
La visión de este sitio: no añadas demasiados complementos ni los dejes desatendidos
Lo que funciona para WordPress no es una configuración especial, sino la disciplina operativa de "no añadas extensiones en exceso, no las dejes desatendidas". Los complementos son cómodos, pero cada uno añade una responsabilidad de seguir actualizando. Lo prioritario es recorrer la tabla de arriba desde el principio: automatiza las actualizaciones, mantén los complementos al mínimo y defiende con autenticación fuerte y copias de seguridad recuperables. Parece específico de WordPress, pero en realidad es lo básico que se aplica a cualquier tecnología (actualizar las dependencias, exponer lo mínimo, autenticación, recuperación).
Lecturas siguientes
- Centro: seguridad por framework · seguridad de Laravel
- Comprobar una intrusión: cómo saber si han hackeado tu sitio web o tu servidor
- Práctica: el manual de respuesta a vulnerabilidades · fundamentos de copias de seguridad
- Secretos/autenticación: mantén los secretos fuera de los directorios públicos · qué es 2FA · qué es el phishing
- Última hora: fallo de WordPress 7.1.4 CVE-2026-119977 (RCE en la ventana de actualización, actualizaciones automáticas y comprobación de versión)
- Herramientas: verificador de cabeceras de seguridad · búsqueda de CVE/KEV
Fuentes y alcance
Estas fuentes primarias respaldan los ajustes, el alcance o las medidas anteriores; enlaces comprobados el 23 de octubre de 2026. Revisa sus condiciones de versión y configuración. Las prioridades y lecciones son recomendaciones del sitio, no una revalidación completa ni una garantía de seguridad.