Domanda:
È buona o cattiva pratica consentire a un utente di cambiare il proprio nome utente?
Jeff Y
2017-12-20 03:02:51 UTC
view on stackexchange narkive permalink

Ho guardato ovunque online oltre a questo sito per cercare di trovare maggiori informazioni sulla sicurezza di questo, ma non ho trovato nulla. Nel mio caso particolare, il prodotto è un sito Web, ma penso che questa domanda valga per qualsiasi software che ospita un gran numero di utenti.

So che esistono numerosi siti Web che ti consentono di cambiare il tuo nome utente , ma allo stesso tempo ce ne sono molti che non lo consentono. Sono sicuro che alcuni che non lo consentono potrebbero essere solo per semplicità, ma forse anche per sicurezza.

La mia domanda è proprio come il titolo chiede:

Da dal punto di vista della sicurezza, diresti che è buona o cattiva pratica consentire alle persone di cambiare il proprio nome utente?

Al momento non riesco a pensare a nessuna ragione per non consentirlo, dato che è fatto correttamente ( cioè rendere impossibile la duplicazione dei nomi utente, richiedere l'inserimento della password corrente per assicurarsi che i requisiti della password siano ancora soddisfatti per quanto riguarda il non contenere il nome utente, ecc.), ma non posso fare a meno di pensare che mi manchi qualcosa.

So che ci sono vantaggi dal punto di vista dell'utente per consentire loro di cambiare il proprio nome utente. Un esempio potrebbe essere se impostano il loro nome utente sul loro indirizzo e-mail e decidono di utilizzare un altro indirizzo e-mail in un secondo momento. Invece, sono curioso dei vantaggi rispetto ai rischi relativi alla sicurezza dell'applicazione e al processo di accesso se consenti loro di cambiare il nome utente.

MODIFICA:

Alcune delle risposte sollevano punti positivi riguardo ai nomi visualizzati pubblicamente, ma per chiarire, la domanda non riguarda alcun nome visualizzato pubblico, ma invece il nome utente univoco utilizzato per accedere.

Domanda interessante.Non penso che tu debba proibirlo per proteggerti dagli utenti, ma potresti volerlo limitare per proteggere gli utenti l'uno contro l'altro.La modifica del nome utente può essere utile se stai cercando di truffare le persone sul sito.
Il mercato dei giochi Steam ha molte persone che fanno proprio questo.I truffatori cambiano il nome utente e la foto per fingere di essere qualcuno che conosci e ti chiedono di scambiare i tuoi articoli con loro.Steam ha una funzione che ti consente di vedere i nomi usati di recente da ciascun utente, che è un modo per un utente per evitare di essere truffato da un simile trucco.Potresti anche potenzialmente mostrare dettagli come da quanto tempo sono stati amici dell'utente o quando il nome utente è stato cambiato l'ultima volta per evitare questo tipo di truffa.
I siti Stack Exchange non solo consentono di modificare il nome utente, ma non è nemmeno necessario che sia univoco.
@Michael È fantastico, non è vero?
Chiedete informazioni sulla sicurezza da utente a server (nessun effetto) o da utente a utente?
La domanda è contrassegnata con "credenziali" @Michael quindi non credo che si tratti solo del nome visualizzato.Voi due Michael non vi autenticate a SE con lo stesso "nome utente".
Penso che oggigiorno se il nome utente è pubblicamente visibile e gli altri devono usarlo per rivolgersi a qualcuno, allora c'è la possibilità di modificarlo. Se il suo unico scopo è quello di accedere a qualcuno che non usi la posta elettronica, allora può essere una costante.
Potresti avere un sito che mantiene i nomi utente di base statici, ma consente agli utenti di modificare il nome visualizzato.
Una delle applicazioni che mantengo è un po 'un incubo cambiare il nome utente in quanto è il loro indirizzo e-mail - e questa e-mail è collegata ad alcuni database legacy, quindi dovrebbe essere controllata e ripristinata in alcuni punti con tutti i potenziali colpieffetti!Quindi è più facile non consentirlo ...
L'unico motivo che mi viene in mente per impedire agli utenti di modificare i nomi utente è [questo tipo di situazione] (http://i0.kym-cdn.com/photos/images/newsfeed/001/042/556/168.jpg).A seconda del tipo di servizio, potresti voler prendere provvedimenti per prevenirlo ma, nel complesso, non sarebbe un grosso problema per la maggior parte del tempo.
Tredici risposte:
#1
+113
fluffy
2017-12-20 10:13:56 UTC
view on stackexchange narkive permalink

Molte persone hanno esaminato le ragioni per non consentire il cambio di nome sia dal punto di vista della sicurezza che da quello della comunità. Tuttavia, ci sono molti motivi legittimi per consentire la modifica del nome utente, anche se il nome utente è separato dal nome visualizzato , ad esempio:

  • Qualcuno ha cambiato la propria vita reale nome o il nome con cui preferirebbero essere chiamati, a causa di matrimonio, situazioni familiari, fuga di stalking / molestie / ecc. e così via

    Anche nel caso in cui si tratti semplicemente di un nome utente, avendo usare un vecchio nome che trasporta un trauma può favorire il trauma. Inoltre, è del tutto possibile per uno stalker / molestatore conoscere le credenziali di accesso del proprio bersaglio e la possibilità di modificare entrambe le parti delle credenziali abbassa la superficie di attacco; inoltre, il monitoraggio dei tentativi di accesso a un nome utente abbandonato consente di creare una causa legale contro un cattivo agente.

  • Le persone hanno deciso di andare avanti con una transizione di genere

    Anche essere costretti a usare il proprio "nome morto", anche nel contesto di un nome utente privato, è molto traumatico. (Posso parlare di esperienza personale su questo.)

  • Le persone hanno un nome utente che non ritengono più adatto a loro per qualsiasi motivo

    Questo ha meno di un'implicazione per i nomi utente interni, ma è comunque meglio sbagliare per gentilezza, a mio parere.

Questi sono tutti importanti per il comfort dell'utente e in molti casi le persone probabilmente creerebbero comunque un nuovo account con il nuovo nome, quindi potrebbero anche supportarlo.

Evitare l'ingegneria sociale è certamente importante, ma esistono approcci che aiutano a mitigare questo problema, come varie forme di verifica (come si è visto su diversi social network), crittografia a chiave pubblica e indicatori di profilo ("nome cambiato l'ultima volta N mesi fa ; nome cambiato K volte "). Inoltre, poiché questa domanda è stata modificata per riguardare i nomi utente interni e non i nomi visualizzati pubblici, tali preoccupazioni non sono nemmeno pertinenti alla discussione.

Inoltre, tieni presente che molte superfici di attacco fornite da qualcuno la modifica del nome utente è presente anche per qualcuno che crea semplicemente un nuovo account e se un'opzione di modifica del nome utente non è disponibile, l'utente probabilmente creerà un nuovo account, possibilmente utilizzando la stessa password di quella vecchia e altrimenti facendo cose che potrebbero portare a sicurezza compromessa.

È una buona idea mantenere una traccia di controllo delle modifiche al nome utente e non consentire la creazione di nuovi account che utilizzano un nome utente utilizzato in precedenza (almeno se il nome utente è stato utilizzato l'ultima volta in passato, diciamo, anno), ma non c'è motivo per cui il nome utente debba mai essere la chiave primaria utilizzata per associare i dati all'account utente in primo luogo, perché ci sono scopi legittimi per una modifica del nome utente e tutti i record dell'account dovrebbero essere normalizzati in un abstr agire in primo luogo come ID solo interno.

Anche la natura della comunità ha qualche rilevanza.Se i tuoi nomi utente sono essenzialmente privati (come in Gmail o nella maggior parte dei servizi non social che richiedono la registrazione), consentire modifiche arbitrarie non è controverso.Tuttavia, se i nomi utente sono sia pubblici che pertinenti (ad esempio su un forum di discussione, blog, sito di giornalismo o persino SO), consentire modifiche arbitrarie al nome utente causa più problemi di quanti ne risolva e facilita semplicemente il trolling e l'evasione di responsabilità.
Motivo n.3 si applicano a me.Il mio nome utente, account e-mail, account LoL ecc. È "kukis13".È un nome utente perfettamente valido quando lo uso nel mio paese d'origine, ma da quando mi sono trasferito in Svezia ha un significato molto brutto.Quindi mi piacerebbe cambiarlo, ma la maggior parte dei servizi non lo consente
@aroth Ricordo un forum, di cui ero membro, che consentiva modifiche al nome.Il nuovo nome / immagine verrebbe essenzialmente applicato retroattivamente ai vecchi messaggi, poiché l'apertura del messaggio carica semplicemente il nome / immagine corrente dell'autore del post.Ciò potrebbe impedire una certa evasione di responsabilità.
Motivo n. 4 il sito Web su cui è registrato l'account ha un cappello nascosto che si attiva solo quando si modifica il nome utente / visualizzato.
Sebbene questa risposta attualmente abbia il maggior numero di voti positivi e abbia sicuramente sollevato punti positivi sul fatto di consentire a una persona di cambiare il proprio nome utente, continua a non rispondere alla domanda effettiva di "Dal punto di vista della sicurezza, diresti che è buono o cattivopratica per consentire alle persone di cambiare il proprio nome utente? "Pensa, ad esempio, a un sito Web bancario o a qualsiasi altro sito in cui il nome utente è privato e potrebbe non esserci alcun nome visualizzato pubblico.
@aroth - Almeno sui mod SE possono accedere a una cronologia di audit delle modifiche del nome e gli utenti regolari possono solitamente risolverlo con uno scavo minimo attraverso le conversazioni precedenti o il profilo dell'utente offensivo, rendendo l'effetto sulla responsabilità (o evasione dello stesso) un inconveniente piuttosto minore.Inoltre, nessuna modifica al nome rimuoverà i flag passati o impedirà agli script automatici di vietare a qualcuno di chiedere o rispondere.
@MichaelRichardson sicuramente questo è il caso qui, tranne @-mentions.È un po 'confuso quando ti rendi conto che il post che menziona `@Alice` ora appare come scritto da` Bob`, ma questo è un problema minore di UX.
"qualsiasi superficie di attacco fornita da qualcuno che cambia il proprio nome utente è presente anche per qualcuno che crea semplicemente un nuovo account" - non proprio, perché un nuovo account non ha una storia consolidata.Ad esempio, è probabilmente più facile impersonare un utente di Stack Exchange se il tuo rappresentante ha lo stesso numero di cifre del suo.
Un altro motivo, l'utilizzo dell'email come nome utente è stato abbastanza popolare.L'uso del mio indirizzo e-mail del college ha finito per non essere una grande idea per alcuni siti poiché non posso più accedervi e tutti i siti che lo utilizzano come nome utente causano problemi quando devono inviarmi un'e-mail.
Ho aggiornato la mia risposta per quanto riguarda la domanda che ha avuto il suo ambito ristretto, nonché in risposta ad alcuni dei bei commenti qui.
@fluffy Ho posto questa domanda sul sito di Sicurezza delle informazioni e ho pensato di aver chiarito le mie intenzioni della domanda, soprattutto quando la domanda originale termina con "So che ci sono vantaggi dal punto di vista dell'utente ... Invece, sono curioso dei vantaggi rispetto arischi relativi alla * sicurezza dell'applicazione e al processo di accesso * se consenti loro di cambiare il nome utente. "Probabilmente mi stavo concentrando troppo sulla prima metà della tua domanda, però, dove ti sei concentrato sui punti di comfort dell'utente, ma in effetti verso la fine della tua risposta hai dato risposte sulla sicurezza dell'applicazione.
#2
+35
K.B.
2017-12-20 03:39:04 UTC
view on stackexchange narkive permalink

Direi fintanto che non sono in grado di modificare il loro identificatore univoco. Cioè possono cambiare il nome con cui vengono visualizzati, ma quel nome è legato a un numero ID utente immutabile (questo renderà più felici anche i tuoi DBA). Mi assicurerei anche che l'utente non possa cambiare il proprio nome con un vecchio nome di un altro utente (per aiutare a mitigare il potenziale di truffa di cui parla Anders). Quindi dovresti cercare di memorizzare tutti i nomi che un utente è andato a un certo punto.

Potrebbe essere meglio avere una richiesta di modifica del nome utente, per gestire casi legittimi (come il caso e-mail) e non disporre di un metodo automatizzabile dall'utente per farlo.

Possiedo già un campo UserId, chiave primaria che non può essere modificata.Attualmente utilizziamo il tuo suggerimento in merito alle persone che ci contattano per richiedere una modifica, ma non è così scalabile a causa del lavoro manuale e ci impone di chiedere risposte alle loro domande di sicurezza per la verifica.Questo è ciò che mi ha portato a pensare di aggiungere quella funzionalità alla pagina del profilo del nostro sito o di non consentirla affatto, oltre a questa domanda.
Forse un filtro Bloom sarebbe appropriato per memorizzare i nomi utente precedenti?Ciò avrebbe l'ulteriore vantaggio che i dati utente precedenti non vengono effettivamente archiviati ma possono essere cercati.
È interessante notare che Twitter consente di cambiare il nome utente (non solo "nome" ma anche @username) in qualsiasi momento e consente di cambiare un nome utente precedentemente di proprietà di qualcun altro - senza nemmeno un ritardo (cioè entro pochi secondi dalla modifica del nome utente).
Gli utenti Twitter di @fjw dispongono di ID numerici.Il nome utente è solo cosmetico.Quindi non è così sorprendente che i nomi utente possano essere riutilizzati.
È così che Microsoft ha fatto con Windows.È possibile modificare il nome utente, per il login, ecc., Ma si collega comunque alla directory originale `c: \ user \
@solomonoffs-secret Sfortunatamente, quando l'utente Twitter cambia nome, tutte le menzioni @ si interrompono.E ora le tue risposte semi-nascoste a quella persona diventano visibili come normali tweet.
@Ark-Kun hai provato a cambiare il nome utente di Twitter?Le risposte esistenti non si interrompono e continuano a collegarsi al post a cui stavano rispondendo.Ovviamente chiunque crei un nuovo @-mention dovrà utilizzare il nuovo nome utente, ma le risposte esistenti fatte a persone con nomi utente precedenti sono ancora collegate correttamente come risposte.Per chiarire tecnicamente: le risposte sono collegate a livello di post e non si interrompono.Gli stessi @-mentions sono collegati a livello di nome utente.Twitter fa una distinzione ora (non sempre).
@fjw La mia esperienza è diversa.Ho scritto molte risposte alle persone.Quei tweet non venivano visualizzati nel mio feed tweet pubblico (solo in "Tweet e risposte").Recentemente ho guardato il mio feed e ho visto che è pieno di molte risposte che ora vengono mostrate nel mio feed principale.Inoltre, gli @-mentions iniziali non sono più collegamenti: vengono trattati come testo normale.Non sono sicuro di cosa sia successo.O la persona ha cambiato il suo alias o ha usato alcune liste nere di massa e bloccato tutti, me compreso.
#3
+8
Mike Ounsworth
2017-12-20 05:53:48 UTC
view on stackexchange narkive permalink

Come accennato, consentire agli utenti di modificare facilmente i nomi utente (chiamiamolo "nome visualizzato" per chiarire le ambiguità) rende più facile per gli utenti schivare le conseguenze di molestare o truffare altri utenti. Se il tuo sito ha un aspetto sociale, forse considera se ban, blocchi, segnalazioni, cronologie chat, ecc. Effettueranno un cambio di nome utente (ovvero un utente si renderà conto che sta parlando con lo stesso account, anche se il nome è cambiato? ).

Un altro punto da considerare è l'anonimato o i problemi di privacy. È abbastanza frequente che qualcuno faccia un account con il suo vero nome e poi per qualsiasi motivo si rammarica di avervi attribuito la sua vera identità. A volte questo è dovuto al fatto che sono stati colti in flagrante, ma spesso è anche per motivi legittimi, come la condivisione eccessiva dei dettagli personali della loro vita o per diventare vittime di bullismo. Questa recente domanda mi viene in mente come un esempio diverso:

Ho inserito accidentalmente la password di un sito web come nome utente per un altro sito web

In questo caso, invio un ticket di servizio che deve essere rivisto da un essere umano o che consente un numero limitato di modifiche al nome dell'account sembra un approccio ragionevole.

#4
+8
maaartinus
2017-12-20 10:02:17 UTC
view on stackexchange narkive permalink

Al momento utilizziamo il tuo suggerimento in merito alle persone che ci contattano chiedendo una modifica, ma non è così scalabile a causa del lavoro manuale e ci impone di chiedere risposte alle loro domande di sicurezza per la verifica.

È decisamente sbagliato. Non solo devi farlo manualmente, ma sei anche obbligato a fornire risposte di sicurezza a tutti coloro che elaborano tali richieste.

Se vuoi mantenere il controllo, allora semi-automatizzalo: lascia che l'utente faccia tutto il lavoro preparatorio, ovvero, inserire il nuovo nome, scrivere il motivo (se ti interessa) e rispondere alla domanda di sicurezza. Ora, i ragazzi dell'help desk devono solo accettare o rifiutare la richiesta.


Molte ragioni a favore e contro il permesso di cambiare il nome utente sono state fornite nelle altre risposte. Tieni presente che potresti fare la via di mezzo: consentire una singola modifica automatica, ad esempio una volta all'anno. È abbastanza generoso da gestire il 99% delle richieste ma abbastanza limitante da prevenire la maggior parte degli abusi.

Sì, ma non era una mia idea ed è così che sono state fatte le cose da prima del mio tempo.Questa è una parte della ragione di questa domanda in primo luogo;così posso migliorarlo :)
Un singolo cambiamento è un limite arbitrario e ci saranno sempre persone che avranno bisogno di più cambiamenti o non lo capiranno.E d'altra parte ci sono anche siti che fanno cose come permetterti di cambiare la tua data di nascita una volta.Nel caso avessi avuto un errore di battitura durante la registrazione?Trovo più importante apportare una modifica per rimuoverlo completamente, se lo desideri.
@allo Certo, ci saranno sempre dei casi eccezionali.Ma questo non rende invalido questo limite arbitrario.Se ti fa risparmiare una certa quantità di lavoro manuale, allora è utile.Immagino che questo limite potrebbe far risparmiare circa il 90-99%.Forse un limite diverso funzionerebbe meglio ... provalo e raccogli alcune cifre.+++ Rimozione dell'account: certo, ma non è questo l'argomento qui.
#5
+8
Rawrskyes
2017-12-22 05:33:43 UTC
view on stackexchange narkive permalink

Sono un po 'sorpreso che questo non sia stato sollevato. Ma presumo che il motivo per cui molti siti non ti consentono di cambiare il tuo nome utente è perché presenta un problema se le informazioni sull'account di un utente vengono rubate poiché l'attaccante può ora cambiare completamente tutto sull'account.

è senza dubbio più complesso tentare di recuperare un account per un individuo in cui i suoi dati sono stati rubati e tutto è stato completamente cambiato. Avere un'informazione comune che non cambierà mai rende più facile per un utente fare riferimento al proprio account nel caso in cui dovesse perdere l'accesso ad esso.

Penso che alcune delle altre risposte qui abbiano fornito soluzioni migliori , ma non sono sicuro che molti di loro abbiano toccato ciò che stavi effettivamente chiedendo riguardo alle implicazioni sulla sicurezza del permesso di cambiare il nome utente.

Ci sono soluzioni a questo, però.Per prima cosa, le notifiche e-mail fornirebbero una forma di rassicurazione che l'utente è legittimo.Ho visto molti siti che hanno "dimenticato il tuo nome utente?"opzioni che accettano un indirizzo e-mail (potresti tenere traccia degli indirizzi e-mail passati in modo che cambiarli non ti faccia male).E francamente, mi aspetto che l'assistenza clienti (che in genere sarà necessaria se qualcuno è così intenzionato a dirottare il tuo account) dovrebbe essere in grado di cercare il tuo account con il suo vecchio nome utente.Ciò dovrebbe essere memorizzato per misure di responsabilità, in ogni caso (prevenendo l'abuso della funzionalità).
#6
+6
Dan Landberg
2017-12-20 03:35:44 UTC
view on stackexchange narkive permalink

Direi che è meglio non consentire agli utenti di modificare i propri nomi utente, ma dipende in realtà dal modello di minaccia. Ecco i pro contro di & per consentirlo:

Pro:

  • Se le credenziali di un utente vengono compromesse su un altro sito, consentire agli utenti di cambiare il proprio nome utente può renderlo più difficile abbinare le credenziali dal sito compromesso al tuo sito, rendendo più difficile eseguire un attacco di credential stuffing. Tieni presente che l'utente che modifica la propria password raggiunge lo stesso obiettivo.

Contro:

  • Come accennato in precedenza, rende più facile per gli utenti eseguire social progettando attacchi l'uno contro l'altro sul tuo sito.
  • Hai aggiunto complessità al tuo sito, il che a sua volta aumenta il numero di potenziali bug di sicurezza. Ad esempio, se controlli la presenza di duplicati, ora hai una vulnerabilità nell'enumerazione degli utenti.
Curioso come l'enumerazione sia un problema se si tratta di un nome utente scelto dall'utente anziché di un indirizzo e-mail.Immagino che gli utenti che scelgono di utilizzare i loro indirizzi email possano contare ...
Era solo un esempio.Il punto che stavo cercando di sottolineare è che più complessi sono i tuoi processi / codice, più è probabile che tu commetta errori.Potrebbe essere altrettanto facilmente una vulnerabilità di SQL injection nel controllo duplicato, o un obiettivo per CSRF o qualsiasi altro bug.
Non devi verificare la presenza di duplicati quando viene creato l'account, punto?Puoi ridurre l'enumerazione degli utenti (se questa è anche una preoccupazione) con ritardi forzati, ma c'è un motivo per cui la maggior parte dei siti tratta i nomi utente come informazioni pubbliche.Non sono sicuro di capire come sia più facile eseguire attacchi di ingegneria sociale se puoi cambiare i nomi utente.Presumo tu stia pensando a persone che prendono il vecchio nome di qualcuno?Ciò dovrebbe essere completamente prevenibile, tuttavia, trattando quel nome come preso (può essere un alias o trattato come un account cancellato).
#7
+4
Christopher
2017-12-20 07:47:36 UTC
view on stackexchange narkive permalink

Stai essenzialmente bilanciando due problemi concorrenti, con un terzo fattore che interviene. Il primo è la sicurezza per gli utenti del tuo sito, cambiare un nome utente è un modo semplice per ingannare altre persone al fine di truffarli. Il secondo è che cambiare un nome utente è un modo semplice per ingannare altre persone al fine di sfuggirle.

Le persone che subiscono molestie preferiscono cambiare il proprio nome utente in quanto si tratta di una sospensione immediata. Le persone che molestano gli altri vorrebbero cambiarlo come puoi ottenere dalle difese iniziali. E l'altro fattore è che più parti in movimento significano più cose da colpire significa meno sicuro.

La tua prima cosa da fare dovrebbe essere decidere da che parte ti appoggiare qui. Ti stai concentrando sulla prevenzione dei truffatori o stai cercando di rendere l'ambiente il più sicuro possibile? Tenendo presente che creare un ambiente sicuro potrebbe significare non automatizzare una modifica e ci sono altri motivi per cambiare un nome utente, sia positivi che negativi. Sta a te capirlo in base a ciò che sai del tuo sito. Il secondo passo sarebbe quello di accertare se è possibile effettuare o meno un impianto sicuro per questo.

A questo punto è un diagramma di flusso. Preferiresti automatizzarlo, ma non puoi farlo in modo sicuro? Non farlo. Hai un problema con truffatori e altri attacchi di ingegneria sociale? Non farlo. Vuoi rendere più facile il cambiamento e puoi implementarlo in modo sicuro? Fallo.

Vorrei notare che, come altri hanno suggerito, tenere traccia dei nomi utente è una buona idea anche se nascosti e disponibili solo per te (idealmente nascosti se le modifiche sono per motivi di sicurezza) e aumentare il nome utente sarebbe utile un controllo di disponibilità per durare tre o giù di lì i nomi utente in tutto il sito (e qualcos'altro da rendere sicuro).

Infine hai menzionato la scalabilità. Man mano che aumenti, diventa più facile (leggi meno costoso) automatizzare cose che potresti non fare per motivi di sicurezza e difenderti dagli attacchi in un altro modo, vedi Twitter per un esempio. Se raggiungi quel punto, automatizza, prima è, meglio è.

Se vuoi mantenerlo automatizzato ma vuoi limitare gli abusi e il tuo sito ha una sorta di sistema di "karma", puoi scegliere di consentire solo le modifiche al nome per gli utenti con karma X o più, e possibilmente anche fare in modo che il cambiamento sia costoso..In questo modo bulli e simili (che probabilmente avranno un punteggio basso) non possono cambiare facilmente i loro nomi per eludere le difese e anche se possono non saranno in grado di farlo regolarmente a causa del colpo di karma del cambiamento, ma quellicercare una tregua o cambiare per altri motivi dovrebbe avere abbastanza karma per essere in grado di cambiare.
#8
+3
Ivan
2017-12-21 05:28:51 UTC
view on stackexchange narkive permalink

Nella mia esperienza, consentire un cambiamento dei nomi utente laddove non era stato originariamente previsto rende il controllo / registrazione leggermente più difficile, specialmente nell'inevitabile circostanza in cui uno sviluppatore di anni fa ha deciso di aggiungere il nome utente ma non la chiave primaria a ciascuno voce di log.

Succede, specialmente quando assumi sviluppatori dilettanti / esternalizzati: i tuoi log diventeranno spazzatura che dovrai ricostruire in modo forense incrociato manualmente le date se le tue voci di log non sono mappate il nome utente della chiave primaria originale al momento dell'attività.

Quindi, prima di abilitarlo, ti consiglio di esaminare tutte le soluzioni di registrazione che potresti avere e assicurarti che stiano registrando il pk a fianco / invece del nome utente in modo da poter tenere traccia dell'identità attraverso le modifiche al nome utente.

#9
+3
cedbeu
2017-12-21 13:24:43 UTC
view on stackexchange narkive permalink

Secondo me, questa è più una questione di strategia o architettura che di sicurezza ... A patto di mantenere un identificatore univoco interno per ogni utente (ad es. un ID univoco DB, che non cambierà mai, ma che non deve essere visualizzato da nessuna parte) e una cronologia delle modifiche per utente, gli utenti dovrebbero essere in grado di modificare i propri accessi o nomi utente. Se vuoi visualizzare la cronologia delle modifiche sulla pagina dell'utente dipende dallo scopo e dall'utilizzo del tuo software.

Personalmente trovo sempre molto fastidiosi quei servizi che impongono quel tipo di restrizioni arbitrarie ("non puoi cambia il tuo nome utente "," non puoi cambiare il tuo login "," non puoi riutilizzare le password che hai già usato in passato ", ecc.).

Tuttavia, possiamo fare la differenza tra 3 casi ( più quello generale):

  1. software offline

  2. servizio intranet

  3. servizio Internet

  4. riepilogo

1 - software offline

Nel caso di un software offline, gli utenti dovrebbero sempre essere in grado di modificare il proprio login. Tutto è locale qui, quindi non c'è motivo per vietare qualsiasi cambiamento.

2 - servizio intranet

Nel caso di un servizio intranet, molto probabilmente ci aspettiamo che gli utenti abbiano un modo semplice per contattare direttamente un amministratore.

Forse il modo più sicuro per modificare il login potrebbe essere una procedura manuale allora. Probabilmente è anche possibile garantire un modo sicuro per automatizzare la procedura.

Ma, comunque, IMHO, gli utenti dovrebbero essere in grado di modificare il proprio login e il login dovrebbe essere totalmente indipendente dall'ID univoco dell'utente.

3 - servizio Internet

Nel caso di un servizio online, penso che il login dovrebbe sempre essere l'indirizzo email dell'utente (o, forse, in alcuni casi, un numero di cellulare, tuttavia, non appena è un servizio Internet, mi aspetto che il mio utente abbia un indirizzo email e non consiglierei l'uso di un numero di telefono).

In tal caso, certo, gli utenti dovrebbero essere in grado di modificare il proprio indirizzo e-mail ogni volta che lo desiderano e, quindi, il proprio accesso (ovvero il proprio indirizzo e-mail).

Ovviamente in tal caso, dovresti assicurarti di avere una procedura adeguata, per assicurarti che quando avviene la richiesta di modifica, ci sia un meccanismo che permetta di confermare che il richiedente è il proprietario dell'account (email di verifica con link di conferma che ha una data di scadenza, diciamo 24h ma questo dipende dal tuo caso).

4 - riepilogo

  • gli utenti dovrebbero sempre essere in grado di modificare i propri dati di accesso
  • l'ID univoco dell'utente dovrebbe sempre essere indipendente dal login
  • nel caso di un servizio Internet, evitare "username login", preferire "email address login", con una procedura di validazione / conferma
  • in ogni caso potrebbe essere una buona idea tenere traccia della cronologia delle modifiche ... se la visualizzi su un "profilo utente" o meno dipende dal tuo caso d'uso specifico
#10
+2
Tom
2017-12-22 07:19:06 UTC
view on stackexchange narkive permalink

Non vedo alcuna risposta controllando la domanda più importante:

Il nome utente è un segreto nel tuo sito o no?

Se il nome utente è mostrato su un utente pagina del profilo, o come l'autore nei messaggi del forum o è ricercabile in un elenco di membri, non ha funzioni di sicurezza. Pertanto, modificarlo o meno non ha alcun significato per la sicurezza.

Se il nome utente è un segreto, ad es. hai un nome visualizzato diverso o mostri il nome completo dell'utente ma utilizzi un nome breve o un alias per scopi di accesso: se il nome utente è un segreto, influisce sulla sicurezza poiché un utente malintenzionato deve conoscere sia il nome utente che la password per accedere a un account.

Tuttavia, poiché gli utenti tendono a riutilizzare i nomi utente e generalmente non considerano i nomi utente segreti nello stesso modo in cui lo fanno con le password, il nome utente è un segreto debole. Inoltre non ha alcuna importanza in molti attacchi (MtM, keylogger, phishing, hack di DB, ecc. Ecc.)

Quindi, anche se il tuo nome utente è un segreto, i vantaggi dell'usabilità (descritti in altre buone risposte) superano di gran lunga le considerazioni sulla sicurezza.

#11
+1
Chris H
2017-12-21 14:55:02 UTC
view on stackexchange narkive permalink

Se consenti agli utenti di utilizzare indirizzi email come nomi di accesso, devi consentire loro di modificare i loro dati di accesso:

  • Se qualcuno lascia un'organizzazione, potrebbe perdere immediatamente l'accesso a quell'indirizzo e il nuovo indirizzo può essere assegnato a qualcun altro altrettanto rapidamente . (Ho dovuto cambiare ISP senza preavviso quando si sono resi conto che non potevano connettere la mia nuova casa, dopotutto, gli indirizzi e-mail sono diventati disponibili per gli altri lo stesso giorno). Anche se utilizzi l'indirizzo solo come nome di accesso e mai come per le email effettive, questo è un vettore significativo e non necessario per gli attacchi di ingegneria sociale.
  • Se consenti loro di cambiare l'indirizzo email che usi per l'invio di email mentre sta ancora registrando con il vecchio indirizzo che crea confusione, una cattiva UX e porterà a chiamate di supporto.
#12
+1
allo
2017-12-22 19:14:20 UTC
view on stackexchange narkive permalink

Ci sono molti punti a favore e contro.

Ad esempio, un utente potrebbe voler cambiare il nome per evitare di essere riconosciuto perché ha notato che googando il suo nome utente dal sito A mostra il suo profilo su sito B.

D'altra parte, è importante non permettere di cambiarlo, in modo che le persone possano riconoscerlo di nuovo sul tuo sito. Pensa a un forum con un noto troll. Le persone sanno come gestirlo e non gli prestano attenzione. Fino a quando non cambia il suo soprannome. Ovviamente questa non è una vera protezione in quanto può registrare un altro nome utente, ma evita abusi cambiando il nome per ogni post.

Se il nickname è una specie di chiave primaria, non puoi permettere di cambiarlo esso. Pensa a un indirizzo e-mail oa un ID jabber. Alcuni siti ti consentono ancora di cambiare il nome e devi fare attenzione nel farlo. Se prendi in considerazione la possibilità di cambiare il tuo nickname di Twitter, è meglio registrare il vecchio nome in seguito per evitare di essere associato al nuovo utente. Questo è un punto per bloccare il nome utente per un uso futuro anche dopo l'eliminazione dell'account.

Un nome utente fa parte del processo di accesso, quindi modificarlo potrebbe fermare un attacco di forza bruta. A seconda del sito anche senza che l'aggressore sappia se la password è sbagliata o se l'intero utente non esiste.

Alla fine, penserei che il nome utente dovrebbe essere unico e probabilmente non modificabile e bloccato dopo eliminazione dell'account, ma dovresti fornire un modo per definire un nome visualizzato che sia visualizzato in modo più visibile rispetto all'handle dell'account.

Dai un'occhiata a SO, che utilizza ID o il buon vecchio ICQ che utilizza uno schema di numerazione. Le persone devono usare il nome visualizzato nel loro elenco di contatti, perché chi ricorda tutti gli UIN dei suoi amici?

Infine, la tua decisione non deve essere definitiva. Puoi sempre passare all'altro modello. Rendere modificabili i nomi utente fissi non dovrebbe essere un grosso problema, correggere i nomi utente che erano modificabili probabilmente richiederà alcune spiegazioni per i tuoi utenti.

#13
+1
Deathhound
2017-12-28 01:04:04 UTC
view on stackexchange narkive permalink

Dobbiamo esaminare alcune delle possibili opzioni:

Perché l'utente dovrebbe voler cambiare il proprio nome utente?
-personalizzazione
-hanno uno stalker

Perché vorresti che l'utente cambiasse il proprio nome utente?
-la versatilità / personalizzazione porta a clienti fedeli

Perché l'utente non vorrebbe che altri utenti cambiassero il proprio nome utente?
-the OG hipster scusa "sono stato il primo soccerkid96 non ce ne possono essere altri"
-non riesco a pensare a nessun altro motivo

Perché non vuoi che l'utente cambi il proprio nome utente?
-qualche tipo di frode d'identità? più account di phishing che prendono il nome da xXP0rn $ L @ yerXx, detentore del record mondiale con il punteggio più alto
-potrebbero essere usati come backdoor per informazioni o possibilmente come vulnerabilità per sovraccarico di database o DDoSing

Per evitare problemi più indesiderati, Consiglierei un identificatore statico univoco per tutti gli account (non correlato al nome dell'account pubblico), pagare per la modifica del nome utente, 1 modifica del nome utente ogni 5000 anni, ecc.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...