📊 Resumen de Protecciones
Vista rápida del estado de cada protección de hardening. Las tarjetas en verde indican protecciones activas; en rojo, las que requieren atención.
🔐 Panel de Administración
Protege el acceso al panel de administración de WordPress cambiando la URL de login y ocultando wp-admin de los atacantes.
🔑 Ocultar URL de Login (wp-admin)
Cambia la URL de inicio de sesión predeterminada (/wp-admin, /wp-login.php) por una URL personalizada que solo tú conoces. Cualquier intento de acceso a la URL original devuelve un error 404, ocultando la existencia de wp-admin.
Slug Personalizado
Elige cualquier slug (ej: mi-login, acceso-admin, backend-seguro). Tu nueva URL de login será https://tusitio.com/mi-login/.
🔁 Redirección Automática
Cuando un usuario autenticado visita /wp-admin/, es redirigido automáticamente a tu slug personalizado sin interrupción.
🚨 URL de Restauración de Emergencia
Si te quedas bloqueado fuera del admin, puedes acceder a una URL de emergencia para desactivar al instante tanto "Ocultar wp-admin" como "Ocultar wp-login.php" y volver al login normal. No es una URL genérica ni adivinable: lleva una clave secreta única y aleatoria de 64 caracteres generada solo para tu sitio, con el formato:
Copia tu URL real (con tu clave real ya incluida) desde la tarjeta "Ocultación del Área de Administración" del propio panel de Hardening, antes de activar cualquiera de las dos protecciones, y guárdala en un lugar seguro. Si alguna vez sospechas que esa URL se ha filtrado, puedes regenerar la clave con el botón "Regenerar" en esa misma tarjeta — la URL antigua deja de funcionar al instante.
🌐 APIs y Servicios
Controla el acceso a los servicios web de WordPress: XML-RPC y REST API. Deshabilitar o restringir estos servicios reduce la superficie de ataque.
📡 XML-RPC
Deshabilitar XML-RPC bloquea aplicaciones móviles, Jetpack, WooCommerce y otros servicios que dependen de este protocolo. Evalúa si tu sitio lo necesita antes de desactivarlo.
🔗 REST API
Restringe el acceso a la REST API solo a usuarios autenticados. Los endpoints públicos quedarán inaccesibles para visitantes anónimos, protegiendo datos de usuarios, posts y configuraciones.
⚠️ Impacto al Deshabilitar XML-RPC
- Aplicaciones móviles: La app oficial de WordPress no podrá conectarse a tu sitio.
- Jetpack: Muchas funcionalidades de Jetpack dejan de funcionar.
- WooCommerce: Algunas pasarelas de pago y extensiones de envío usan XML-RPC.
- Pingbacks/Trackbacks: Se deshabilitan completamente, lo cual es positivo para evitar ataques DDOS.
📁 Archivos y Directorios
Protege los archivos y directorios de tu instalación WordPress contra acceso no autorizado, ejecución de código malicioso y exposición de información sensible.
🚫 Directory Listing
Deshabilita el listado de directorios del servidor mediante la directiva Options -Indexes en .htaccess. Impide que los visitantes vean el contenido de directorios que no tienen un index.php.
🔒 Archivos Sensibles
Bloquea el acceso directo a archivos críticos como wp-config.php, .htaccess, error_log y otros archivos de configuración del sistema.
🚫 PHP en Uploads
Bloquea la ejecución de archivos PHP (.php, .phtml, .php5) dentro del directorio wp-content/uploads/. Previene que atacantes ejecuten shells maliciosas subidas como imágenes.
📄 Archivos Ocultos
Oculta archivos de instalación e información como readme.html, changelog.txt, license.txt y wp-config-sample.php. Estos archivos revelan la versión de WordPress y detalles del sistema.
🌐 Carpetas Externas a WordPress
Cualquier carpeta que viva en la raíz de tu hosting fuera de WordPress se sirve directamente desde el servidor, sin pasar nunca por WordPress ni por el firewall — el firewall no llega a verla. Esta protección hace que esas carpetas queden cubiertas por las mismas defensas que el resto de tu sitio: bloqueo de IPs, rate limiting, geo-bloqueo y modo DDoS.
wp-admin, wp-content y wp-includes) proteger. No conviene activarla en carpetas de mucho tráfico: cada visita pasa por una comprobación de seguridad adicional antes de servir el contenido, igual que el resto de tu sitio, lo que añade una pequeña carga extra al servidor. SeenSecure aplica y revierte esta protección automáticamente: al desactivarla, desactivar el plugin o desinstalarlo, todo vuelve a su estado original sin que tengas que hacer nada.
🗄️ Base de Datos
Protege tu base de datos contra enumeración de usuarios y otros vectores de ataque que exponen información sensible sobre los usuarios registrados.
🚫 Deshabilitar Enumeración de Usuarios
WordPress expone los nombres de usuario a través de URLs como /?author=N. Un atacante puede cambiar el número N (1, 2, 3...) para descubrir todos los nombres de usuario registrados y luego usar esa información para ataques de fuerza bruta.
🔍 Cómo funciona el ataque
El atacante obtiene los nombres de usuario y los usa para ataques de contraseña.
🛡️ Cómo lo bloquea SeenSecure
Devuelve un error 404 cuando se detecta un intento de enumeración por ?author=N o ?author_name=. También bloquea el endpoint de la REST API que expone nombres de usuario.
📡 Proteger Autor en Feeds (RSS/RDF/Atom)
Para qué sirve: además de las URLs ?author=N, hay otra vía de fuga de nombres de usuario que muchos sitios pasan por alto: los feeds RSS, RDF y Atom que WordPress genera automáticamente. Cada entrada del feed muestra el nombre público del autor — y si ese nombre público es idéntico al nombre de usuario con el que se accede al panel, cualquiera que lea el feed obtiene el username real sin necesidad de escanear nada.
Por qué esto facilita la fuerza bruta: un ataque de fuerza bruta necesita dos cosas — un nombre de usuario válido y probar contraseñas contra él. Sin el nombre de usuario, el atacante tendría que adivinar también eso, lo que multiplica el esfuerzo necesario. En cuanto consigue el username real por el feed, ya solo le queda un problema por resolver (la contraseña) en vez de dos, y puede lanzar el ataque directamente contra esa cuenta concreta.
🔍 Cuándo hay riesgo
Solo cuando el «nombre a mostrar públicamente» de una cuenta (Usuarios > Tu Perfil) es idéntico a su nombre de usuario de acceso. Muchos sitios lo dejan así sin darse cuenta, porque es el valor que WordPress rellena por defecto al crear la cuenta.
🛡️ Cómo lo protege SeenSecure
Comprueba, solo dentro de los feeds, si el nombre que se va a mostrar coincide con el username real de esa cuenta. Si coincide, muestra el nombre del sitio en su lugar. Si ya son distintos, no toca nada — el resto del sitio sigue mostrando el nombre de autor con normalidad.
Cómo activarla: SeenSecure > Protecciones > Base de Datos > Proteger Autor en Feeds (RSS/RDF/Atom). Activada por defecto, junto a la protección de ?author=N descrita arriba. Es un interruptor independiente — puedes tener una activada y la otra no, aunque lo recomendable es mantener ambas encendidas.
⚙️ Panel y Archivos
Configura opciones adicionales de hardening para cerrar vectores de ataque comunes relacionados con la exposición de información y la edición no autorizada.
🔍 Ocultar Versión de WordPress
Elimina el meta tag <meta name="generator" content="WordPress X.X" /> del HTML y de los feeds RSS. Los atacantes usan la versión para buscar vulnerabilidades conocidas específicas.
✏️ Deshabilitar Editor de Archivos
Deshabilita el editor de temas y plugins desde el panel de administración. Define la constante DISALLOW_FILE_EDIT como true en wp-config.php. Previene que atacantes con acceso admin modifiquen archivos PHP directamente.
🚫 Instalación de Plugins/Temas
Deshabilita la instalación, actualización y eliminación de plugins y temas desde el panel de administración. Útil en sitios administrados donde los cambios pasan por un proceso controlado.
🔗 Eliminar Meta Tags Generator
Elimina de tu HTML la etiqueta <meta name="generator"> que WordPress inserta automáticamente en <head> y en los feeds RSS con el número de versión exacto.
🔌 Seguridad de APIs
Protege XML-RPC y REST API contra ataques de amplificación DDoS, fuerza bruta y enumeración de usuarios.
🔒 Restringir REST API
Restringe el acceso a la REST API de WordPress solo a usuarios autenticados y controla qué endpoints están permitidos para prevenir reconocimiento.
👤 Deshabilitar REST API Users
Bloquea el endpoint /wp/v2/users para no autenticados, cerrando una vía de reconocimiento usada por atacantes para enumerar usuarios válidos antes de ataques dirigidos.
💬 Comentarios
Protege el sistema de comentarios de WordPress contra spam automatizado y ataques de inyección mediante CAPTCHA inteligente y monitoreo de actividad.
🧩 CAPTCHA para Comentarios
Añade un desafío CAPTCHA en el formulario de comentarios para verificar que el visitante es humano. Disponible en tres modos:
👁️ Visual CAPTCHA
Muestra 4 imágenes (por ejemplo, coche, árbol, casa y flor) y el usuario debe seleccionar la correcta. No requiere escribir texto distorsionado.
🔢 Math CAPTCHA
Presenta una operación matemática simple (ej: 7 + 3 = ?). Fácil para humanos, difícil para bots. No requiere soporte de imágenes.
😀 Emoji CAPTCHA
Pide al usuario que seleccione el emoji correcto de una serie. Experiencia visual moderna y divertida para los visitantes.
📊 Panel de Estadísticas
El sistema muestra estadísticas en tiempo real sobre el rendimiento del CAPTCHA y los intentos de spam bloqueados:
🚫 Bloqueados Hoy
47
Intentos de spam bloqueados en las últimas 24 horas
✅ Tasa de Éxito
98.7%
Porcentaje de comentarios legítimos que pasan el CAPTCHA
📦 Total Bloqueados
12,843
Total de intentos de spam bloqueados desde la activación
Preguntas Frecuentes
Me quedé fuera del panel tras ocultar wp-admin, ¿qué hago? Usa tu URL de Restauración de Emergencia (la que copiaste con tu clave única desde la tarjeta de Ocultación del Área de Administración) — desactiva al instante el ocultamiento para que puedas volver a entrar. Guárdala en un lugar seguro antes de activar la protección, no después: sin ella no hay otra forma de recuperarla salvo acceso directo al servidor.
Un plugin dejó de subir imágenes tras activar "Sin ejecución PHP en subidas" Esa protección impide que se EJECUTEN archivos PHP dentro de la carpeta de subidas, no que se suban archivos normales (imágenes, PDFs, etc.) — si un plugin legítimo deja de subir algo, revisa si intenta subir un formato ejecutable y no un archivo de contenido normal.
¿Puedo activar solo algunas protecciones de esta página y no todas? Sí, cada tarjeta del Resumen de Protecciones se activa/desactiva de forma independiente; no hace falta activarlas todas a la vez.
Desactivé XML-RPC y ahora Jetpack o mi app móvil de WordPress fallan Es el efecto esperado: XML-RPC es el protocolo que usan la app oficial de WordPress, buena parte de Jetpack y algunas pasarelas de pago/envío de WooCommerce. Si necesitas alguna de esas herramientas, vuelve a activarlo.