Blocca l'account per un tempo limitato e si sblocca automaticamente

0

Se un utente non riesce ad autenticare più e più volte il suo account sarà bloccato a causa di determinate condizioni.

Ma mi chiedo, quale sarebbe la migliore pratica o una buona pratica per sbloccare automaticamente l'account.

Ci sto pensando:

Soluzione A

Devo bloccare l'account per 5 minuti o un'ora e totalmente "ignorare" ciò che accade durante questa ora e consentire all'account di essere utilizzabile dopo questo timeout di nuovo?

o

Soluzione B

Devo prendere in considerazione ciò che accade durante questo timeout di un'ora come: Se l'account è ancora bruto, forzare il blocco dell'account per un'altra ora.

Posso contare che l'account verrà immediatamente bloccato nuovamente dopo questa ora?

Che cosa pensi di questo?

    
posta cornelinux 07.07.2017 - 10:55
fonte

2 risposte

1

Quello che stai suggerendo è un limite di tariffa per account: un contatore su un singolo account.

Questo articolo descrive un numero di differenti strategie che probabilmente vorrai utilizzare in parallelo:

  • per-source rate-limit: limita la percentuale di tentativi di accesso da un blocco IP o IP a qualsiasi account
  • per account limite di velocità: limita il numero di IP che possono tentare di accedere a un determinato account in un determinato periodo.
  • limite di velocità globale : limita il numero massimo complessivo di tentativi di accesso da qualsiasi fonte a qualsiasi account

Attenzione - se crei periodi di lockout lunghi come un'ora, per un utente malintenzionato è molto semplice negare il servizio ai tuoi utenti. Tutto quello che devono fare è creare alcuni errori di accesso ogni ora e l'utente non può mai accedere. La combinazione dei limiti di velocità sopra è un approccio migliore.

Altre cose che ti semplificheranno la vita:

  • implementa il limite di velocità ovunque che un utente può autenticare: non dimenticare l'endpoint "reimpostazione password" che convalida la vecchia password. È molto comune che le applicazioni valutino il limite della schermata di accesso principale ma lasciano altri endpoint illimitati.

  • incoraggiare buone password con un misuratore di entropia (resistenza della password). Forse impone anche una certa forza sul lato server. zxcvbn è eccellente e open source.

risposta data 08.07.2017 - 01:54
fonte
2

L'obiettivo di tale meccanismo di blocco dell'account è limitare il numero di tentativi di password in un periodo di tempo per mitigare gli attacchi di forza bruta. Quindi dovresti pensare a quanti tentativi vuoi permettere in un certo periodo di tempo. Quale soluzione utilizzi non è così importante per la sicurezza.

    
risposta data 07.07.2017 - 15:59
fonte

Leggi altre domande sui tag