Seguridad Básica

Refuerza tu sitio WordPress con protección de acceso, bloqueo de XML-RPC, cabeceras de seguridad y más.

Descripción general

Seguridad Básica es un servicio gratuito incluido en todos los planes de RakuWP. Agrupa seis medidas esenciales de protección que defienden tu sitio WordPress contra los vectores de ataque más comunes: escaneos de fuerza bruta, abuso de XML-RPC, clickjacking, MIME sniffing y filtración de información.

Todas las funciones se pueden activar de forma independiente desde el panel de WordPress o desde el panel de RakuWP. No se requiere configuración del servidor.

Primeros pasos

  1. Ve a RakuWP > Servicios en tu panel de WordPress y activa el servicio Seguridad Básica.
  2. La página de configuración de Seguridad Básica aparecerá en el menú de RakuWP.
  3. Activa cada protección individualmente según las necesidades de tu sitio.
  4. También puedes gestionar todos los ajustes desde la pestaña Seguridad en el panel de RakuWP.

URL de acceso personalizada

Por defecto, todos los sitios WordPress usan /wp-login.php como página de inicio de sesión. Esta ruta conocida es constantemente atacada por bots automatizados que intentan ataques de fuerza bruta.

Al activar esta función, wp-login.php se traslada a un slug personalizado de tu elección (por ejemplo, /mi-acceso-secreto). Cualquier petición a la ruta original /wp-login.php o /wp-admin desde un visitante no autenticado devolverá una página 404, ocultando eficazmente tu página de acceso de los escáneres.

Cómo configurar

  1. Activa Activar URL de acceso personalizada.
  2. Introduce un slug en el campo de texto (solo letras, números y guiones).
  3. Haz clic en Guardar. Tu nueva página de acceso se activa inmediatamente.

Importante: Guarda tu nueva URL de acceso en los marcadores. Si la olvidas, puedes desactivar el plugin RakuWP por FTP o WP-CLI para restaurar la ruta de acceso predeterminada.

Desactivar XML-RPC

XML-RPC (xmlrpc.php) es una API heredada anterior a la API REST de WordPress. Fue diseñada originalmente para permitir que aplicaciones externas (como la app móvil de WordPress, Jetpack y los sistemas de pingback/trackback) se comunicaran con tu sitio por HTTP.

Por qué desactivarlo

  • Amplificación de fuerza bruta: El método system.multicall de XML-RPC permite a los atacantes probar cientos de combinaciones de usuario y contraseña en una sola petición HTTP, eludiendo las protecciones de límite de velocidad que solo cuentan peticiones individuales.
  • Amplificación DDoS: La función de pingback puede ser explotada para lanzar ataques de denegación de servicio distribuido usando tu servidor como intermediario.
  • Superficie de ataque innecesaria: Desde WordPress 4.7, la API REST maneja todo lo que necesitan la app móvil y los plugins modernos. Mantener XML-RPC activado añade un punto de entrada sin uso.

Cuándo dejarlo activado

Solo deja XML-RPC activo si dependes de una herramienta que lo requiera específicamente, como versiones antiguas de la app móvil de WordPress (antes de la compatibilidad con la API REST) o plugins heredados que no han migrado a la API REST.

Ocultar versión de WordPress

WordPress expone su número de versión en varios lugares: la etiqueta <meta name="generator"> en tu HTML, las cabeceras de feeds RSS y las cadenas de consulta añadidas a los archivos CSS y JavaScript encolados (por ejemplo, ?ver=6.5.2).

Los atacantes usan esta información para identificar sitios con versiones desactualizadas que tienen vulnerabilidades conocidas. Activar esta opción elimina la cadena de versión de todas estas ubicaciones, dificultando que los escáneres automatizados perfilar tu sitio.

Cabeceras de seguridad

Las cabeceras de seguridad HTTP son encabezados de respuesta que indican al navegador del visitante activar protecciones integradas. Cuando esta función está activada, las siguientes cabeceras se añaden a cada respuesta que envía tu sitio:

X-Content-Type-Options

Valor predeterminado: nosniff

Impide que el navegador realice detección de tipo MIME. Sin esta cabecera, un navegador podría interpretar un archivo como un tipo de contenido diferente al declarado (por ejemplo, tratar un archivo de texto como JavaScript ejecutable). Establecerlo en nosniff obliga al navegador a confiar en la cabecera Content-Type, bloqueando una clase de ataques donde archivos maliciosos se disfrazan como tipos seguros.

X-Frame-Options

Valor predeterminado: SAMEORIGIN

Controla si tu sitio puede incrustarse dentro de un <iframe> en otro dominio. Los ataques de clickjacking funcionan superponiendo tu sitio en un marco transparente sobre una página maliciosa, engañando a los usuarios para que hagan clic en botones que no pueden ver. SAMEORIGIN permite que tu propio sitio use iframes (para vistas previas, páginas de administración, etc.) mientras bloquea todos los dominios externos de incrustar tu contenido.

Strict-Transport-Security (HSTS)

Valor predeterminado: max-age=31536000; includeSubDomains

Indica al navegador que solo se conecte a tu sitio mediante HTTPS durante la duración especificada (31536000 segundos = un año). Después de la primera visita, el navegador convertirá automáticamente cualquier enlace HTTP a HTTPS, previniendo ataques de intermediario que podrían interceptar datos durante una conexión no cifrada. La directiva includeSubDomains extiende esta protección a todos los subdominios.

Referrer-Policy

Valor predeterminado: strict-origin-when-cross-origin

Determina cuánta información del referente (la URL de la página de donde viene el visitante) se comparte al navegar a otro sitio. strict-origin-when-cross-origin envía la URL completa para peticiones del mismo origen, solo el origen (dominio) para peticiones de origen cruzado sobre HTTPS, y nada si el destino es HTTP. Esto protege las rutas privadas y los parámetros de consulta de filtrarse a terceros.

Permissions-Policy

Valor predeterminado: geolocation=(), microphone=(), camera=()

Restringe qué APIs del navegador puede usar tu sitio. La configuración predeterminada desactiva el acceso a la geolocalización, el micrófono y la cámara para todos los contextos (incluidos los iframes incrustados). Esto impide que scripts maliciosos o contenidos incrustados de terceros soliciten silenciosamente acceso a funciones sensibles del dispositivo. Puedes personalizar la política para permitir orígenes específicos si tu sitio usa legítimamente estas APIs.

Personalizar los valores

Cada valor de cabecera se puede editar desde la configuración de Seguridad Básica. Tras activar Activar cabeceras de seguridad, los campos individuales aparecen con sus valores predeterminados. Modifica cualquier valor y haz clic en Guardar cabeceras para aplicar los cambios.

Desactivar editor de archivos

WordPress incluye un editor de código integrado (Apariencia > Editor de archivos del tema y Plugins > Editor de archivos del plugin) que permite a los administradores modificar archivos PHP directamente desde el navegador. Aunque es conveniente, este editor es un riesgo de seguridad significativo: si un atacante obtiene acceso de administrador, puede inyectar código malicioso en los archivos de tu tema o plugins sin necesitar acceso FTP o SSH.

Activar esta opción establece la constante DISALLOW_FILE_EDIT en true, lo que elimina las páginas del editor del panel de WordPress por completo. Puedes seguir editando archivos mediante FTP, SSH o el administrador de archivos de tu hosting.

Desactivar listado de directorios

Cuando el listado de directorios está activado en tu servidor web, visitar una URL como https://tusitio.com/wp-content/uploads/ muestra un índice navegable de todos los archivos de esa carpeta. Esto permite a cualquiera descubrir archivos subidos, nombres de plugins, estructuras de temas y otra información sensible.

Activar esta opción añade la directiva Options -Indexes a tu archivo .htaccess, que indica a Apache devolver una respuesta 403 Prohibido en lugar de listar el contenido del directorio. Esta es una medida de protección estándar recomendada por WordPress y todas las principales herramientas de auditoría de seguridad.

Nota: Esta función solo aplica a servidores Apache. Si usas Nginx, el listado de directorios debe configurarse en tu bloque de servidor (autoindex off;).

Gestión desde el panel

Todos los ajustes de Seguridad Básica se pueden gestionar de forma remota desde la pestaña Seguridad en la página de detalle de cualquier sitio en el panel de RakuWP. Los cambios se aplican instantáneamente al sitio WordPress mediante la API REST. Esto es especialmente conveniente cuando gestionas múltiples sitios, ya que puedes revisar y configurar los ajustes de seguridad sin necesidad de iniciar sesión en cada panel de WordPress individualmente.