Sì. D'altro canto, non si desidera che il file di registro contenga potenzialmente le password, cosa che succederebbe se qualcuno inserisse il login e inviasse la password al posto del nome utente.
Quello che penso potrebbe essere un compromesso valido potrebbe essere il log:
- tentativi con nomi utente validi e password non valide, registrazione del nome utente ma non della password.
- tentativi con nomi utente non validi (che potrebbero essere password o qualsiasi altra cosa), registrando il nome utente come "INVALID".
La logica è che diversi tentativi con un singolo nome utente valido ti diranno di una possibile bruteforcing contro quel nome utente; uno sciame di tentativi contro il nome utente INVALID avverte di un attacco "nome utente con password ovvia" su larga scala, che, se si dispone di una politica password corretta, è irritante ma innocuo. Tanto più che i tentativi contro utenti noti.
È ipotizzabile che qualcuno stia tentando di forzare un singolo nome utente non valido; se questo è un problema, puoi registrare nomi utente non validi come hash (parziale e / o salato). Il valore di queste informazioni in chiaro, anche se catturate da parti ostili, sarebbe essenzialmente nullo.
Un numero molto piccolo di tentativi sul nome utente NON VALIDO può essere dovuto a errori di ortografia dei propri nomi da parte degli utenti o alla digitazione della password al posto del nome; o paranoici che intenzionalmente bloccano il loro primo accesso credendo che questo sia protetto contro l'acquisizione di credenziali.
Specialmente se seguito rapidamente da un login valido dallo stesso indirizzo (a meno che non si tratti di un sistema che maschera una grande rete ...), un errore di autenticazione occasionale di questo tipo potrebbe essere considerato rumore e ignorato.
(Potresti inoltre distinguere un piccolo insieme di "nomi validi non validi" come informazioni , admin *, amministratore , ospite , se volevi, ma probabilmente è eccessivo)
Inoltre, per i veri paranoici, potresti riempire tutti i nomi utente validi e la stringa "INVALID" deve essere la stessa, a lunghezza fissa (diciamo ... 20 caratteri?). Se per caso un utente malintenzionato potesse osservare da remoto la crescita del file di registro, non sarebbe in grado di stabilire se esistesse o meno un nome utente nel sistema.