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.