Blog

Proteger Wordpress XML-RPC

Una puerta trasera abierta desde siempre: Protege tu WordPress desactivando XML-RPC

Seguridad informática

Con la llegada de los smartphones y las tablets, Internet debía de adaptarse a este nuevo formato de pantalla. Muchas de las webs actuales ya tienen una vista móvil para que su sitio sea visitable a través de estos dispositivos, así los usuarios no tendrán que hacer un zoom constante para poder ver ciertos apartados o para pulsar un enlace.

Con ello, se crearon nuevas tecnologías para poder manejar y administrar los sitios web. Esto mejoró la experiencia del administrador y de los usuarios del sitio. Pero como toda tecnología, no es perfecta en ciertos aspectos: aparecen nuevos métodos más seguros o se deja de usar por eliminación de esta necesidad.

Esta última razón es la que nos trae al caso: hay ciertas tecnologías que están activadas por defecto por los sitios webs (como, por ejemplo, WordPress) y que son utilizadas por plugins de terceros. Pero, ¿qué pasa con los sitios que no lo utilizan y está activo? Se genera un posible agujero de seguridad. En Baética Digital nos preocupamos por la seguridad de tu sitio web y te vamos a enseñar cómo desactivar o protegerse de los posibles ataques a XML-RPC.

Útil si se utiliza, amenaza si se deja activado

XML-RPC es un protocolo de llamadas a procedimiento que se utiliza en WordPress casi desde el inicio de éste. En sus inicios, permitía conectarse al panel de WordPress desde móviles. Se puede decir que es una forma interconexión entre diferentes plataformas, como sería el servidor con un dispositivo móvil.

Con el paso de los años, ya no se suele usar este protocolo, pero como forma parte de la API principal de WordPress, algunos plugins como Jetpack o Automattic lo siguen utilizando. Antes de desactivar parcial o completamente esta característica, comprueba que los plugins y las aplicaciones que utilice no necesiten esta característica.

Desactivarlo supondrá el fallo inmediato de las aplicaciones que dependa de esto si están en funcionamiento. Recomendamos probar a desactivarlo en un entorno local que no afecte a la web online para comprobar que todo está correcto y se puede realizar sin problemas.

¿Cuáles son las consecuencias de seguir utilizando XML-RPC?

Mientras que esté activo el protocolo y sin protección, los atacantes pueden analizar el sitio web y comprobar que el servicio es accesible, por lo que pueden realizar uno de los siguientes ataques:

  • Denegación de servicio mediante Pingback: este ataque consiste en hacer una petición de Pingback a un sitio objetivo. La vulnerabilidad sigue vigente en algunos sitios de WordPress, por lo que pueden utilizar tu sitio web para hacer múltiples peticiones de ping a otros sitios sin tener acceso a la web.
  • Ataques de fuerza bruta al panel de acceso: teniendo acceso al protocolo, pueden atacar el sistema de login para poder acceder a fuerza bruta al panel de administración. Esto es una vía libre en la que pueden probar miles de combinaciones de forma simple y rápida.

¿Qué puedo hacer para protegerme?

Si sigues utilizando XML-RPC y te gustaría defenderte de alguna forma, aún hay opción para ti. Hay plugins que permiten desactivarlo del todo o para permitir que ciertas aplicaciones sigan utilizando este protocolo. Lo más recomendable es que pruebes a buscar entre los distintos plugins que existen y busques el correcto para tu sitio.

Si quieres desactivar XML-RPC de forma rápida y segura, podemos añadir unas líneas en el fichero .htaccess del directorio del sitio web. Si no sabes lo que es el fichero .htaccess, éste es el responsable de configurar el directorio en el que se encuentra con las diferentes directrices que se añaden en él. El fichero .htaccess que se encuentra en la raíz de nuestro sitio web, afectará a todo el árbol de directorios.

Si este fichero no existe, puedes crearlo con un editor de texto. Asegúrate de que el nombre del fichero comience con el punto y que esté en el directorio raíz del sitio web. Ahora, con el editor de texto, añadimos las siguientes líneas:

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

Esta forma es la más eficiente, ya que corta de raíz todas las posibles formas de ser usado, tanto dentro como fuera. Además, no necesita un constante mantenimiento, ya que es un cambio permanente hasta que el cambio lo realice el usuario. Hay otras formas de bloquear el acceso, pero ya depende de plugins o temas que pueden borrar estos cambios con una actualización sin previo aviso al usuario.

Por supuesto, recomendamos tener actualizado el sitio web en la medida de lo posible. Si se trabaja con WordPress es recomendable actualizar a su última versión. También, la actualización de los temas y plugins son muy importantes porque suele arreglar problemas y agujeros de seguridad. Esperamos que este post te haya sido útil y recuerda: Una puerta cerrada, un problema menos.

¡Si te ha gustado comparte y haz comunidad!