Protege tu WordPress de ataques XML-RPC

por | 20 octubre, 2014

El viernes hablaba con un cliente contándole que WordPress es una de las soluciones más usadas para los blogs y Webs por su facilidad de uso y su buen funcionamiento. Sin embargo, esto también lo conocen los hackers….y es una de las plataformas más atacadas. Por lo tanto deberías tener tanto el WordPress como los plugins lo más actualizado posible, y si tu web tiene bastante tráfico (por lo tanto también atrae bastantes hackers) seguramente tendrás que añadir ciertas medidas extra como esta que explicamos hoy (y que nosotros usamos en un cliente hace unos meses).

En unos días también os explicaremos algunos de los plugins más usados para reforzar la seguridad de tu web con WordPress, hoy nos dedicaremos a los ataques Xml-RPC, un ataque muy conocido pero que aún así seguro que a algún lector le viene bien. Es un protocolo que usan algunos servicios y que WordPress hizo bien en activar….hasta que lo usaron para atacar.

La solución más sencilla es añadir a tu fichero .htaccess un código para desactivar xml-rpc. Si tu web es simple esto debería valer. Te pongo el código:

<FilesMatch "^(xmlrpc\.php)">
Order Deny, Allow
Deny from all
</ FilesMatch>

Si no os atrevéis con editar el fichero htaccess podéis añadir un plugin que lo haga por vosotros como este.
El problema de este código es que podrías necesitar xmlrpc para algún servicio, ciertas cosas podrían dejar de funcionar dependiendo de la complejidad de tu web. Puedes probar estas variantes:

 Esta mira de dónde viene el ataque:

<IfModule mod_setenvif.c>
<Files xmlrpc.php>
BrowserMatch “Poster” allowed
BrowserMatch “WordPress” allowed
BrowserMatch “Windows Live Writer” allowed
BrowserMatch “wp-iphone” allowed
BrowserMatch “wp-android” allowed
BrowserMatch “wp-windowsphone” allowed
 
Order Deny,Allow
Deny from All
Allow from env=allowed
</Files>
</IfModule>
Si usas JetPack deberías añadir estas modificaciones. :

<FilesMatch "^(xmlrpc\.php)">
Order Deny,Allow
# Whitelist Jetpack/ Automattic CIDR IP Address Blocks
Allow from 192.0.64.0/18
Allow from 209.15.0.0/16
Allow from 66.155.0.0/17
Deny from all
</FilesMatch>

Hay quien recomienda alguna IP más para Jetpack…experimentad con cuidado.
Podéis añadir a este código anterior nombres de dominio también para el Allow. Un mejor código, según lo indicado en esta página, para evitar otro tipo de ataque también sería:

<FilesMatch "^(xmlrpc\.php|wp-trackback\.php)">
Order Deny,Allow
# Whitelist Jetpack/ Automattic CIDR IP Address Blocks
Allow from 192.0.64.0/18
Allow from 209.15.0.0/16
Allow from 66.155.0.0/17
Deny from all
</FilesMatch>

Con esto deberías estar bastante protegido contra este ataque.
Si administras tu propio servidor puedes también usar Fail2Ban, un plugin con muchas opciones al que puede que le dediquemos un artículo pronto. Una configuración para este ataque con fail2ban como solución la puedes ver aquí.

Un pensamiento en “Protege tu WordPress de ataques XML-RPC

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).

Time limit is exhausted. Please reload CAPTCHA.