Si tienes un sitio en WordPress, es muy probable que tengas una puerta trasera abierta a posibles ataques sin siquiera saberlo. Se llama XML-RPC, una funcionalidad heredada que, aunque en su día fue útil, hoy representa uno de los mayores vectores de ataque para webs construidas con este CMS. En esta guía definitiva, te explicaremos todo lo que necesitas saber sobre XML-RPC, por qué es un riesgo para tu seguridad y, lo más importante, te mostraremos paso a paso cómo desactivar XML-RPC en WordPress para blindar tu sitio web de forma efectiva.
¿Qué es Exactamente el Fichero XML-RPC en WordPress?
Para entender por qué es tan crucial desactivar esta función, primero debemos comprender qué es y para qué servía. XML-RPC es una especificación que permite la comunicación remota entre diferentes sistemas a través de internet. En el contexto de WordPress, es una API (Interfaz de Programación de Aplicaciones) que fue diseñada para un propósito muy concreto: permitir la gestión de tu web a distancia.
Según explica el equipo de expertos en hosting de Webempresa, su origen se remonta a una época en la que las conexiones a internet eran lentas y poco fiables. XML-RPC permitía a los usuarios escribir y editar publicaciones en una aplicación de escritorio y luego subirlas a su sitio WordPress. También fue el motor detrás de las primeras versiones de la aplicación móvil de WordPress y de funcionalidades como los pingbacks y trackbacks.
Dato crucial: Desde la versión 3.5 de WordPress, el protocolo XML-RPC viene activado por defecto en todas las instalaciones nuevas. Esto significa que si no has tomado medidas activas para desactivarlo, tu sitio es potencialmente vulnerable.
¿Por qué XML-RPC es un Riesgo de Seguridad tan Grande?
Aunque su intención original era buena, la tecnología ha avanzado y XML-RPC se ha quedado obsoleto y, peor aún, inseguro. Las principales vulnerabilidades son:
- Ataques de Fuerza Bruta Amplificados: A diferencia de la página de login normal, que requiere una petición por cada intento de contraseña, la función
system.multicallde XML-RPC permite a un atacante probar cientos o miles de combinaciones de usuario y contraseña en una sola petición HTTP. Esto hace que los ataques de fuerza bruta sean increíblemente eficientes y difíciles de detectar por las herramientas de seguridad convencionales. - Ataques de Denegación de Servicio (DDoS): Los atacantes pueden explotar la funcionalidad de pingbacks de XML-RPC para lanzar ataques DDoS. Envían miles de pingbacks desde tu sitio a un sitio objetivo, usando tu servidor como parte de una red de bots (botnet) sin tu conocimiento, tal y como advierten desde la base de conocimientos de Grupo Infocomercial.
- Comunicación Insegura: Una de las fallas fundamentales, como se detalla en este análisis de Webempresa, es que el servicio utiliza por defecto el protocolo HTTP. Esto significa que las peticiones, que pueden incluir comandos para crear o editar contenido (
wp.newPost,wp.editPost), viajan sin encriptar, exponiendo tu web a todo tipo de actores maliciosos.
¿Todavía Necesito XML-RPC en mi Web?
La respuesta corta es: probablemente no. La mayoría de las funcionalidades que dependían de XML-RPC han sido reemplazadas por una tecnología mucho más moderna, segura y robusta: la API REST de WordPress.
La API REST es el futuro de la comunicación remota con WordPress y ya es utilizada por la mayoría de las aplicaciones y servicios modernos, incluyendo el editor de bloques (Gutenberg) y las versiones más recientes de la app móvil de WordPress y el plugin Jetpack. De hecho, se prevé que en futuras versiones de WordPress, XML-RPC desaparezca por completo una vez que la transición a la API REST esté totalmente consolidada.
Mantener XML-RPC activo hoy en día es como dejar una puerta antigua con una cerradura fácil de forzar en tu casa, a pesar de haber instalado una puerta acorazada de última generación justo al lado.
Cómo Comprobar si XML-RPC está Activo en tu WordPress
Antes de proceder a la desactivación, es una buena idea confirmar que está activo. El método más sencillo es utilizar una herramienta online gratuita. Busca en Google «XML-RPC Validator» y encontrarás varias opciones.
Un método manual y rápido es simplemente navegar a la siguiente URL en tu navegador, reemplazando `tudominio.com` con tu propio dominio:
https://tudominio.com/xmlrpc.php
Si recibes un mensaje que dice «XML-RPC server accepts POST requests only.», significa que el archivo está accesible y la funcionalidad está activa.
Guía Paso a Paso: Métodos para Desactivar XML-RPC en WordPress
Ahora que entendemos la urgencia, vamos a ver los métodos más efectivos para cerrar esta brecha de seguridad. Te presentamos desde la opción más sencilla para principiantes hasta el método más robusto recomendado por expertos.
Método 1: Usar un Plugin (La Opción Más Fácil)
Si no te sientes cómodo editando archivos de código, la forma más rápida y segura de empezar es usando un plugin. Existen plugins diseñados específicamente para esta tarea.
Uno de los más populares y sencillos es Disable XML-RPC-API. Su funcionamiento es tan simple como:
- Ve a tu panel de WordPress: Plugins > Añadir nuevo.
- Busca «Disable XML-RPC-API».
- Haz clic en Instalar ahora y luego en Activar.
¡Eso es todo! El plugin se encarga de todo el proceso de forma automática. Además, muchos plugins de seguridad todo-en-uno como Wordfence Security o iThemes Security incluyen una opción en su configuración para desactivar XML-RPC con un solo clic.
Método 2: Desactivación por Código (La Opción Recomendada y Definitiva)
Aunque los plugins son útiles, la forma más eficiente y segura de desactivar XML-RPC es hacerlo directamente a nivel de servidor. Este método evita cargar un plugin extra y garantiza un bloqueo completo. Consta de dos pasos cruciales, como se detalla en la guía de prevención de ataques de Grupo Infocomercial.
¡Atención! Antes de editar cualquier archivo del núcleo de tu web como .htaccess o wp-config.php, es absolutamente esencial que hagas una copia de seguridad completa de tu sitio y de estos archivos en particular. Un error en el código podría hacer que tu web deje de funcionar.
Paso 1: Deshabilitar la funcionalidad desde WordPress
El primer paso es añadir una línea de código a tu archivo wp-config.php. Este archivo se encuentra en el directorio raíz de tu instalación de WordPress. Puedes acceder a él a través del Administrador de Archivos de tu cPanel o mediante un cliente FTP (como FileZilla).
Abre el archivo wp-config.php y añade la siguiente línea de código, preferiblemente justo antes de la línea que dice /* ¡Eso es todo, deja de editar! Feliz blogging. */:
add_filter('xmlrpc_enabled', '__return_false');Este filtro le dice a WordPress que deshabilite completamente la funcionalidad XML-RPC. Guarda los cambios y sube el archivo de nuevo a tu servidor.
Paso 2: Bloquear el acceso directo al archivo `xmlrpc.php`
El primer paso desactiva la mayoría de las funciones, pero el archivo xmlrpc.php sigue siendo accesible. Los bots y atacantes seguirán golpeando esta URL, consumiendo recursos de tu servidor. Para un bloqueo total, debemos denegar el acceso al archivo a través del fichero .htaccess.
El archivo .htaccess también se encuentra en el directorio raíz de tu WordPress. Ábrelo y añade el siguiente bloque de código:
# Bloquear el acceso a xmlrpc.php
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>Este código le indica a tu servidor Apache que bloquee todas las solicitudes externas que intenten acceder directamente al archivo xmlrpc.php. Guarda los cambios. Ahora, si intentas acceder a tudominio.com/xmlrpc.php, deberías ver un error 403 (Prohibido), confirmando que el bloqueo es exitoso.
Pasos Adicionales para un Blindaje Completo
Para asegurarte de que no queda ningún cabo suelto, hay una configuración adicional que deberías revisar en tu panel de WordPress, ya que también depende de XML-RPC.
Buena práctica de seguridad: Desactivar los Pingbacks y Trackbacks no solo refuerza el bloqueo de XML-RPC, sino que también te protege contra el spam de comentarios y el consumo innecesario de recursos.
Desactivar Pingbacks y Trackbacks desde el Panel
Como mencionamos, estas funcionalidades utilizan XML-RPC para comunicarse entre blogs. Para desactivarlas, sigue estos sencillos pasos que también recomienda la documentación de Grupo Infocomercial:
- En tu panel de WordPress, ve a Ajustes > Comentarios.
- Busca la sección «Ajustes de entradas por defecto».
- Desmarca las dos siguientes casillas:
- «Tratar de avisar a los sitios enlazados desde el artículo».
- «Permitir notificaciones de enlaces de otros blogs (pingbacks y trackbacks) en los nuevos artículos».
- Guarda los cambios.
Conclusión: ¿Por Qué Desactivar XML-RPC es una Decisión Inteligente?
En el panorama digital actual, la seguridad web no es una opción, es una necesidad. Desactivar XML-RPC en WordPress es una de las acciones más simples y con mayor impacto que puedes tomar para proteger tu sitio.
Al hacerlo, no solo cierras una puerta de entrada común para ataques de fuerza bruta y DDoS, sino que también optimizas ligeramente el rendimiento de tu servidor al evitar que los bots maliciosos consuman recursos intentando acceder al archivo xmlrpc.php. Dado que su funcionalidad ha sido superada por la API REST de WordPress, mantenerlo activo hoy en día ofrece muy pocos beneficios y expone tu proyecto a riesgos innecesarios.
No esperes a ser víctima de un ataque. Sigue los pasos de esta guía, elige el método que mejor se adapte a tu nivel técnico y asegura tu sitio web hoy mismo. Tu tranquilidad y la seguridad de tus usuarios te lo agradecerán.
¿Necesitas ayuda con esto?
Blindamos tu WordPress contra ataques: auditoría de seguridad, hardening completo y monitorización continua. Descubre nuestro servicio de seguridad y hardening WordPress.
