Los ataques y el malware en Internet siempre han estado ahí en mayor o en menor medida, a veces podemos protegernos fácilmente y en otras ocasiones necesitamos técnicas avanzadas para garantizar que nuestros sitios web no acaben infectados.
© kentoh – Fotolia.com
Existen muchos tipos de ataques; pero últimamente en WordPress, cada vez estamos viendo más ataques DDOS o de saturación contra el archivo XMLRPC.PHP necesario en WordPress para utilizar algunas funcionalidades.
El archivo XMLRPC.PHP de WordPress sirve principalmente para conectar algunas herramientas externas como Word o el correo a WordPress, y poder publicar en WordPress a través de distintos tipos de herramientas.
Por otro lado, el XMLRPC.PHP de WordPress también es el encargado de que funcionen tanto los Pingbacks como los Trackbacks. Además, el XMLRPC.PHP es necesario para que el megaplugin JetPack para WordPress funcione correctamente.
Para protegerse de ataques en los que se usa el XMLRPC.PHP para dañar el rendimiento y la estabilidad del sitio existen varias formas:
- Si no utilizas nada relacionado con el XMLRPC.PHP puedes borrarlo sin miedo, no afectara a tu sitio web ni fallara por esto.
- Podemos usar el archivo .htaccess para proteger el XMLRPC.PHP de nuestro sitio y no dejar entrar ni a bots ni a navegadores de visitantes, es una elección que debemos tomar con cuidado.
- Podemos desactivar XMLRPC.PHP utilizando una función en el archivo functions.php del theme, este método dicen que es algo más efectivo.
Adicionalmente el hosting cumple un gran papel en la protección de tu sitio web contra posibles ataques DDOS contra el XMLRPC, pudiendo bloquear las direcciones IP atacantes usando un firewall por software en el servidor o un firewall por hardware.
El problema de este tipo de ataques es que suele ser complicado de detectar previamente, ya que se realizan con direcciones IP diferentes de todo el mundo, por lo que es necesario detectar primero el ataque para poder mitigarlo.
Álvaro Fontela Sánchez centra su actividad profesional en WordPress, trabaja en la empresa de alojamiento y desarrollo de la que es Co-Founder, Raiola Networks, donde se dedican a las tecnologías web pero especializándose en WordPress y en tareas de administración y optimización de servidores Linux.
Hola Álvaro. Me ha sucedido dos veces esta semana lo que comentas en este post y Martín, muy amablemente, me ha pasado este enlace. Me gustaría desactivar el archivo XMLRPC.PHP utilizando una función en el archivo functions.php ya que, como dices, parece ser el más efectivo. ¿Cómo puedo hacerlo? Y, esto no afectará al tema de pingbacks y trackbacks o si? Si sí, ¿qué ocurriría si deshabilitamos estos al desactivar el archivo XMLRPC.PHP? No tengo ni idea de qué consecuencias traería. Por lo de vincular wordpress con el email y word, no tengo ningún inconveniente.
Bueno Álvaro, gracias de antemano por tu respuesta.
Esther
¡Hola!
La últimas semanas yo también me he encontrado con ataques muy seguidos de fuerza bruta y aunque el plugin Wordfence me ha funcionado bastante bien, algunos ataques aún continuaban. Antes de ayer encontré un artículo que hablaba sobre esto y me puse a investigar un poco, de momento he probado bloqueando el acceso al archivo xmlrpc.php por htaccess con:
order deny,allow
deny from all
Pero según he leido también se puede hacer en el fichero wp-config.php añadiendo después de la última sentencia ABSPATH:
add_filter(‘xmlrpc_enabled’, ‘__return_false’);
Y lo que preguntaba Esther Roche de cómo hacerlo en el functions.php sería con esto:
function mmx_remove_xmlrpc_methods( $methods ) {
unset( $methods[‘system.multicall’] );
unset( $methods[‘system.listMethods’] );
unset( $methods[‘system.getCapabilities’] );
return $methods;
}
add_filter( ‘xmlrpc_methods’, ‘mmx_remove_xmlrpc_methods’);
Espero que sea útil a quien se encuentre con este problema.
Un saludo.
En el comentario anterior no me he dado cuenta de que iba a suprimir las etiquetas. Para hacer el bloqueo en el archivo htaccess sería así:
< Files xmlrpc.php >
order deny,allow
deny from all
< /Files >
Un saludo.