Attualmente sto cercando il modo migliore per impedire il portale web del mio software dagli attacchi bruteforce e mi è venuta in mente la seguente idea:
- 3 tentativi di accesso senza alcuna sfida visiva
- dopo 3 tentativi falliti mostra Google reCaptcha
- consentire altri 3 tentativi, ma ora devi fare clic sul captcha ogni volta
- se gli ultimi 3 tentativi non sono riusciti, blocca nuovamente l'account
La mia idea ha solo importanti aspetti negativi e spero che tu possa dare qualche consiglio:
- cosa succede se il nome utente cambia ad ogni tentativo di accesso? quale account posso bloccare dopo 6 tentativi?
- come devo registrare i 3 tentativi falliti (non dipendenti se questi sono 3 tentativi di un account o un tentativo per 3 account diversi) prima di mostrare il captcha?
- IP? Ma cosa succede se un sacco di persone provenienti da una rete aziendale utilizzano il software in una volta?
- Agente utente del browser? Cosa succede se qualcuno che tenta l'attacco bruteforce cambia semplicemente l'agente utente ad ogni tentativo di accesso?
- Cookie?