Seguridad básica en WordPress sin código: endurecimiento, monitoreo y respuesta

Capítulo 8

Tiempo estimado de lectura: 9 minutos

+ Ejercicio

Qué significa “seguridad básica” en WordPress (sin tocar servidor)

La seguridad básica en WordPress consiste en reducir la superficie de ataque y detectar cambios sospechosos a tiempo, usando ajustes del propio WordPress y plugins. El objetivo no es “blindar al 100%”, sino dificultar ataques comunes (automatizados) y tener un plan claro para responder si algo ocurre.

Amenazas típicas y cómo se ven en la práctica

1) Fuerza bruta (intentos masivos de login)

Robots prueban combinaciones de usuario/contraseña en /wp-login.php o /wp-admin. Señales comunes: picos de intentos fallidos, bloqueo de IPs, lentitud puntual.

2) Plugins vulnerables o desactualizados

Una vulnerabilidad puede permitir desde inyección de código hasta creación de usuarios admin. Suele explotarse de forma automática cuando se publica el fallo.

3) Phishing (robo de credenciales)

Correos o páginas falsas que imitan el acceso de WordPress o del hosting. El atacante no “rompe” nada: entra con tus credenciales reales.

4) Inyecciones vía formularios (contacto, registro, comentarios)

Intentos de colar scripts, enlaces maliciosos o spam; en casos graves, explotación de fallos del plugin del formulario. Señales: envíos masivos, mensajes con URLs raras, picos de spam, quejas de usuarios.

Continúa en nuestra aplicación.
  • Escuche el audio con la pantalla apagada.
  • Obtenga un certificado al finalizar.
  • ¡Más de 5000 cursos para que explores!
O continúa leyendo más abajo...
Download App

Descargar la aplicación

Endurecimiento (hardening) sin código: controles esenciales

Contraseñas fuertes y gestión de credenciales

  • Usa contraseñas largas (mínimo 14–16 caracteres) y únicas por servicio.
  • Usa un gestor de contraseñas (por ejemplo, 1Password, Bitwarden o similar) para evitar reutilización.
  • Evita usuarios obvios como admin o nombres públicos del autor.

2FA (autenticación en dos factores)

Mitiga el phishing y la fuerza bruta: aunque roben la contraseña, falta el segundo factor.

  • Prioriza 2FA con app (TOTP) o llaves de seguridad (FIDO2/WebAuthn) si el plugin lo soporta.
  • Evita SMS si puedes (menos robusto).
  • Guarda códigos de recuperación en un lugar seguro (no en el mismo correo).

Limitar intentos de acceso y bloquear patrones

Reduce el impacto de bots que prueban contraseñas.

  • Activa límite de intentos fallidos (por IP y/o por usuario).
  • Configura bloqueos progresivos (p. ej., 5 intentos → bloqueo 15 min; reincidencia → 1 h).
  • Activa protección para usuarios inexistentes (evita enumeración).

reCAPTCHA o alternativas en formularios (cuando aplique)

Útil si recibes spam o ataques de automatización en formularios de contacto, registro o comentarios.

  • Actívalo solo en puntos de entrada: formularios públicos y, si lo necesitas, en login.
  • Valora alternativas menos intrusivas (hCaptcha, Cloudflare Turnstile) si tu stack lo permite.
  • Evita romper la accesibilidad: prueba el flujo en móvil y con bloqueadores comunes.

Actualización constante (enfoque de seguridad)

Las vulnerabilidades se explotan rápido. La práctica segura es reducir la ventana entre parche y explotación.

  • Activa actualizaciones automáticas donde tenga sentido (por ejemplo, parches menores del core y plugins de confianza).
  • Revisa semanalmente el panel de actualizaciones y el registro del plugin de seguridad.
  • Si un plugin no se actualiza con frecuencia o no responde a fallos, considera reemplazarlo.

XML-RPC: desactivar solo si es necesario

xmlrpc.php permite funciones como publicación remota y algunas integraciones. También se usa en ataques de fuerza bruta amplificada. Desactívalo si no lo necesitas.

  • Si usas la app móvil de WordPress, Jetpack o integraciones antiguas, podrías necesitarlo.
  • Si no lo usas y ves intentos recurrentes, bloquea XML-RPC desde el plugin de seguridad (o desactívalo si el plugin lo permite).

Guía práctica paso a paso: configuración base recomendada (sin servidor)

Paso 1: instala un plugin de seguridad “todo en uno” (uno, no tres)

Elige un plugin principal para firewall/limitación de login/alertas. Evita solapar varios plugins que hagan lo mismo (pueden generar falsos positivos o conflictos).

Paso 2: activa 2FA para administradores y editores

  • Activa 2FA al menos para cuentas con acceso a plugins/temas y gestión de usuarios.
  • Obliga 2FA (si el plugin lo permite) para roles críticos.
  • Genera y guarda códigos de recuperación.

Paso 3: configura limitación de intentos y protección del login

  • Define umbral de intentos fallidos y bloqueos progresivos.
  • Activa notificaciones por bloqueos repetidos.
  • Si tu plugin lo ofrece, habilita “ocultar mensajes de error” (no revelar si el usuario existe).

Paso 4: protege formularios públicos

  • Identifica tus puntos de entrada: contacto, registro, comentarios, newsletter.
  • Activa reCAPTCHA/Turnstile/hCaptcha en esos formularios.
  • Activa filtros anti-spam del propio plugin de formularios si existen.

Paso 5: activa un escaneo básico y endurecimiento seguro

  • Activa escaneo de malware/archivos (si el plugin lo incluye) con frecuencia razonable (diaria o semanal según tráfico).
  • Activa reglas de endurecimiento “seguras” (por ejemplo: bloquear ejecución de PHP en carpetas de subidas si el plugin lo ofrece y no rompe tu sitio).
  • Evita opciones agresivas sin entender impacto (por ejemplo, bloquear REST API globalmente puede romper el editor o integraciones).

Paso 6: configura alertas útiles (no ruido)

  • Alertas por: inicio de sesión de administrador, cambios de archivos, creación de usuarios, cambios de plugins, intentos de login masivos.
  • Envía alertas a un correo que revises y, si es posible, a un canal secundario (según plugin).
  • Reduce alertas de bajo valor para evitar “fatiga de notificaciones”.

Criterios para seleccionar plugins de seguridad (sin repetir evaluación general)

CriterioQué buscarPor qué importa
Funciones mínimas2FA, limitación de login, firewall/reglas, escaneo o integridad de archivos, alertasCubre el 80% de ataques comunes sin depender de servidor
Calidad de alertasAlertas configurables, con detalle (usuario, IP, hora, acción)Permite responder rápido y con evidencia
CompatibilidadCompatible con tu hosting, caché, CDN, y plugins clave (formularios, e-commerce)Evita bloqueos a usuarios legítimos
Actualizaciones y soporteActualizaciones frecuentes y documentación claraLa seguridad depende de parches y respuesta a incidentes
Impacto en rendimientoOpciones para programar escaneos y limitar recursosEvita ralentizaciones y falsos positivos

Monitoreo: qué revisar y con qué frecuencia

Alertas de cambios (integridad)

Activa monitoreo de cambios en archivos y en acciones críticas. Lo importante es detectar cambios inesperados fuera de tus ventanas de mantenimiento.

  • Revisa alertas de: archivos modificados en wp-content, creación de nuevos PHP en subidas, cambios en .htaccess (si aplica), cambios de plugins/temas.
  • Si haces cambios planificados, anota fecha/hora para distinguirlos de cambios sospechosos.

Revisión de logs del plugin de seguridad

Dedica 10–15 minutos semanales a revisar eventos.

  • Busca patrones: muchas IPs intentando el mismo usuario, picos de 404 en rutas raras, bloqueos repetidos en xmlrpc.php.
  • Revisa inicios de sesión de administradores: horas inusuales, países/ubicaciones inesperadas (si el plugin lo muestra).

Señales típicas de compromiso

  • Usuarios admin nuevos o cambios de rol no autorizados.
  • Redirecciones extrañas, pop-ups, o enlaces salientes no añadidos por ti.
  • Archivos PHP nuevos en wp-content/uploads o nombres aleatorios.
  • Envío de spam desde el sitio o caída de reputación (correo).
  • Alertas de integridad: archivos del core modificados.
  • Rendimiento degradado sin causa (posible minería o backdoor).

Plan de respuesta ante incidentes (sin pánico, con orden)

Objetivo del plan

Contener (evitar más daño), recuperar (volver a un estado limpio) y aprender (cerrar la puerta que se usó).

Checklist paso a paso

1) Aislar

  • Si el sitio está sirviendo malware o redirigiendo: activa modo mantenimiento o desactiva temporalmente el sitio (según tus opciones) para proteger a visitantes.
  • Si sospechas de una cuenta: bloquea o deshabilita el usuario inmediatamente.
  • Si el plugin de seguridad permite “bloqueo de emergencia” del login o reglas más estrictas, actívalas temporalmente.

2) Cambiar credenciales (en este orden)

  • Contraseñas de administradores de WordPress (todas las cuentas con privilegios altos).
  • Contraseña del hosting/panel y del FTP/SFTP (si aplica).
  • Contraseñas de base de datos (si tu proveedor lo permite sin romper el sitio o con guía).
  • Claves/API de servicios conectados (correo transaccional, pasarelas, integraciones).

Activa o refuerza 2FA después del cambio de contraseñas para evitar re-compromiso.

3) Identificar el punto de entrada

  • Revisa logs del plugin: primer evento sospechoso, usuario/IP, archivo modificado.
  • Revisa si hubo actualización pendiente de un plugin relacionado con el incidente.
  • Busca usuarios creados recientemente y cambios de rol.

4) Restaurar desde una copia limpia (si hay dudas)

  • Si no estás 100% seguro de haber limpiado, restaura una copia anterior al primer indicio.
  • Tras restaurar: actualiza inmediatamente y cambia credenciales (si no lo hiciste).
  • Verifica que la copia sea “limpia”: revisa que no existan usuarios extraños y que el sitio no redirija.

5) Actualizar y parchear

  • Actualiza core, plugins y tema a versiones seguras.
  • Elimina plugins no usados o sospechosos.
  • Si el incidente se originó en un plugin, considera reemplazarlo por una alternativa mantenida.

6) Revisar usuarios y reforzar controles

  • Lista usuarios con roles altos y valida que cada uno sea necesario.
  • Revoca accesos antiguos (colaboradores que ya no trabajan).
  • Activa/obliga 2FA para roles críticos.
  • Revisa ajustes de limitación de intentos, CAPTCHA y XML-RPC según lo observado en logs.

7) Verificación posterior

  • Ejecuta escaneo completo del plugin de seguridad.
  • Comprueba manualmente páginas clave (home, checkout si aplica, formularios) y busca redirecciones.
  • Monitorea alertas con mayor atención durante 48–72 horas.

Mini-escenarios: qué harías en 3 casos comunes

Escenario A: picos de intentos de login

  • Activa/ajusta limitación de intentos y bloqueos progresivos.
  • Activa 2FA para admins.
  • Considera CAPTCHA en login si el ataque persiste.
  • Revisa si el usuario objetivo existe; si es un nombre público, cambia a uno menos predecible (creando un nuevo usuario admin y degradando el anterior, si procede).

Escenario B: aparece un admin que nadie creó

  • Aisla: deshabilita ese usuario y fuerza cierre de sesiones (si el plugin lo permite).
  • Cambia credenciales (WordPress + hosting).
  • Revisa logs para ver desde dónde se creó y qué plugin/archivo cambió.
  • Restaura desde copia limpia si hay indicios de backdoor.

Escenario C: spam masivo desde formularios

  • Activa CAPTCHA/Turnstile en el formulario afectado.
  • Activa reglas anti-spam del plugin de formularios y limita envíos por IP si está disponible.
  • Revisa si el plugin del formulario tiene actualizaciones de seguridad pendientes.

Ahora responde el ejercicio sobre el contenido:

Ante un pico de intentos fallidos de inicio de sesión en WordPress, ¿qué combinación de medidas es más adecuada para reducir el impacto de bots y mejorar la seguridad del acceso sin tocar el servidor?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

La limitación de intentos y los bloqueos progresivos frenan ataques automatizados; el 2FA protege incluso si se roba la contraseña; y el CAPTCHA puede ayudar si el abuso continúa, todo desde ajustes y plugins.

Siguiente capítulo

Copias de seguridad y restauración: estrategia práctica para un sitio WordPress sano

Arrow Right Icon
Portada de libro electrónico gratuitaWordPress sin código: estructura, temas, plugins y mantenimiento básico
73%

WordPress sin código: estructura, temas, plugins y mantenimiento básico

Nuevo curso

11 páginas

Descarga la aplicación para obtener una certificación gratuita y escuchar cursos en segundo plano, incluso con la pantalla apagada.