L'alternativa a consentire a più utenti di avere lo stesso nome utente è molto peggio!
In realtà quello che succede con quel sistema
- L'utente richiede una nuova password
- Ora devi controllare le password per assicurarti che non si verifichino collisioni
- L'utente può usarlo per forzare la forza sugli altri account
Questo è male. Quindi è necessario impedire a più utenti di avere lo stesso nome utente. Lo fai controllando.
Che cosa accade se un utente può trovare un nome utente di altri utenti
Questo è lo scenario che ti viene presentato e come impedisci a qualcuno di utilizzarlo maliziosamente. Che rischio ti apri fino a qui?
- Un utente può trovare un nome utente
- Ancora non concede l'accesso, poiché ora devono indovinare la password
Va bene, questo offre un po 'più di sicurezza e impedisce agli utenti di avere e-mail e altre informazioni sensibili trapelate. Ma ora vuoi provare a mitigare gli attacchi. Come si fa?
Attenuazione degli attacchi di registrazione
Ci sono un paio di tecniche che esistono qui per prevenirlo, ma il migliore di gran lunga è la limitazione della velocità e i tentativi massimi di accesso tramite IP.
Limitazione della frequenza, Tentativi massimi e Registrazione IP
Quando un utente prova a registrarsi, può solo controllare i nomi utente disponibili così velocemente. In tutta la realtà ci vorrà una persona reale un secondo o due per digitare un nuovo nome utente. Ciò ti consente di eseguire alcuni semplici controlli e saldi . Tuttavia questo accade solo quando cercano di registrarsi. Quando un utente ti attacca e usa un nome utente che non è registrato, tutto ciò che accade è che hanno registrato quel nome utente. Oh bene. Ora devono ricominciare da capo la procedura di registrazione, ed è qui che puoi controllare.
- L'utente prova a registrare molti account molto velocemente: un bot, fermarli e buttarli fuori (limitazione della velocità)
- L'utente prova un LOT: Attaccando a mano, buttali fuori (tentativi massimi)
- L'utente ritorna: lo stesso indirizzo IP mostra un aggressore davvero determinato. BAN IL LORO IP (massimo tentativo ripetuto)
Ora quell'attaccante si è esposto e è stato bandito a livello IP. Sai che sta succedendo qualcosa di brutto qui, avere un registro di nomi utente che potrebbero essere stati luccicati, e ancora non ci sono state perdite di informazioni personali. Ottimo lavoro!
Tuttavia ora è necessario tornare indietro e annullare la registrazione di tutti gli account creati nel tentativo di trovare altri account. Meno male che hai quei log!
The Downfalls Of Usernames Without Emails
Questo è un grande difetto di cui devi essere a conoscenza quando non colleghi un account a un'email: Il nome utente può essere preregistrato e trattenuto per il riscatto . È quindi estremamente difficile dimostrare la proprietà del nome utente. Facciamo in modo che qualcuno faccia un diverso tipo di attacco contro il tuo sistema, dove cerca solo di registrare preventivamente molti account di persone e tenerli in ostaggio. Si spera che tu abbia un registro dai controlli di cui sopra in modo da poter provare a prenderli in flagrante.
Alternative
Hai menzionato che hanno già seguito la procedura di conferma dell'email, quindi un altro modo per gestirlo a questo punto è di collegarlo all'e-mail. Dopo la registrazione, se vogliono cambiare la loro e-mail dovranno effettuare il login e inviare una richiesta con un link alla loro e-mail per cambiarla. Questo può essere fatto con un token sensibile al tempo. Ora possono avere anche un nome utente da visualizzare sul sito. Le insidie sono anche mitigate qui poiché il nome visualizzato può sovrapporsi e non c'è modo di provare ad accedere ad un altro account con quelle informazioni, ma l'email fornisce un controllo di verità (e possibilmente una sorta di identificatore fisico come un'immagine del profilo)