Qué es xmlrpc.php de WordPress y por qué deshabilitarlo
Puede que ya lo sepas. WordPress permite interactuar con otros sitios web y aplicaciones remotas, de manera de poder intercambiar datos y agregar o complementar funciones, y xmlrpc.php o XML-RPC es una de las formas de hacerlo. En los últimos tiempos xmlrpc.php se ha vuelto más una amenaza de seguridad que una solución, así que preparamos esta nota para que consideres deshabilitarlo de forma permanente de tu instalación de WordPress.
Desde luego que los desarrolladores de WordPress ya saben esto, y de a poco están reemplazado xmlrpc.php por Rest API, pero aún así varias funciones y complementos continúan utilizándolo como mecanismo de comunicación, con lo que han decidido dejarlo allí un tiempo más, así que deberemos lidiar otro tramo con ello. Xmlrpc.php suele ser blanco de ataques de anegan el acceso a tu sitio web hecho en WordPress, y es una puerta a la calle, en donde tranquilamente podría haber una pared en su lugar.
¿Sabías que el ataque a xmlrpc.php es uno de los blancos más elegidos por piratas informáticos para atacar sitios web hechos en WordPress?
¿Qué es xmlrpc.php (XML-RPC) en WordPress?
Xmlrpc.php de WordPress es un archivo con extensión .php, que permite realizar tareas remotas por el método conocido como “post” en programación, como por ejemplo, publicar o editar artículos o entradas. Es probable que te preguntes por qué existe tal funcionalidad si WordPress ya tiene un excelente editor dentro de sí. La respuesta es que hace mucho tiempo, cuando comenzó la fiebre de los blogs (y WordPress es todo un pionero en ello), muchas personas escribían sus notas en offline. Esto quiere decir que podían utilizar un procesador de texto para redactar sus entradas, para luego copiar y pegar su contenidos dentro de una aplicación que insertara el contenido de su nuevo posteo en tu WordPress.
Hoy día, si bien WordPress cuenta con un editor muy cómodo y sofisticado, existen complementos como Jetpack que permiten programar la publicación de posts a lo largo del tiempo, moderar comentarios, editar o eliminar posts, o agregar imágenes, utilizando xmlrpc.php como base para hacerlo.
También, apps como la aplicación mobile oficial de WordPress, utilizan xmlrpc.php para funcionar, pero… ¿Quién realiza una publicación de WordPress hoy por hoy desde la app de su teléfono móvil? Y si eres de los que les encanta el mundo mobile, es mejor que utilices el navegador de tu dispositivo para acceder al panel administrador de tu blog. Después de todo, es más seguro, amigable y luce genial.
Origen de xmlrpc.php en WordPress
XML-RPC apareció mucho antes que WordPress para aportar esta funcionalidad a otras plataformas, y luego abrió una rama (entre desarrolladores esto se llama bifurcación del proyecto) para WordPress para fines del año 2003. El código de XML-RPC se almacena en el archivo llamado xmlrpc.php y lo podrás encontrar en el nivel raíz donde se publican los archivos de tu sitio web dentro de tu file manager o administrador de archivos de tu hosting.
En las primeras versiones de WordPress, xmlrpc.php estaba desactivado por defecto, pero esto se invirtió desde la 3.5, donde ya viene habilitada con la razón principal de permitir que la app mobile de WordPress pueda comunicarse con tu sitio web.
Si eres de los viejos usuarios de WordPress y utilizaste su aplicación móvil antes de la versión 3.5, seguramente recuerdes haber tenido que habilitar XML-RPC o xmlrpc.php manualmente en tu site para poder utilizarla. Pues bien, a nivel seguridad es la línea que debería haber seguido.
Cómo deshabilitar xmlrpc.php en tu WordPress
Como ya te mencionábamos en los primeros párrafos, la principal razón para desactivar xmlrpc.php es la seguridad de tu WordPress ya que este permite casi un control remoto total sobre tu sitio web. El problema no es el archivo en sí, sino lo que permite hacer. Entre los exploits más conocidos, está el intento de acceso por fuerza bruta a tu WordPress, y el primero de los síntomás será que tu website o blog comienza a funcionar lento o arrojar errores sin razón. Si te dejas estar, quien está intentando acceder podría averiguar tu contraseña y terminar por ingresar definitivamente; y nada más peligroso que un desconocido con malas intenciones tenga acceso a tu panel de admin.
En resúmen, si estás pensando en generar una contraseña más robusta para evitar problemas, te contamos que es mejor deshabilitarlo ya que, por más cerrojos que le pongas a tu puerta, la puerta seguirá allí. Es decir, la solución para no lidiar con este problema de seguridad es reemplazar esa puerta por una pared. Es decir, deshabilitar xmlrpc.php de tu WordPress.
Por otra parte, los piratas informáticos utilizan la función pingback de WordPress, proporcionada por xmlrpc.php para enviar peticiones a miles de sitios simultáneamente y es ideal para dirigir ataques a otras webs además de la tuya de forma de multiplicar el impacto. Deshabilitando xmlrpc.php, no solamente estarás protegiendo tu web, sino que contribuirás a disminuir la actividad maliciosa en Internet.
¡TIP! En WNPower no debes preocuparte por esto ya que nuestras protecciones y monitoreo deshabilitan xmlrpc.php automáticamente. Con WNPower tu sitio web hecho en WordPress es más veloz y seguro. Descubre un Hosting diferente, con cientos de herramientas y más simple de usar.
Cómo comprobar si xmlrpc.php está habilitado en tu sitio web
Antes de nada, probemos si xmlrpc.php está habilitado en tu sitio web. Podrás hacer esto accediendo desde tu navegador a la URL “https://tudominio.com/xmlrpc.php” (donde “tudominio.com” es tu dominio real). Si luego de acceder desde tu navegador ves una leyenda algo así cómo que el único método soportado es post, pues entonces está habilitado.
Si por el contrario, no estás seguro, y prefieres que una herramienta lo chequee por tí, puedes utilizar este servicio de validación en línea: WordPress XML-RPC Validation Service (¡Tip!: no ingreses tus datos de login). Para más confianza en la herramienta, te dejamos aquí su hoja de Github.
Deshabilitar xmlrpc.php usando un plugin
Si recién comienzas a utilizar tu WordPress, o eres novato y no quieres tocar demasiado dentro de su estructura, puedes instalar un plugin para deshabilitar xmlrpc.php. Entre los plugins disponibles, encontramos Disable XML-RPC. Este complemento permite invisibilizar XML-RPC con solo hacer unos clics.
Deshabilitar xmlrpc.php manualmente con .htaccess
Si por el contrario quieres deshabilitar xmlrpc.php de forma manual editando tu archivo .htaccess, te mostramos aquí cómo hacerlo. A nuestro modo de ver es la forma más nativa y de mantener limpio tu WordPress para no instalar un plugin o complemento para todo.
Casi todos los proveedores de hosting proporcionan un editor de archivos online desde su administrador de archivos dentro de tu panel de control, con lo que te recomendamos utilizar esta herramienta. Si no cuentas con ella y prefieres utilizar FTP, pues adelante. Te mostramos aquí cómo editar tu archivo .htaccess si tienes cPanel en tu hosting actual.
Una vez que hayas abierto el archivo .htaccess, agrega estas líneas al final y guarda los cambios.
<Files xmlrpc.php> order deny,allow deny from all </Files>
Listo. ¡xmlrpc.php ya está deshabilitado en tu sitio de WordPress!
Conclusión final
Xmlrpc.php fue creado para agregar comodidad a WordPress, pero rápidamente se convirtió en una puerta trasera que amenaza la seguridad de tu web. A día de hoy, no es utilizando masivamente, ni tampoco es o fue una función esencial para su funcionamiento, con lo que nuestra recomendación es que lo deshabilites tan pronto como puedas usando estos tips que te hemos pasado.
Si tu sitio web está alojado en WNPower, es bueno que hayas leído esta nota, pero no debes preocuparte por ello pues ya lo hicimos por ti desde que llegaste. 😉
¡Muda tu WordPress con WNPower y ya no te preocupes por la seguridad de tu site!
DesCubre nuestros planes de hosting