El archivo xmlrpc.php ha sido durante mucho tiempo un punto vulnerable en WordPress, utilizado como puerta de entrada por ciberdelincuentes para ejecutar ataques de fuerza bruta y DDoS. Aunque en sus inicios era una herramienta útil para conectar WordPress con servicios externos, hoy en día su uso ha quedado prácticamente obsoleto y, en la mayoría de los casos, mantenerlo activo solo supone un riesgo de seguridad innecesario.
A continuación, se analiza qué es el archivo xmlrpc.php, para qué sirve, los riesgos de mantenerlo habilitado y cómo desactivarlo de manera segura en tu sitio web.
¿Qué es xmlrpc.php en WordPress?
El archivo xmlrpc.php es una funcionalidad incorporada en WordPress desde sus primeras versiones para permitir la comunicación remota con la plataforma a través del protocolo XML-RPC (Extensible Markup Language Remote Procedure Call).
Este protocolo permite que aplicaciones externas, como clientes de blogs o aplicaciones móviles, interactúen con WordPress sin necesidad de acceder directamente al panel de administración.
Algunas funciones que proporciona XML-RPC incluyen:
✅ Publicación de contenido desde aplicaciones externas.
✅ Conexión con servicios de terceros como Jetpack.
✅ Sincronización de publicaciones con otros gestores de contenido.
Aunque en su momento fue útil, la realidad es que XML-RPC ha sido sustituido por la API REST de WordPress, una alternativa más moderna y segura.
Los peligros de tener xmlrpc.php habilitado
Si bien xmlrpc.php fue diseñado para facilitar la administración remota de WordPress, su estructura ha sido explotada por ciberdelincuentes para realizar ataques maliciosos. A continuación, se presentan las principales amenazas de mantenerlo activado:
1. Ataques de fuerza bruta a través de XML-RPC
Los ataques de fuerza bruta son una de las amenazas más comunes en WordPress. Consisten en probar múltiples combinaciones de usuario y contraseña hasta encontrar la correcta.
El problema con XML-RPC es que permite enviar múltiples intentos de inicio de sesión en una sola solicitud, lo que facilita a los atacantes automatizar el proceso sin ser detectados por los sistemas de seguridad estándar.
Ejemplo: En lugar de probar una contraseña a la vez, los ciberdelincuentes pueden enviar cientos de intentos en una sola petición XML-RPC, logrando un ataque mucho más eficiente que los métodos tradicionales.
2. Ataques DDoS mediante XML-RPC
El archivo xmlrpc.php también es utilizado en ataques de Denegación de Servicio Distribuido (DDoS). En este tipo de ataques, los ciberdelincuentes envían un gran número de solicitudes al servidor mediante XML-RPC, sobrecargándolo hasta que deja de responder y colapsa.
El método más común es el Pingback Attack, donde los atacantes utilizan sitios de WordPress con XML-RPC activado para amplificar su ataque contra otro sitio web.
3. Exposición innecesaria del servidor
Cada funcionalidad expuesta en una página web representa un posible punto de ataque. Si no utilizas XML-RPC, lo más seguro es desactivarlo completamente para reducir la superficie de ataque de tu sitio web.
XML-RPC en la actualidad: ¿Por qué sigue activo?
A pesar de sus riesgos, algunas herramientas y servicios aún requieren XML-RPC para funcionar. Entre los principales casos en los que puede ser necesario están:
🔹 Jetpack: Algunas funciones de este plugin, como la monitorización del sitio, dependen de XML-RPC.
🔹 Publicación remota: Usuarios que gestionan WordPress desde aplicaciones móviles o clientes de blogs.
🔹 Integraciones con herramientas de terceros que no utilizan la API REST.
Si no utilizas ninguna de estas funciones, lo más recomendable es deshabilitar XML-RPC completamente.
Cómo deshabilitar XML-RPC en WordPress
Si decides que no necesitas XML-RPC en tu WordPress, hay varias formas de deshabilitarlo de manera segura.
1. Deshabilitar XML-RPC con un plugin
La forma más sencilla de desactivar XML-RPC es mediante un plugin de seguridad. Algunas opciones populares incluyen:
🔹 Disable XML-RPC-API – Desactiva completamente xmlrpc.php con un solo clic.
🔹 Perfmatters – Plugin de optimización que también permite desactivar XML-RPC.
🔹 Wordfence, iThemes Security o Sucuri – Suites de seguridad que incluyen opciones para bloquear XML-RPC.
2. Deshabilitar XML-RPC mediante .htaccess
Si prefieres no instalar plugins adicionales, puedes bloquear el acceso al archivo xmlrpc.php editando el archivo .htaccess de tu servidor.
Pasos para editar .htaccess:
1️⃣ Accede a tu sitio web mediante FTP o el administrador de archivos de tu hosting.
2️⃣ Localiza el archivo .htaccess en la carpeta raíz de WordPress.
3️⃣ Agrega el siguiente código al final del archivo:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
4️⃣ Guarda los cambios y verifica que xmlrpc.php ya no sea accesible.
3. Deshabilitar XML-RPC desde functions.php
Otra opción para desactivar XML-RPC es agregando una línea de código en el archivo functions.php de tu tema:
1️⃣ Entra en el panel de administración de WordPress.
2️⃣ Ve a Apariencia > Editor de temas.
3️⃣ Abre el archivo functions.php de tu tema activo.
4️⃣ Agrega este código al final del archivo:
add_filter('xmlrpc_enabled', '__return_false');
Este método es efectivo, pero puede perderse si cambias de tema o actualizas el archivo functions.php.
¿Cómo comprobar si XML-RPC está habilitado?
Para verificar si el archivo xmlrpc.php sigue activo en tu sitio web, puedes hacer lo siguiente:
🔹 Prueba manual:
1️⃣ Abre tu navegador y escribe la siguiente URL:
http://tuwordpress.com/xmlrpc.php
2️⃣ Si ves el mensaje «XML-RPC server accepts POST requests only», significa que sigue habilitado.
3️⃣ Si el archivo ha sido deshabilitado correctamente, obtendrás un error 403 (Acceso denegado) o una página en blanco.
🔹 Usar una herramienta en línea:
Existen herramientas como XML-RPC Validator que te permiten comprobar el estado de XML-RPC en tu web.
Conclusión: Desactiva XML-RPC si no lo necesitas
El archivo xmlrpc.php es un punto débil en la seguridad de WordPress. Si bien su propósito original era permitir conexiones remotas, la realidad es que hoy en día ha sido reemplazado por la API REST, que es más segura y eficiente.
Si no utilizas Jetpack, publicación remota o herramientas externas que dependan de XML-RPC, lo mejor que puedes hacer es deshabilitarlo por completo. Con esto evitarás ataques de fuerza bruta, ataques DDoS y reducirás la exposición de tu sitio a amenazas externas.
Siguiendo los métodos explicados en este artículo, podrás desactivar XML-RPC de forma segura y mejorar significativamente la protección de tu WordPress.