Se esiste un metodo almeno un per scoprire quali nomi utente sono disponibili sul sito, significa che puoi provare a utilizzare questi strumenti in modo brute-force / dictionary-attack / social engineer. Nel caso che hai descritto, non fa alcuna differenza di sicurezza tangibile per cercare di nascondere il motivo dell'errore nella pagina di accesso, poiché è banale scoprire il vero motivo altrimenti.
A seconda di cosa è più importante per te, puoi rendere il tuo processo di login più user (e attacker) amichevole, o invece provare a proteggere la tua registrazione (o qualsiasi altro) processo che potrebbe rivelare quali account esistono sul tuo sistema. / p>
Quando ti stai difendendo da tali casi relativi al processo di autenticazione per una tipica applicazione web, dovresti normalmente prendere in considerazione i seguenti percorsi:
-
Registrazione / Registrazione - questo può rivelare quali account sono disponibili e consentire di inondare il tuo sistema con account falsi / stantii, nomi accovacciati ecc. Captcha di solito può fornire una buona protezione, oltre a timeout, ma ha vinto fermare gli attacchi manuali più lenti. Suggerirei inoltre di non dare suggerimenti sulla disponibilità del nome utente o sul successo della procedura di registrazione. Puoi solo dire "Grazie per esserti registrato." Una email di conferma sarà inviata a breve per confermare l'account "(o qualcosa del genere)
-
Pagina di accesso : questo è il punto ovvio e la maggior parte delle applicazioni ha già una protezione abbastanza standard, inclusa la buona pratica di errori non rivelatori, ecc. Rallentare la procedura di accesso o monitorare l'abuso può anche aiutare. Anche il blocco per accessi non riusciti è possibile, ma in questo caso si è più esposti agli attacchi denial-of-service.
-
Hai dimenticato la password - questo è spesso trascurato quando si considera la perdita di informazioni. Quando qualcuno inserisce la propria email / nome utente nel campo della password dimenticata, è necessario rispondere con lo stesso messaggio indipendentemente dal fatto che l'e-mail / account sia noto o meno. Nota che questo potrebbe creare problemi di supporto ( "Ho inserito la mia email e il tuo sistema ha detto che mi sta inviando un'email di ripristino, ma non ho ricevuto nulla ..." )
-
Dettagli account / modifiche email : molte applicazioni ti consentono, ad es. cambia il tuo indirizzo e-mail o il nome dell'account. Ciò potrebbe anche escludere se un determinato account o un indirizzo e-mail esistano o meno. Le stesse regole si applicano qui.