Quiero implementar un mecanismo eficiente para acelerar los intentos de inicio de sesión en mi aplicación web Java, para evitar ataques de fuerza bruta en las cuentas de usuario.¿Cómo acelerar los intentos de inicio de sesión en Java webapp?
Jeff explained the why, but not the how.
Simon Willison mostraron un implementation in Python for Django: que en realidad no me ayude a lo largo ya que no puedo usar memcached ni Django.
Llevar sus ideas desde cero tampoco parece una gran idea - No quiero reinventar la rueda.
Encontré uno Java implementation, aunque parece bastante ingenuo: en lugar de un LRU caché, simplemente borra todas las entradas después de 15 minutos.
EHCache podría ser una alternativa para memcached, pero no tengo ninguna experiencia con eso y no quiero realmente otra tecnología más si hay mejores alternativas para esta tarea.
Entonces, ¿cuál es una buena manera de implementar la regulación de inicio de sesión en Java?
Sin embargo, cualquier inicio de sesión puede matar la experiencia del usuario. – Loki
Cualquier inicio de sesión fallido es estándar en el mundo de Unix, pero la parte de la aplicación web implica que un atacante podría hacerlo en múltiples subprocesos, por lo que un tiempo de espera simple no es suficiente, debe almacenar el intento de inicio de sesión y crear código para acceder y verificarlo. – Loki
Solo demorar todos los intentos no impide que alguien ejecute 50 solicitudes en paralelo. Es por eso que Simon Willison almacena la dirección IP junto con la marca de tiempo en el caché. –