Cómo desactivar xmlrpc.php para mejorar la seguridad de WordPress

Hemos recorrido el camino desde que se lanzó WordPress. En aquel entonces, la característica llamada XML-RPC era extremadamente útil. En una época con una velocidad de Internet lenta y retrasos constantes, era difícil escribir contenido en línea en tiempo real, como lo hacemos ahora.

La función XML-RPC permitía a los usuarios escribir su contenido fuera de línea, digamos en Microsoft Word, y luego publicarlo todo junto de una sola vez. Pero quizás no sabías que debías desactivar XMLRPC en tu sitio web de WordPress.

Hoy en día, con una mayor velocidad de Internet, la función XML-RPC se ha vuelto redundante para la mayoría de los usuarios. Todavía existe porque la aplicación de WordPress y algunos plugins como JetPack utilizan esta función.

Si no usas ninguno de estos plugins, aplicaciones para móviles o conexiones remotas, es mejor desactivarla. ¿Por qué? Cada elemento adicional en su sitio le da a los hackeadores una oportunidad más para tratar de entrar en su sitio. Desactivando la función hace que su sitio sea más seguro.

En este artículo, le mostraremos por qué y cómo deshabilitar XML-RPC.

¿Qué es XML-RPC?

XML-RPC es una característica de WordPress. Permite que un dispositivo remoto como la aplicación WordPress de tu teléfono inteligente envíe datos a tu sitio web de WordPress. Si quieres publicar un artículo en tu sitio web de WordPress a través de la aplicación WordPress, XML-RPC es lo que te permite hacerlo.

Si miras la frase XML-RPC, tiene dos partes. RPC es una llamada de procedimiento a distancia, lo que significa que puedes llamar remotamente para que se realicen acciones. Y aquí, el XML (Lenguaje de Marcado Extensible) se utiliza para codificar los datos que deben ser enviados.

¿Necesitas XML-RPC?

Para decidir si necesitas XMLRPC, primero tienes que entender qué funciones cumple el XMLRPC en tu sitio web de WordPress. El archivo sirve tres funciones principales:

  • Aplicación WordPress – Si utilizas la aplicación WordPress en tu dispositivo móvil para publicar en tu sitio, necesitas XML-RPC. La aplicación utiliza esta función para comunicarse con tu sitio web de WordPress mediante una conexión remota.
  • Trackbacks y pingbacks – Cuando publiques contenido, si has proporcionado un enlace a otro blog o a un sitio web, esta función avisará al otro sitio web de que te has enlazado a ellos. Los trackbacks se crean manualmente mientras que los pingbacks se automatizan. Si utilizas estas opciones, necesitas acceder al archivo XML-RPC.php para estar habilitado.
  • JetPack plugin – JetPack es un plugin popular que es usado por más de 5 millones de sitios de WordPress. Ofrece servicios relacionados con la seguridad, el rendimiento y la gestión del sitio.
  • Utiliza XML-RPC para comunicarse con WordPress.com. Si usted es un suscriptor de JetPack, necesita habilitar XML-RPC.

¿Es peligroso el XML-RPC?

La respuesta directa es no. Pero no podemos detenernos ahí. Demos un paso atrás.

Inicialmente, una instalación manual de WordPress tenía XML-RPC deshabilitado por defecto. Para activarlo, tenías que ir a Configuración > Escritura > Publicación Remota. Sin embargo, a partir de la versión 3.5, WordPress lo tiene activado de forma predeterminada y la opción de activarlo o desactivarlo fue eliminada.

En septiembre de 2015, apareció una vulnerabilidad en la función XML-RPC. WordPress publicó inmediatamente un parche en la versión 4.4.1. Pero millones de sitios web siguen funcionando con versiones anticuadas que los ponen en riesgo potencial de ser hackeados.

XML-RPC es seguro, siempre y cuando se haya instalado la versión 4.4.1 o superior de WordPress.

Entonces, ¿por qué recomendamos desactivarlo?

Los hackers intentan encontrar cualquier elemento en su sitio web que tenga una debilidad. Lo explotan y entran en su sitio. Con XML-RPC, hay dos debilidades que podrían ser explotadas por los hackers:

  1. Cuando quieres publicar contenido desde un dispositivo remoto, se crea una petición XML-RPC. Estas solicitudes se autentican con un simple nombre de usuario y contraseña. Esta es una comprobación de seguridad básica. Si un hacker consigue hacerse con estas credenciales, podría utilizarlas para enviar sus propias solicitudes. De esta manera, obtienen acceso a su sitio.
  2. XML-RPC está diseñado para que los usuarios publiquen contenidos en grandes volúmenes. Esto permite realizar ataques de fuerza bruta en los que los hackers utilizan bots para intentar adivinar su nombre de usuario y contraseña. A través de la función XML-RPC, pueden hacer intentos de acceso enviando grandes cantidades para adivinar sus credenciales.

Por último, si un hacker ya ha accedido a su sitio, puede hacer un mal uso de la función de pingback XML-RPC para realizar ataques DDoS. En un ataque de este tipo, los hackers derriban sitios web (normalmente de grandes marcas o gobiernos) enviando pingbacks desde miles de sitios. Esta repentina oleada de datos que se reciben sobrecarga el servidor web del objetivo y posiblemente puede hacer que el sitio se caiga.

En la sección anterior, mencionamos por qué se necesita XMLRPC. Pero si no estás usando la aplicación móvil de WordPress ni el plugin JetPack y si no encuentras útiles los trackbacks y pingbacks entonces es mejor deshabilitar los archivos xmlrpc.php.

Al deshabilitarlo, te asegurarás de que la característica/función no pueda ser utilizada para piratear tu sitio web de WordPress.

Cómo desactivar XML-RPC en WordPress

Puedes bloquear la función XML-RPC en tu sitio web de WordPress manualmente o puedes usar un plugin. Recomendamos usar un plugin porque es más rápido, más simple y no conlleva ningún riesgo. El método manual implica hacer cambios en tus archivos de WordPress, lo cual siempre es un asunto arriesgado. Dicho esto, te mostraremos ambos métodos.

Deshabilitar XML-RPC usando un plugin

Para bloquear las peticiones de WordPress xmlrpc.php, hay un plugin llamado ‘Disable XML-RPC’ que puedes usar. Es simple y directo. Así es como puedes configurarlo en tu sitio:

  1.  Accede a tu panel de control wp-admin.
  2. En el menú de la izquierda, selecciona “Plugins”.
  3. Aquí, haz clic en “Añadir nuevo”.
  4. Aquí, busca el plugin ‘Disable XML-RPC’. El plugin es compatible con cualquier sitio de WordPress que funcione con la versión 3.5 y superior.
  5. Instalar y activar el plugin. Desactivará automáticamente WordPress xmlrpc.php una vez que actives el plugin.
  6. Si alguna vez quieres habilitar XMLRPC, entonces sólo tienes que desactivar el plugin.

Deshabilitar manualmente el XML-RPC

Como mencionamos anteriormente, el método manual es arriesgado, por lo que es necesario tomar algunas precauciones antes de desactivar XMLRPC en su sitio de WordPress.

  • Haz una copia de seguridad completa de tu sitio de WordPress. En el método manual, estaremos alterando los archivos de WordPress lo cual conlleva un alto riesgo. Pequeños errores pueden terminar rompiendo tu sitio web. Si las cosas salen mal, siempre puedes restaurar tu copia de seguridad.
  • Recomendamos usar un sitio de WordPress en etapas para desactivar manualmente el XML-RPC. Aquí puedes hacer cambios en el sitio de montaje sin afectar a tu sitio en vivo. Una vez que estés seguro de que funciona bien, puedes simplemente empujar el cambio a tu sitio en vivo. Los sitios de escenificación son fáciles de crear con el plugin de BlogVault. Como alternativa, tu anfitrión puede proporcionarte esta opción.

Con estas precauciones manejadas, podemos empezar con el método manual de deshabilitar XML-RPC en tu sitio de WordPress:

1. Entra en tu cuenta de la plataforma de alojamiento de WordPress y ve a ‘cPanel’. Aquí, verás el ‘Administrador de Archivos’.

 

2. Una vez dentro del administrador de archivos, verás una lista de carpetas. Las carpetas de tu sitio web deben estar en la carpeta denominada “public_html”. Tendrá tres carpetas principales: wp-admin, wp-content y wp-includes.

3. Encuentra el archivo ‘htaccess’ aquí. Y si no lo encuentras, puedes usar la barra de búsqueda en la parte superior derecha de la pantalla para buscarlo.

Nota: Si tu sitio web tiene un archivo .htaccess pero no puedes verlo, visita la sección de configuración y haz clic en “mostrar archivos ocultos”.

 

Si tu sitio web no tiene un archivo htaccess, puedes crear uno. Utiliza la opción “+Archivo” en la esquina superior izquierda de la pantalla.

4. Abre el archivo .htaccess haciendo clic con el botón derecho del ratón y eligiendo “Editar”.
5. Pegue el siguiente código que desactiva el XML-RPC en este archivo:

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
 deny from all
 allow from xxx.xxx.xxx.xxx
</Files>

Si desea conservar el XML-RPC de una IP en particular, sustituya “xxx.xxx.xxx.xxx” por su dirección IP, de lo contrario, puede simplemente borrar esta línea.

6. Guarda y cierra el archivo.

No hay acceso al administrador de archivos

Si no tienes acceso al Administrador de Archivos, puedes realizar el mismo proceso usando un cliente FTP. Sigue nuestro tutorial de WordPress sobre el uso de FTP. WordPress XML-RPC debe estar desactivado en tu sitio web. Si usaste un sitio de montaje de WordPress, fusiona los cambios. Si no estás usando un sitio de escenificación, replica los pasos en el sitio en vivo. Te recomendamos que visites tu sitio y compruebes tus páginas para asegurarte de que todo funciona bien.

Conclusión

Recuerda, si eliges usar la función XML-RPC, asegúrate de que tu instalación de WordPress esté actualizada. Necesitas usar la versión 4.4.1 o superior para asegurarte de que tu sitio web no corre el riesgo de ser hackeado.

Si no necesitas la función XML-RPC, al desactivarla, tu sitio será más seguro contra los piratas informáticos. Pero esto no asegura una protección completa de su sitio de WordPress. Incluso si desactiva XML-RPC en WordPress, hay muchas otras formas de piratear su sitio web.

Para proteger tu sitio web de todo tipo de ataques de hackers, te recomendamos que utilices un plugin de seguridad como MalCare. Éste supervisará su sitio web con regularidad y bloqueará proactivamente el acceso de tráfico malicioso. En caso de que se produzca un ataque, puede limpiar rápidamente su sitio y minimizar los daños.

Deja un comentario