Sicurezza con sessioni senza scadenza

4

Le sessioni scadono in modo diverso su diversi luoghi sul Web:

  • StackOverflow: non scade mai
  • Twitter: non scade mai
  • Facebook: non scade mai
  • Striscia: scade dopo 30 minuti o un'ora circa
  • Alcuni siti web bancari: scadono dopo 15 minuti di inattività
  • Gli altri siti Web scadono dopo 5 minuti, a prescindere da cosa

Le ultime pratiche dicono di mantenere le richieste senza sessioni e di utilizzare una JWT che si aggiorna automaticamente ogni 15 minuti o su una nuova richiesta, usando un token di aggiornamento. Il motivo è che puoi inserire rapidamente una lista nera di un token se finisce nelle mani sbagliate e non sarà utilizzabile per più di 15 minuti, mantenendo la durata dell'attacco minima.

Il problema è che non vuoi disconnettere un utente ogni 15 minuti, è una brutta UX. StackOverflow e Twitter sono fantastici perché sei sempre connesso.

La parte confusa è il motivo per cui StackOverflow / Twitter non lo fa. Sembra un rischio per la sicurezza se segui il percorso di scadenza della sessione di 15 minuti, o forse sta facendo qualcosa per mitigare il rischio.

    
posta Lance Pollard 26.11.2017 - 05:45
fonte

1 risposta

3

Per prima cosa, considera il pubblico. Ovviamente la violazione di un conto bancario sarà più disastrosa rispetto allo stack overflow. Deve essere adattato al livello dei dati che stai elaborando.

Secondariamente - sto assumendo perché tu dici che non scade mai, vuoi dire che il cookie non scade mai. Questo di per sé non è un buon indicatore. Gli ID di sessione e simili possono essere rigenerati periodicamente. La scadenza della Sessione reale non dovrebbe essere invocata. PHP ad esempio ha un sistema ridicolmente complesso di invalidare le sessioni - Maggiori dettagli possono essere trovati qui: link

Quando si considera l'inconveniente, è necessario considerare l'impatto sulla sicurezza in termini reali. Odio la mia banca, è sempre scaduta prima che io abbia finito .... ma a causa del contenuto, questa è una considerazione che deve essere fatta. Se StackOverflow ha interrotto la mia sessione a metà della risposta, non lo userei mai più! (sì, ho registrato solo stasera) Ma stack overflow non memorizza i dati personali necessari per avere un timeout di 15 minuti.

Le app sono simili. Accedi a Twitter / Facebook e hai effettuato l'accesso (praticamente) per sempre. Si affidano alla sicurezza del dispositivo stesso per "autenticarti", oltre al fatto che si tratta di un dispositivo che non sarà mai troppo lontano da te. Le banche richiedono nuovamente una verifica costante del fatto che tu sia chi dici di essere.

    
risposta data 26.11.2017 - 06:00
fonte

Leggi altre domande sui tag