Enjoy A New Student Discount All 55,000 Courses on sale for Only $12.99

Ends in 05h 23m 49s

WordPress – Protegiendonos de ataques por xmlrpc.php

Desde la version 3.5 de WordPress, tenemos un enemigo en casa. La pagina xmlrpc.php, es un punto debil en nuestro sistema de seguridad

Esta pagina existe desde siempre, pero es a partir de la version 3.5 que la funcionalidad XML-RPC viene activada por defecto.

Las posibilidades de ataque, vienen muy bien explicada en esta pagina de Acunetix.

xmlrpc.php se utiliza para publicar noticias por email, si tenemos activada esa funcionalidad, y para gestionar los pingbacks y trackbacks,  si no vas a utilizar ninguna de esas funcionalidades, lo mas sencillo es que borres el fichero, y a continuación, en el fichero functions.php que se encuentra en la carpeta de nuestro tema, deberemos añadir las lineas:

function removeHeadLinks() {  
    remove_action('wp_head', 'rsd_link');
    remove_action('wp_head', 'wlwmanifest_link');
}
add_action('init', 'removeHeadLinks');  

Otra opcion es añadir a .htacces:


    RedirectMatch 403 /xmlrpc.php

Sin embargo, si tienes acceso al servidor, puedes utilizar una técnica distinta y mucho mas efectivas, y es modificar el firewall, bloqueando las direcciones que intenten atacar.

¿Porque es mas efectiva?, porque el ataque se detiene antes, y el consumo de recursos disminuye. Con lo explicado anteriormente, tu servidor tiene que procesar la llamada, y en el primer caso, tiene que arrancar wordpress con todas sus funciones, y conexión a la BD, para terminar descubriendo un error de fichero. Si el ataque lo para el Firewall, todo se hace a nivel de S.O. antes de que tu servidor web vea nada…

Para poder hacerlo, se han de incorporar al Firewall reglas para bloquear un IP concreta, y eso lo puede hacer un viejo conocido, fail2ban.

Pensado para servidores web Linux, fail2ban es un programa que esta continuamente analizando los ficheros de log que le indiquemos, y según las reglas que le demos, cuando una regla se cumple, por ejemplo «Error de conexion mas de 5 veces», automáticamente puede modificar el Firewall para bloquear la ip agresora, de forma temporal o definitiva.

Ya os indico que para utilizarlo, deberíais tener un poco de soltura en Linux, y tener acceso a vuestro servidor, cosa que solo pasa si tenéis un servidor propio. Tambien teneis que instalar Fail2ban,y a continuacion, modificar:

En /etc/fail2ban/jail.local

[wp-xmlrpc]
enabled = true
filter = wp-xmlrpc
action = iptables-multiport[name=wp-xmlrpc, port=»80,443″, protocol=tcp]
sendmail-whois[name=wp-xmlrpc, [email protected]]
logpath = /home/*/logs/access_log
maxretry = 10
findtime = 60
bantime = 3600

 

Y en /etc/fail2ban/filter.d crear unfichero nuevo: wp-xmlrpc.comf con

# Fail2Ban configuration file

[INCLUDES]

# Read common prefixes. If any customizations available — read them from
# common.local
before = common.conf

[Definition]
_daemon = wp-xmlrpc

# Option: failregex
# Notes.: regex to match repeated xmlrpc attacks. The
# host must be matched by a group named «host». The tag «» can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P[\w\-.^_]+)
# Values: TEXT
#
failregex = \s.*\s.POST /xmlrpc.php HTTP/1.1″*.\s.*

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =

Acordaros de reiniciar fail2ban

# /etc/init.d/fail2ban restart

y un problema mas solucionado

[htmlBox filename=»cursoWordPress_grupos.html»]

12 comentarios

  1. Gracias por la información! Yo he recibido un molesto ataque como este. La web se cae cada 3-4h durante periodos de 30 minutos debido a los firewalls de los hostings. He optado la solución de bloquear el archivo y añadir las líneas que comentas en el fuctions del theme. en breve sabré si se ha solucionado.

    Gracias de nuevo!

    1. Realmente, se termina invirtiendo mas tiempo en proteger nuestro blog, que en escribir en él. (….o casi)

      Que tengas suerte, yo te animo a que utilices pluging como iThemes que tiene protecciones tambien para este tipo de ataque.

  2. Gracias por la información! Yo he recibido un molesto ataque como este. La web se cae cada 3-4h durante periodos de 30 minutos debido a los firewalls de los hostings. He optado la solución de bloquear el archivo y añadir las líneas que comentas en el fuctions del theme. en breve sabré si se ha solucionado.

    Gracias de nuevo!

Deja un comentario

/*Si te ha gustado el artículo
no dudes en compartirlo*/

Facebook
Twitter
LinkedIn

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies

Ver mi IP

Ver ip de mi máquina
tipo valor
Ip: 18.226.187.24
Proxy: 18.226.187.24
Remote host: ec2-18-226-187-24.us-east-2.compute.amazonaws.com
Remote port: 40542
** 18.226.187.24, 172.71.254.65