Cómo deshabilitar XML-RPC en WordPress

Cómo deshabilitar XML-RPC en WordPress

WordPress XML-RPC es una funcionalidad bastante anticuada integrada en el CMS de WordPress. Es un medio para estandarizar las comunicaciones entre un sitio de WordPress y otras tecnologías web o móviles. Si eres usuario de WordPress, este tutorial te dirá qué es XML-RPC y por qué es una buena idea desactivarlo para protegerte.

Cómo funciona XML-RPC

Su sitio web de WordPress está diseñado para funcionar en la Web. Utiliza tecnologías web básicas como HTML, CSS y PHP. Todos estos archivos están muy bien guardados en carpetas dentro de su servidor de alojamiento.

Cuando un visitante hace clic en su nombre de dominio o cualquiera de sus derivados, aterrizan en su página web. La carpeta específica que contiene la información que desean descargar en su navegador. Ahora el navegador interpreta esta información y se la muestra.

Pero, ¿qué sucede si no desea acceder a su sitio web mediante un navegador? ¿Qué sucede si desea acceder a él desde un software de administración personalizado o incluso desde una aplicación móvil?

qué-es-xmlrpc-cómo-funciona-xml-rpc

El XML-RPC de WordPress cubre este problema.

XML-RPC es una API que envuelve la información esencial dentro de un archivo XML simple y lo envía a la aplicación móvil o al software remoto. Luego, la aplicación móvil infla esta información con su propio diseño preconfigurado. En este caso, la aplicación móvil ya no necesita descargar archivos sustanciales de páginas web y aún puede acceder a sus datos en una aplicación ingeniosa.

Tan bueno como parece, el único problema es que tendrá que enviar su nombre de usuario y contraseña cada vez que quiera autenticarse a través de XML-RPC. Esto lo hace muy vulnerable al ataque de un hacker.

Cómo XML-RPC lo hace vulnerable

XML-RPC deja su sitio vulnerable a ataques en al menos dos formas: ataques de fuerza bruta y robo de credenciales de inicio de sesión.

1. Ataques de fuerza bruta

Los atacantes intentan infectar su sitio web mediante un ataque de fuerza bruta.

qué-es-xmlrpc-ataque-de-fuerza-bruta

Un ataque de fuerza bruta es simplemente un juego de adivinanzas. El atacante intenta adivinar su contraseña una y otra vez hasta que lo consigue.

Sucede varios miles de veces por segundo para que puedan probar millones de combinaciones en un período corto.

En un sitio de WordPress, puede limitar fácilmente los ataques de fuerza bruta limitando los intentos de inicio de sesión en su sitio web. Sin embargo, el problema con XML-RPC es que no limita los intentos de inicio de sesión en su sitio.

Un atacante puede seguir adivinando engañando a su servidor de que es un administrador que busca recuperar información. Y debido a que no tienen las credenciales correctas, aún no pueden acceder a su sitio, por lo que continúan intentándolo varias veces sin fin.

Dado que no hay límite para la cantidad de pruebas, es solo cuestión de tiempo antes de que obtengan acceso. De esta manera, un pirata informático también puede derribar fácilmente un sitio mediante un ataque DDOS XML-RPC (enviando oleadas de solicitudes de «pingback» a XML-RPC para sobrecargar y bloquear el servidor).

2. Intercepción/robo de información de inicio de sesión

what-is-xmlrpc-login-interception

Otra debilidad del XML-RPC es el sistema de autenticación ineficiente. Cada vez que envíe una solicitud para acceder a su sitio web, también debe enviar sus credenciales de inicio de sesión. Esto significa que su nombre de usuario y contraseña están expuestos.

Los piratas informáticos pueden estar al acecho a la vuelta de la esquina para interceptar este paquete de información. Una vez que tienen éxito, ya no necesitan pasar por los rigores de los ataques de fuerza bruta. Simplemente ingresan a su sitio web utilizando sus credenciales válidas.

¿Debo deshabilitar XML-RPC en WordPress?

Desde la versión 3.5 de WordPress, ha habido tantas mejoras en el código XML-RPC que el equipo de WordPress lo consideró lo suficientemente seguro como para habilitarlo de forma predeterminada. Si confía en aplicaciones móviles o software remoto para administrar su sitio de WordPress, probablemente no debería deshabilitar XML-RPC.

Si está muy consciente de la seguridad de su servidor, puede ser mejor deshabilitarlo, ya que oculta una forma posible que los piratas informáticos pueden usar para atacar su sitio.

Cómo deshabilitar XML-RPC en WordPress

XML-RPC está habilitado de forma predeterminada en WordPress, pero hay varias formas de deshabilitarlo.

Nota: si está utilizando el popular paquete propulsor complemento, no puede deshabilitar XML-RPC, ya que es necesario para que Jetpack se comunique con el servidor. Además, antes de deshabilitar XML-RPC, asegúrese de que ninguno de sus complementos o temas lo esté utilizando.

Deshabilitar XML-RPC

1. Localice la carpeta de su tema (normalmente en “wp-content/themes/”) y abra el archivo “functions.php”.

2. Pegue los siguientes comandos al final del archivo:

// Disable use XML-RPC
add_filter( 'xmlrpc_enabled', '__return_false' );

Guarde el archivo «funciones.php». Esto desactivará la funcionalidad XML-RPC en WordPress. Tenga en cuenta que este método solo deshabilita XML-RPC, pero no evita que los piratas informáticos ataquen su sitio ya que el archivo xml-rpc.php está presente.

Bloqueo de acceso al archivo XML-RPC

La mejor manera de evitar ataques de piratas informáticos es bloquear el acceso al archivo xml-rpc.

servidor apache

Si su sitio de WordPress se ejecuta en un servidor Apache (si ve un archivo «.htaccess» en su carpeta de instalación de WordPress, puede estar bastante seguro de que su sitio está alojado en un servidor Apache), siga estos pasos.

1. Inicie sesión en su CPanel. Busque Administrador de archivos.

qué-es-xmlrpc-cpanel-inicio de sesión

2. Abra el administrador de archivos. Navegue a la carpeta «public_html» y luego al documento «.htaccess».

qué-es-xmlrpc-htaccess

3. Haga clic derecho para editar el archivo.

qué-es-xmlrpc-htaccess-editar

4. En la parte inferior del archivo, pegue el siguiente código:

# Disallow all WordPress xmlrpc.php requests to this domain
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

qué-es-xmlrpc-htaccess-editar-guardar-cambios

5. Guardar y salir.

servidor nginx

Para el servidor Nginx, pegue el siguiente código en el archivo de configuración de su servidor:

# nginx block xmlrpc.php requests
location /xmlrpc.php {
    deny all;
}

Ahora su sitio está a salvo de ataques.

En conclusión

Los ataques de fuerza bruta y el robo de datos seguirán planteando problemas a los propietarios de sitios. Es su deber asegurarse de que su sitio sea seguro. Deshabilitar XML-RPC es una forma efectiva de hacerlo. Siga la guía anterior y proteja su sitio web y visitantes de los piratas informáticos ahora.

Experto Geek - Tu Guía en Tendencias Tecnológicas