work with slow howto how framework python django security brute-force

python - with - Acelerar los ataques de inicio de sesión de fuerza bruta en Django



https on django (4)

Hay muchas bibliotecas disponibles para él como Django-axes , Django-defender , Django-ratelimit , todas estas bibliotecas mencionadas hacen lo mismo (con algunas diferencias entre ellas). Puedes elegir el que mejor se adapte a tus necesidades.

Si está usando DRF, entonces no necesita una biblioteca adicional (ejes, ratelimit, etc.) porque DRF ya tiene incorporada la funcionalidad de regulación.

Puede consultar esta pregunta: ** Cómo prevenir el ataque de fuerza bruta en Django Rest + Uso de Django Rest Throttling **

¿Existen tácticas generalmente aceptadas para proteger las aplicaciones Django contra este tipo de ataque?


Usted puede:

  • Lleve un registro de los intentos fallidos de inicio de sesión y bloquee al atacante después de 3 intentos.
  • Si no desea bloquear, puede iniciar sesión y presentar un CAPTCHA para que sea más difícil en futuros intentos.
  • También puede aumentar el tiempo entre intentos de inicio de sesión después de cada intento fallido. Por ejemplo, 10 segundos, 30 segundos, 1 minuto, 5 minutos, etcétera. Esto arruinará la diversión bastante rápido para el atacante.
  • Por supuesto, elija una contraseña segura, ya que eso mantendrá al atacante adivinando.

Yo prefiero django-defender . Comienza como una bifurcación de django-ejes con redis como backend para almacenar intentos fallidos de inicio de sesión, usuarios bloqueados, direcciones IP por lo que es mucho más rápido que los ejes de django.


django-axes es una aplicación existente para detectar intentos de inicio de sesión fallidos. También hay un django-ratelimit más general.