Protezione dell'utente da accessi non autorizzati

2

Quindi stiamo pianificando di aggiungere una funzione alla nostra app che sia simile a ciò che fa Google, ma un po 'più severa:

  1. Hai un elenco di sessioni collegate a un agente utente e un indirizzo IP (?) (google mostra una posizione)
  2. 2FA è necessario solo quando tenti di accedere da un dispositivo che non è stato approvato negli ultimi 30 giorni.
  3. Se viene effettuato un tentativo di accesso da un nuovo accoppiamento user-agent / IP, vorremmo inviare un link con un token al loro indirizzo email per approvare l'accesso.
  4. Quando fanno clic sul link, se 2FA è attivo, chiederemo a 2FA di approvare il login.

Alcune cose di cui ci stiamo chiedendo:

  1. Facendo intervenire l'utente per approvare gli accessi, piuttosto che Google, dove ti dice solo il login ... speriamo di prevenire un numero maggiore di accessi non autorizzati. (Attualmente inviamo una mail ogni volta che l'utente esegue il login e diciamo loro l'user-agent e la regione.)
  2. Richiedendo a 2FA di utilizzare il collegamento, ci auguriamo di proteggere ulteriormente il login non autorizzato (mentre è possibile reimpostare la password con l'accesso alla posta elettronica, è necessario l'autenticazione 2FA prima di poter accedere alla pagina per inserire la nuova password dopo aver fatto clic sul link di ripristino. )
  3. La nostra più grande preoccupazione è che non commettiamo accidentalmente qualche errore e che un utente dovrà saltare questo anello un miliardo di volte nella stessa sessione perché il suo gestore di telefonia mobile sta passando il proprio IP costantemente ... ecc. ecc.

Quindi mi viene l'idea che la restrizione basata su IP non sia probabilmente troppo buona ... quindi forse cercare la regione via IP e solo autorizzare la regione? Ma poi un hacker potrebbe facilmente rovinare l'user-agent e usare un proxy.

Nota: capisco che questo non è il nostro stop-tutto per la sicurezza, ma vorremmo aggiungere questo livello per ridurre le istanze di accesso non autorizzato.

La mia domanda: quale modello generale per la restrizione sessione / login avrà un buon equilibrio tra "impedire a newb hacker / jerks di accedere come quando hanno indovinato la tua password / phishing" e "non infastidire l'utente tutto il tempo con collegamenti di posta elettronica "?

    
posta user3074620 15.05.2018 - 02:16
fonte

1 risposta

1

Per essere onesti, non esiste una "risposta giusta" e questo richiederà probabilmente qualche prova ed errore. Io uso sempre una VPN e l'IP di hop - ma so che quando lo faccio la mia banca richiede 2FA ogni singola volta . Questa è una scelta che sono disposto a fare, mentre i tuoi utenti potrebbero non farlo. La maggior parte delle persone con IP inusuali accetterà questa parte della privacy, e coloro che usano la stessa subnet ISP che si connette dallo stesso luogo (casa o luogo di lavoro) si aspettano coerenza, quindi un IP malese sembrerà strano e 2FA farà esattamente quello che dovrebbe fare qui.

Generalmente, un utente mobile non dovrà saltare i telai a meno che non ti colleghi e riconnetti a nuove reti mentre usi la tua applicazione. Se si utilizzano dati cellulari, dovrebbero essere soddisfacenti e mantenere una sessione coerente.

A seconda del settore e della protezione dei dati che stai proteggendo, è quasi sempre meglio tener conto della cautela. Assicurati di inserire una nota di accesso per dire agli utenti perché e in che modo stai proteggendo i loro dati e capiranno o piagnucoleranno e gestiranno comunque. Le violazioni sono quotidianamente dovute al fatto che le persone negoziano la convenienza per la sicurezza, e non vorrei mai spiegare al mio CEO perché un cliente inesperto ha cambiato idea sul blocco di un IP o sull'utilizzo di 2FA, con conseguente compromissione del server e un .csv su pastebin con 1 milione di credenziali dei nostri clienti.

    
risposta data 17.05.2018 - 20:18
fonte

Leggi altre domande sui tag