Security Blog
Security Blog

¿Limitar los intentos de inicio de sesión sin un complemento?

Cómo proteger la página de inicio de sesión de WordPress sin usar un plugin.


English version: Limit login attempts without a plugin?


En Internet se pueden encontrar muchos comentarios y consejos al respecto. Pero, ¿es cierto?

Por defecto, WordPress permite intentos de inicio de sesión ilimitados a través del formulario de inicio de sesión, el envío de cookies especiales, el uso de llamadas XML-RPC y llamadas a la API REST. Esto permite descifrar contraseñas con relativa facilidad mediante ataques de fuerza bruta. Hoy en día, los hackers y los bots intentan constantemente acceder a tu sitio WordPress adivinando tu contraseña de administrador y las contraseñas de otros usuarios registrados. Por lo tanto, si quieres proteger tu sitio sin usar plugins, necesitas:

  1. Conoce bien PHP .
  2. Es fundamental conocer los filtros y acciones de autenticación (integrados en WordPress) para poder utilizarlos. Recomiendo empezar con ganchos como 'authenticate' y 'wp_login_failed'.
  3. Realiza un seguimiento de las solicitudes de autorización posteriores al inicio de sesión, XML RPC y API REST, y sí, no olvides las cookies de autorización (¿son válidas?).
  4. Almacena en algún lugar todos los intentos de inicio de sesión y las direcciones IP para calcular cuándo y qué IP debes bloquear. Recomiendo usar la API transitoria. En serio. Es la forma más sencilla. Claro que no puedes controlarla, pero usarla te permite hacer algo sin necesidad de saber SQL.
  5. Calcula el tiempo transcurrido entre intentos de inicio de sesión fallidos para una IP determinada.
  6. Disponemos de una herramienta o código PHP para restablecer cualquiera de esos contadores y las direcciones IP de los clientes bloqueados. ¿Qué ocurre si, por casualidad, se bloquea a algún cliente legítimo?

¿Suena descabellado? Tienes una segunda opción. Puedes buscar en Google y descargar fragmentos de código de algún blog de Internet, sin garantía ni soporte técnico.

Conclusión: En internet encontrarás muchos consejos sobre cómo limitar los intentos de inicio de sesión sin plugins. Sin embargo, todos provienen de personas que ni siquiera saben cómo funciona exactamente el algoritmo de autenticación de WordPress, incluyendo a los usuarios de Stack Overflow. De todas formas, puedes hacerlo si no te preocupa la seguridad de tu sitio, ya que no existe una forma correcta de hacerlo sin conocimientos de programación PHP y del mecanismo de autenticación de WordPress.

Si hay algo extraño en tu sitio web, ¿a quién vas a llamar?


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.