Si tienes un sitio web , seguramente habrás tenido que lidiar con hackers que tratan de dañar tu sitio e inutilizarlo, estos ataques pueden ser efectivos si no estas protegido contra estos , la idea es protegerse antes de que sucedan. Hay muchos casos en los que un servidor que no ha sido protegido o optimizado podría experimentar problemas o errores después de recibir una pequeña cantidad de tráfico malicioso. Estos ataques resultan en el agotamiento de los recursos del sistema haciendo que servicios como MySQL no respondan.El signo visual más común de esto sería un error al conectar al mensaje de la base de datos. La consola web también puede mostrar errores de memoria insuficiente.

WordPress utiliza XML-RPC para ejecutar funciones de forma remota. El plugin popular JetPack y la aplicación móvil de WordPress son dos grandes ejemplos de cómo WordPress utiliza XML-RPC. Esta misma funcionalidad también puede ser aprovechada para enviar miles de solicitudes a WordPress en un corto período de tiempo. Este escenario es efectivamente un ataque de fuerza bruta.

Como Reconocer un ataque XMLRPC

Hay varias maneras de reconocer un ataque XML-RPC tales como:

  1. Ver el mensaje “Error al conectarte a la base de datos” cuando tu sitio de WordPress está inactivo.
  2. Encontrar muchas entradas similares a “POST /xmlrpc.php HTTP / 1.0” en los registros de su servidor web.
  3. Error interno de servidor.

Algunos Métodos de protección

Existen varios métodos para protegernos contra ataques XMLRPC, y aunque ninguno de los métodos es 100% efectivo, sí que ayudan a mantener la estabilidad de la instalación aunque nos ataquen, evidentemente cuantos más recursos tengamos disponibles en nuestro servidor o en nuestro plan de hosting, más margen de maniobra tendremos en caso de que nos ataquen ya que dispondremos de más recursos.

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 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:

XMLRPC.PHP WordPress

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.

Si no utiliza XML-RPC en absoluto, quizás lo mejor que puede hacer es desactivarlo. Hay un plugin útil llamado Deshabilitar XML-RPC que hará exactamente eso.

Otro plugin que puede evitar es los intentos de inicio de sesión de fuerza bruta es Todo en uno WP Security And Firewall es un complemento más elaborado que hace esto, pero puede utilizar algunas herramientas más específicas como Login Lockdown.

Puedes tambien usar 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.

Tambien puedes usar el plugin Stop XML-RPC Attack este plugin que añade unas líneas al .htaccess del sitio web que simplemente bloquean todo el tráfico entrante al archivo XMLRPC.PHP excepto el tráfico que entra desde rangos de direcciones IP pertenecientes a los servidores de Automattic, es decir, que de esta forma funciona Jetpack.

Compruebe XML-RPC en su sitio de WordPress

¿No está seguro si XML-RPC se está ejecutando actualmente en su sitio web? Danilo Ercoli, del equipo de Automattic, escribió una pequeña herramienta llamada XML-RPC Validator. Puede ejecutar su sitio WordPress a través de eso para ver si tiene XML-RPC habilitado

Conclusiones

Al tomar medidas para mitigar el tráfico XML-RPC malicioso, su sitio WordPress consumirá menos recursos del sistema. El agotamiento de los recursos del sistema es la razón más común por la cual un sitio de WordPress se desconectaría en un VPS. Los métodos de prevención de ataques XML-RPC mencionados en este artículo junto con se asegurará de que su sitio WordPress permanece en línea.

Jorge Marquez Lander
Gerencia de proyectos – Ingenieria Civil – Telecom – Web Dev
Soy un Profesional de la ingeniería con experiencia en la planificación, gerencia y construcción de proyectos multidisciplinarios involucrados en el sector construcción y telecomucaciones teniendo como objetivo central el de desarrollar mi carrera profesional aplicando mis conocimientos y aptitudes orientados al desarrollo e implementación exitosa de proyectos. Gerencia de proyecto, planificación ,diseño y elaboración de ingeniería de detalle, construcción y activación de proyectos de redes de CATV, HFC (hibrid fiber-coaxial) ,SDH y Fibra óptica en canalización aérea y subterránea.
Desarrollador web de sitios web basados en tecnologías de software libre: PHP, MySQL,HTML, WordPress,Joomla, Magento, Js.
Bilingue (español e ingles), Libre Pensador y Apasionado corredor de asfalto y montaña.