WordPress: Ataques recientes

En días recientes se ha detectado una cantidad de tráfico inusual en las páginas de acceso a la administración de WordPress, por ejemplo:

http://www.tusitio.com/wp-admin

Se ha analizado el comportamiento y procedencia de este tráfico y se ha determinado que este tráfico no es otra cosa sino un ataque masivo de fuerza bruta contra los sitios que utilizan WordPress.

A diferencia de los ataques que se dirigen a fallas o vulnerabilidades en el software o script, un Ataque de Fuerza Bruta se considera como el método más simple de tener acceso a la administración. El método utilizado es intentar con multitud de usuarios y passwords, una y otra vez, hasta que logra tener acceso. A menudo, este método se considera «poco elegante» por otros hackers, pero resulta muy exitoso cuando los dueños de sitios utilizan passwords del tipo «123456» o usuarios básicos como «admin».

El ataque está dirigido a la parte más débil de la seguridad de un sitio: Tú.

Debido a la naturaleza de estos ataques, puede suceder que la memoria del servidor sea consumida, causando problemas de funcionamiento. Esto se debe al alto número de solicitudes https (las veces que alguien visita un sitio), lo que ocasiona el consumo excesivo de memoria.

Este tipo de ataque no es atribuible en sí a WordPress, sino que puede suceder con cualquier aplicación web existente. Sin embargo, la popularidad de WordPress lo convierte en un objetivo frecuente.

He aquí algunos consejos para proteger tu sitio de manera más efectiva:

1. Limita el Acceso al wp-admin por IP
Si eres la única persona que tiene acceso al área de administración de tu sitio y tienes una IP fija, puedes limitar el acceso al wp-admin a cualquier otra persona via un archivo .htaccess

Crea un archivo .htaccess o edita el que ya existe dentro de la carpeta /wp-admin y añade las siguientes líneas:

# Bloquear accesso a wp-admin.
order allow,deny
allow from x.x.x.x
deny from all

Donde x.x.x.x es tu dirección IP. Puedes añadir tantas IPs como desees colocando la línea: allow from x.x.x.x tantas veces como IPs tengas en tu lista de IPs permitidas.

2. Limita el acceso a wp-login.php por IP
Puedes limitar el acceso a wp-login.php dentro de la carpeta wp-admin/ a través del archivo .htaccess

Crea un archivo con el nombre de .htaccess o edita el ya existente dentro de la carpeta /wp-admin y añade:

Order allow,deny
Allow from x.x.x.x
Deny from all

Donde x.x.x.x es tu dirección IP. Puedes añadir tantas IPs como desees colocando la línea: allow from x.x.x.x tantas veces como IPs tengas en tu lista de IPs permitidas.

3. Actualiza tu archivo robots.txt
Añade el siguiente contenido a tu archivo robots.txt o crea uno nuevo en caso no lo tengas:

User-agent: *
Disallow: /wp-admin
Disallow: /wp-login.php
Disallow: /administrator

Estas líneas bloquearán el indexamiento por parte de todo buscador de las carpetas allí indicadas. Los ataques de fuerza bruta hacen uso de ese indexamiento para conocer las URLs. Este método de protección es a mediano y largo plazo ya que tomará algunos meses para que los buscadores actualicen la información que les proporcionas. Sin embargo, ayudará en el futuro a evitar este tipo de ataques.

4. Desactiva los comentarios spam
Por otro lado, si estás recibiendo una gran cantidad de comentarios spam, puedes desactivar la funcionalidad de comentarios en:

www.tusitio.com/wp-admin/options-discussion.php

Desabilita la opción: Allow people to post comments on new articles

Deberás ir a cada uno de los artículos ya publicados y deshabilitar allí también los comentarios.

Si deseas que tus visitantes comenten, es probable que desees que se registren primero. En ese caso debes habilitar la caja de texto: Users must be registered and logged in to comment instead.

Como puedes ver, son pasos muy simples que evitarán este tipo de ataques en tu sitio.

El método utilizado es intentar con multitud de usuarios y passwords, una y otra vez, hasta que logra tener acceso. A menudo, este método se considera «poco elegante» por otros hackers, pero resulta muy exitoso cuando los dueños de sitios utilizan passwords del tipo «123456» o usuarios básicos como «admin».