La mia domanda riguarda gli attacchi brute force online, che tentano di autenticare nel sito web.
1) Per il primo caso se le richieste provengono dallo stesso IP, penso che questo sia relativamente facile poichè dopo alcuni tentativi falliti possiamo bloccare l'ip per qualche tempo o mostrare un captcha, o aumentare il ritardo tra i tentativi di accesso ecc.
2) secondo caso, consideriamo che l'attaccante stia usando il proxy, facendo richieste da diversi indirizzi IP, ma bersagliando un account specifico, non sicuro di quale sia la migliore pratica qui, ma magari mostrando captcha solo per questo account se ci fossero molti tentativi falliti da diversi IP, o forse considerando gli ips autorizzati dell'utente. Anche avvertendo in qualche modo il proprietario dell'account, che erano accessi non riusciti link
3) In ogni caso, penso che i 2 attacchi precedenti siano più o meno possibili da scoprire. Ma per il terzo caso se l'attaccante utilizza più ips (diciamo più o meno) per il targeting di account diversi, ma usando la stessa password, poiché esiste una maggiore possibilità che almeno un utente abbia quella password. In questo caso se l'attaccante sta facendo alcune richieste per IP durante un tempo ragionevole, forse potrebbe controllare migliaia di account per quella password scelta senza essere notato / bloccato.
Ora, quali sono i pro e gli svantaggi di temporaneamente, diciamo a livello di ore o giorni, salvate (nel database) gli hash delle password dei tentativi di accesso falliti (con una singola applicazione - side salt), e se il la password è stata richiesta molto durante le ultime x ore / giorni richiede un captcha o qualche altro tipo di difesa, prima ancora di controllare la password.
Inoltre, consideriamo che i criteri relativi alle password vengono applicati durante la registrazione, ad esempio password di almeno 6 o 8 caratteri, impedendo l'utilizzo di password ben note. Inoltre, per il solito hashing delle password usando sale salt per utente (e usando blowfish o sha512), ma si vuole usare single salt per password fallite e sha 256 o 384 per essere più veloci.
grazie