Protección de WordPress contra la fuerza bruta y del inicio de sesión, explicada

Cada sitio WordPress de internet está siendo probado en su pantalla de inicio de sesión ahora mismo — el suyo también, lo haya notado o no. Ese golpeteo constante de fondo es la razón por la que la protección de WordPress contra la fuerza bruta importa incluso para el sitio del negocio más pequeño. Los ataques de fuerza bruta son automáticos, incansables y baratos para los atacantes, lo que convierte la página de inicio de sesión en una de las superficies más atacadas de la web. La buena noticia es que las defensas se conocen bien y, bien hechas, lo frenan casi por completo. Así funcionan los ataques y así se detienen.

Qué es de verdad un ataque de fuerza bruta

Un ataque de fuerza bruta es exactamente lo que suena: un programa que adivina combinaciones de usuario y contraseña una y otra vez hasta encontrar una que funcione. No tiene ningún ingenio, solo volumen y paciencia — un script automático puede probar miles de combinaciones, y nunca se cansa ni se desanima. Una variante relacionada, y todavía más eficaz, es el relleno de credenciales, en la que, en lugar de adivinar a ciegas, el atacante usa pares reales de usuario y contraseña filtrados en las brechas de datos de otras empresas, apostando a que la gente reutiliza las contraseñas en varios sitios. Esa apuesta sale bien demasiadas veces.

Los dos están entre las principales formas en que se compromete un sitio, justo detrás de los plugins y temas vulnerables — el tema de nuestro artículo hermano sobre por qué hackean los sitios WordPress. Si un atacante adivina o reutiliza su camino hasta una cuenta de administrador, no necesita ninguna vulnerabilidad del software. Simplemente inicia sesión.

Las dos puertas: wp-login.php y XML-RPC

Los intentos de fuerza bruta contra WordPress apuntan, en su inmensa mayoría, a dos puertas de entrada, y conviene conocer las dos:

  • wp-login.php — la página de inicio de sesión normal. Los atacantes envían contra ella un intento tras otro, directamente.
  • XML-RPC — una interfaz más antigua de WordPress (xmlrpc.php) que muchos sitios ya no usan de verdad. Es una de las favoritas de los atacantes porque puede permitir muchos intentos de contraseña en una sola petición, lo que hace la fuerza bruta más rápida y más silenciosa que machacar la página de inicio de sesión normal. También se usa de forma abusiva para amplificar ataques de denegación de servicio.

Si su sitio no depende de XML-RPC — la mayoría de los sitios modernos no lo hacen — bloquearlo o restringirlo mucho elimina de un solo golpe toda una categoría de abusos automáticos.

Cómo defender el inicio de sesión: las capas que funcionan

Ningún ajuste por sí solo frena los ataques de fuerza bruta; unas pocas capas sencillas juntas los hacen inútiles. Desde la primera línea hacia dentro:

1. Límite de intentos y bloqueos

Limite cuántos intentos de inicio de sesión puede hacer una dirección IP en un tiempo dado, y frene o bloquee a las que pasen la raya. Eso convierte “miles de intentos por minuto” en un goteo que nunca va a acertar en la práctica, sin molestar a una persona legítima que se equivoca con su contraseña una o dos veces.

2. Contraseñas fuertes y únicas

Una contraseña larga y única es matemáticamente difícil de adivinar y — como no se reutiliza — no se puede encontrar en la filtración de otro. Es la base sobre la que se apoya todo lo demás. Una contraseña débil o reutilizada debilita todas las demás defensas.

3. Verificación en dos pasos

Con la verificación en dos pasos activada, una contraseña correcta no basta; el atacante también necesita el segundo factor de su teléfono o de su aplicación. Sobre todo para las cuentas de administrador y de editor, es una de las protecciones más valiosas que puede activar, porque hace que una contraseña adivinada o robada casi no sirva de nada por sí sola.

4. Protección contra contraseñas filtradas

Esta responde directamente al relleno de credenciales. Circulan libremente listas enormes de contraseñas expuestas en filtraciones pasadas, y los atacantes las prueban en los inicios de sesión. Comparar los datos de acceso con las contraseñas que se sabe que se filtraron y rechazarlas cierra esa puerta — una contraseña que se sabe que está comprometida simplemente no puede proteger una cuenta. Lo delicado es que, si no, una ráfaga de contraseñas filtradas puede parecer inicios de sesión normales y correctos, así que detectarla tiene que hacerse a nivel de los datos de acceso.

5. Nombres de usuario sensatos y cierre de las puertas traseras que no se usan

Evite nombres de usuario predecibles como “admin” para que los atacantes tengan que adivinar las dos mitades, y desactive XML-RPC (una vieja función de acceso remoto) y otras puertas traseras antiguas que no use, para que haya menos puertas que defender.

Por qué bloquear desde el proveedor es mejor que bloquear con un plugin

Puede poner en práctica varias de estas defensas con un plugin — pero hay una diferencia importante en dónde se hace el bloqueo. Un plugin funciona dentro de WordPress, lo que significa que cada intento malicioso de inicio de sesión igual llega a su servidor, carga PHP (el lenguaje de programación con el que funciona WordPress) y arranca WordPress antes de que el plugin lo rechace. Durante un ataque fuerte, eso es mucho trabajo desperdiciado, y puede ralentizar o desestabilizar un sitio pequeño aunque el ataque nunca tenga éxito.

Bloquear desde el proveedor, en primera línea, frena los intentos antes — en el firewall, antes de que lleguen a consumir los recursos de su sitio. Un firewall por capas filtra las peticiones abusivas, y una lista compartida de atacantes conocidos significa que una computadora a la que ya pillaron adivinando contraseñas en otros sitios queda bloqueada antes de hacer un solo intento en el suyo. El ataque se rechaza en la puerta en lugar de absorberse en el pasillo. Es una protección más fuerte y más ligera para su sitio, y es un tema que se repite en toda nuestra lista de seguridad de WordPress: el mejor lugar para frenar el tráfico malicioso es antes de que llegue.

Cómo lo manejamos

En nuestros planes administrados, la protección del inicio de sesión funciona a nivel de la plataforma, así que no tiene que armarla usted:

  • Un firewall por capas que filtra el tráfico abusivo de inicio de sesión antes de que llegue a su sitio.
  • Una lista viva de atacantes conocidos que bloquea las computadoras que ya se sabe que atacan otros sitios.
  • Protección del inicio de sesión contra contraseñas filtradas que rechaza los datos de acceso que se sabe que están comprometidos, lo que frena el relleno de credenciales.
  • Límite de intentos para que el volumen de la fuerza bruta nunca gane terreno.
  • Cierre de XML-RPC y de otras puertas traseras antiguas donde no hacen falta.

Una nota honesta sobre la experiencia de inicio de sesión: una buena protección es indulgente con las personas reales. Un cliente o un miembro del equipo que escribe mal una contraseña no debería quedarse fuera para siempre — las campañas de fuerza bruta se bloquean, pero siempre hay un camino de vuelta para el dueño legítimo. El objetivo es frenar la avalancha, no atrapar a la persona a la que pertenece el sitio.

La conclusión

Los ataques de fuerza bruta y de relleno de credenciales son constantes, automáticos y apuntan a cada sitio WordPress sin importar su tamaño — pero también se vencen con facilidad con unas pocas capas: límite de intentos, contraseñas fuertes y únicas, verificación en dos pasos, protección contra contraseñas filtradas y un bloqueo que se hace en primera línea y no dentro de su sitio. Si ya está lidiando con las consecuencias de un ataque al inicio de sesión que tuvo éxito, cómo arreglar un sitio WordPress hackeado le guía en la recuperación. Y si prefiere que esto se resuelva a nivel de la plataforma, eche un vistazo a nuestros planes de WordPress administrado — el firewall, las listas vivas de atacantes conocidos y la protección contra contraseñas filtradas están todos incluidos en el precio fijo, con soporte a cualquier hora cuando lo necesite.