Bloquear xmlrpc.php de WordPress

Publicado el en la categoría Seguridad

Bloquear xmlrpc.php de WordPressWordPress es conocido por la inmensa mayoría de internautas, ya que un porcentaje muy alto de sitios web, están creados bajo este potente CMS. Su facilidad en la instalación y manejo y sus numerosos módulos y plugins, hacen que podamos tener una web a medida en muy poco tiempo. Pero esta numerosa comunidad de usuarios de WordPress, provoca que cualquier fallo o vulnerabilidad detectada se traduzca en un gran número de potenciales víctimas. Uno de los problemas que últimamente hemos detectado es un ataque DOS a WordPress. Así que os vamos a mostrar como bloquear xmlrpc.php, la víctima de estos ataques.

Para que sirve el fichero xmlrpc.php

El protocolo Xmlrpc, es utilizado principalmente, para interactuar con nuestro WordPress desde un acceso exterior. Mediante esta API, podemos realizar diversas funciones sin estar “físicamente” dentro de nuestro WordPress. Es por ello, que este fichero es como un caramelo para los usuarios malintencionados, ya que si logran acceder a él, lograrán el acceso a nuestro CMS.

Las versiones mas antiguas de WordPress, por defecto incluían por defecto el protocolo Xmlrpc desactivado. El problema es que a partir de la versón 3.5, se incluye activado por defecto, por lo que todas las instalaciones actuales son propensas a ser atacadas.

Síntomas de que mi WordPress está siendo atacado

El principal síntoma para saber si nuestra web está siendo atacada, suele ser caídas constantes en el servicio web, debido al alto consumo de recursos que se generen al atacar nuestro sitio. Errores tipo “Internal Server Error” o una web extremadamente lenta, nos pueden hacer sospechar de que estamos siendo atacados.

Si tenemos acceso al log, podemos verificar el ataque, consultando el registro de accesos de Apache. En el caso de ser atacados, observaremos un gran número de líneas que identificaremos fácilmente. Para visualizarlos registros de Apache, deberemos acceder a nuestro panel Plesk y dentro de la suscripción, en el apartado Registros, realizaremos un filtrado por mensaje, indicando en la casilla de texto xmlrpc.

Bloquear xmlrpc.php de WordPress

Tal como se puede ver en la imagen, estamos recibiendo numerosas peticiones Post al fichero xmlrpc.php desde varias IP’s distintas.

Como bloquear xmlrpc.php

Hay diversas técnicas de protección. En el caso de que necesitemos este fichero, una posible opción sería utilizar el plugin xmlrpc-attacks-blocker que nos permitirá configurar ciertos aspectos, e incluso indicar que IP es la que tiene permiso de acceso.

Otra opción será mediante el fichero .htaccess, indicando lo siguiente:

<Files xmlrpc.php>
   order allow,deny
   deny from all
</Files>

Otra buena opción, será desactivar el protocolo Xmlrpc. Esto lo haremos editando el fichero wp-config.php situado en la carpeta raiz de WordPress, y añadiendo la siguiente línea al final:

add_filter('xmlrpc_enabled', '__return_false');

Consideraciones

El protocolo es usado por varios servicios y módulos, como por ejemplo Jetpack. Deberemos realizar los cambios comentados solo si estamos seguros de que no se esta usando Xmlrpc. En caso contrario, podemos dejar nuestra web sin el funcionamiento correcto.

Facebooktwittergoogle_plus