Inicio - XMLRPC.PHP de WordPress ¿que es y como protegerlo?

XMLRPC.PHP de WordPress ¿que es y como protegerlo?

XMLRPC.PHP de WordPress

Basándome en unas alertas de seguridad que ha dado WordPress últimamente, navegando por la red para investigar el significado de XMLRPC en el funcionamiento de WordPress, me he encontrado con varios artículos, entre ellos uno de Álvaro Fontela de Raiola Networks (decir que es mi hosting) en el que explica perfectamente que es y como protegerse de ataques hacia este fichero de WordPress.

Tal como nos cuentan en su artículo y por el impacto que están teniendo los ataques contra el XMLRPC.PHP de WordPress, nos aclara varios puntos relacionados con este archivo que forma parte de WordPress y nos explica paso a paso como protegerse contra posibles ataques de fuerza bruta y denegación de servicio contra este archivo en una instalación de WordPress.

Muchas instalaciones de WordPress están siendo víctimas de ataques variados de diferentes formas: por un lado están las infecciones de malware o inyecciones de código y por el otro lado están los ataques externos contra algunas partes de WordPress como el archivo xmlrpc.php o el wp-login.php.

En el artículo nos va explicando ciertos aspectos básicos e interesantes sobre el tema, ya que se habla en muchos blogs sobre los ataques al XMLRPC.PHP pero muy pocos saben lo que es el protocolo XMLRPC o la función que hace el archivo XMLRPC.PHP en WordPress y en este caso Álvaro Fontela nos lo explica perfectamente ver artículo completo en Raiola Networks.

De todos modos aquí te lo voy a resumir y a indicarte posibles soluciones.

Índice

Qué es el XMLRPC

El protocolo XMLRPC es un protocolo que utiliza XML para estructurar datos y el protocolo HTTP para la transmisión de esos datos estructurados en XML.
El protocolo XMLRPC fue desarrollado en 1998 por la empresa UserLand Software en colaboración con Microsoft, finalmente Microsoft considero que el protocolo XMLRPC era muy simple y lo convirtió en lo que ahora mismo se llama SOAP.

En WordPress, el protocolo XMLRPC actual como interfaz que actúa como API para aplicaciones externas y que nos permite interactuar con una instalación de WordPress utilizando aplicaciones o servicios externos.

WordPress y el XMLRPC.PHP

En WordPress el protocolo XMLRPC está gestionado por el archivo XMLRPC.PHP que puedes encontrar en la raíz de la instalación de WordPress:

Hasta la versión 3.5 WordPress traía de forma predeterminada el protocolo XMLRPC desactivado, desde la versión 3.5 viene activado por defecto, y ahí está el problema, ya que todas las instalaciones traen el protocolo XMLRPC activado y por defecto son vulnerables a ataques de denegación de servicio y fuerza bruta contra este protocolo.

Vamos a poner varios ejemplos de funciones REALES que hace el protocolo XMLRPC en WordPress

  • El protocolo XMLRPC permite que programas de escritorio como Microsoft Word o Mozilla Thunderbird se comuniquen con nuestra instalación de WordPress.
  • El protocolo XMLRPC permite la comunicación mediante pingbacks y trackbacks con otros blogs u otras instalaciones de WordPress.
  • El protocolo XMLRPC es el que permite que funcionen ciertas funciones del plugin Jetpack para WordPress que tiene comunicación directa con los servidores de Automatic
¿Buscas el mejor hosting para tu web?
Raiola Networks

Ataques al XMLRPC.PHP

Desde hace algún tiempo (desde que el XMLRPC viene activado por defecto en WordPress) los ataques contra el ocurren de forma habitual, el problema es que estos ataques a veces son difíciles de detectar ya que pueden venir desde cientos de direcciones IP al mismo tiempo.

El problema de los ataques al XMLRPC.PHP ya no es solo que puedan encontrar la contraseña y entrar mediante fuerza bruta, sino que estos intentos de autentificación pueden llegar a consumir muchos recursos ya que todas las peticiones deben procesarse, ahí es donde aparece el problema, ya que en planes de hosting compartido con los recursos limitados, esto puede ser realmente un problema.

¿Está xmlrpc.php funcionando en tu página WordPress?

Lo primero antes de ponernos a toquitear todo es comprobar que tienes  xmlrpc.php funcionando en tu página de WordPress.

No solo es comprobar si el archivo está ahí: forma parte de la instalación de WordPress aunque el archivo XML-RPC esté desactivado.

Ni se te ocurra borrar este archivo porque vas a romper la instalación de WordPress. 

Para comprobar si en tu página WordPress el xmlrpc.php está habilitado se puede usar el Servicio de Validación de WordPress XML-RPC. Con esto veras si tu sitio tiene habilitado xmlrpc.php.

Protección contra ataques al XMLRPC – Método 1

El primer método de protección consiste en realizar varias modificaciones en varios archivos de WordPress para que no se encuentre el archivo XMLRPC.PHP y también para desactivar las funcionalidades de XMLRPC para que WordPress no muestre ningún error por ello.Lo primero que vamos a hacer es borrar o cambiar el nombre del archivo XMLRPC.PHP que encontraremos en la raíz de nuestra instalación:
XMLRPC.PHP de WordPress
Lo siguiente que debemos hacer es dirigirnos a nuestro archivo wp-config.php de WordPress (también se encuentra en la raíz de la instalación) y debajo de la última línea colocamos lo siguiente:
Tal y como se muestra en la siguiente imagen:
configuración configphp para xmlrpc
Lo siguiente que debemos hacer es dirigirnos al archivo funcions.php del theme que tenemos activado y al final debemos añadir el siguiente código:
Este método es bastante simple, pero para usuarios poco acostumbrados a WordPress y al mundo web puede ser algo difícil, por esa razón existen otros métodos para desactivar el XMLRPC.PHP y evitar que nos puedan atacar.

Protección contra los ataques al XMLRPC – Método 2

El segundo método es mucho más simple desde el punto de vista de un usuario principiante en WordPress, pero yo cuando lo uso, hasta me quedo algo intranquila a pesar de que sé que es efectivo y que realmente hace lo mismo que en el método 1 pero de forma automatizada y aprovechando un poco las posibilidades que tienen los plugins en una instalación de WordPress.

En este método 2 usaremos el plugin XMLRPC Attacks Blocker, un plugin gratuito que puede ser descargado desde el repositorio de plugins de WordPress y que permite desactivar el XMLRPC.PHP casi por completo. (ojo esto ya esta desfasado)

La ventaja que tiene usar este plugin es que podríamos incluso seleccionar un único usuario al que le permitiremos acceder mediante el protocolo XMLRPC, además, nos permite bloquear mediante el .htaccess a todas las direcciones IP que intenten utilizar nuestro archivo XMLRPC.PHP una vez desactivado el protocolo.

Sin duda, esta última funcionalidad nombrada es lo que realmente distingue este método del método 1.

Puede parecer como siempre que WordPress es uno de los gestores web mas atacados del mundo, pero gracias a la comunidad de desarrolladores de que dispone, lo solventan rápidamente y esto hace que sea el gestor de contenidos web mas usado para desarrollar contenidos del mundo.

Contacta conmigo
Comparte el artículo en tus redes
Facebook
Twitter
LinkedIn
Pinterest
WhatsApp
Otros artículos interesantes
Ir arriba
Logo Empc cabecera Diseñadora Web Freelance Experta en WordPress y WooCommerce León

Tus datos de contacto


Servicios que necesitas



Especifica un poco en el mensaje