Tentativi di accesso al limite di velocità: conteggio per IP o nome utente

22

Devo limitare i tentativi di accesso.

Un'opzione è contare i tentativi per indirizzo IP e quindi bloccare l'IP. Lo svantaggio è che utenti diversi possono avere lo stesso indirizzo IP. Un'altra opzione è limitare l'identificazione di un account (nome utente o email) e quindi bloccare l'account (può essere attivato manualmente dal supporto). L'unico svantaggio che posso pensare è che gli utenti malintenzionati possono indovinare i nomi utente e bloccarli ... Ma a parte questo, si sente più sicuro perché gli utenti malintenzionati possono utilizzare diversi IP, giusto?

Qual è il modo consigliato per farlo?

    
posta Moshe Shaham 01.03.2016 - 09:10
fonte

3 risposte

32

Direi che dovresti fare entrambe le cose.

Se si calcola solo il limite sull'indirizzo IP, un utente malintenzionato che controlla una rete bot potrebbe forzare un account con una password debole. Se hai 10.000 computer con IP univoci e ognuno è consentito quattro tentativi all'ora puoi provare quasi un milione di password al giorno.

Se si valuta solo il limite del nome utente, un utente malintenzionato con un elenco di nomi utente esistenti potrebbe forzare gli account con una password debole. Le probabilità sono che alcuni dei tuoi utenti utilizzino una delle prime 10 password, quindi se provi quelle su tutti gli account, otterrai da qualche parte.

Ovviamente potresti fare ogni sorta di combinazioni. Ad esempio, potresti bloccare un nome utente solo dopo che X diversi IP non sono riusciti ad accedere con esso, in modo che un utente malintenzionato che tenta di bloccare l'accesso da un utente debba lavorare un po 'per farlo.

    
risposta data 01.03.2016 - 10:06
fonte
17

Modello di minaccia

Dipende molto dal tuo modello di minaccia:

  • Quanto è grave un attacco DOS contro gli utenti rispetto alla compromissione di un account utente?
  • Un utente malintenzionato desidera attaccare un utente specifico o semplicemente raccogliere quante più credenziali valide possibili? (nel primo caso vorrai bloccare per username, nel secondo per IP).
  • Quanto è facile sbloccare un nome utente bloccato per un utente legittimo?
  • ...

Esempi

Per esempio prendi ebay:

  • Un attacco DOS sarebbe piuttosto brutto. Qualcuno potrebbe impedire a tutti gli utenti in competizione su un'offerta di accedere.
  • Naturalmente, anche la compromissione dell'account non è una buona cosa, ma il pagamento è assicurato (penso, dovrebbe essere) richiedendo ulteriori informazioni (ad esempio, quando si paga tramite paypal, è necessario inserire la password paypal) . Inoltre, il bando per nome utente aggiunge sicurezza solo se un utente malintenzionato vuole attaccare un utente specifico. Se vogliono solo più account possibili, il blocco dei nomi utente non limita gli attaccanti. Solo IP di blocco.

Quindi, in questo esempio, l'accesso all'applicazione è in qualche modo critico e un utente malintenzionato non attacca account utente specifici, la limitazione tramite IP sarebbe la decisione giusta e limitare il nome utente sarebbe dannoso.

Prendiamo un altro esempio: un accesso amministratore per un'applicazione web:

  • Probabilmente non ti devi preoccupare del DOS. Sì, sarebbe un fastidio minore, ma l'amministratore probabilmente ha metodi semplici per riacquistare il proprio account. Forse anche la pagina di accesso è nascosta, quindi un utente malintenzionato dovrebbe prima indovinare.
  • Un utente malintenzionato vuole solo attaccare quell'unico account amministratore e potrebbe avere parecchi proxy. Bloccare quell'account ha senso qui.

Quindi, il blocco tramite IP ha un effetto basso sull'attaccante, mentre il blocco tramite nome utente sarebbe la scelta corretta.

    
risposta data 01.03.2016 - 11:21
fonte
1

Dovresti valutare entrambi i limiti.

Fornire un account con un numero limitato di tentativi di accesso (da tutti gli IP) è piuttosto standard e interromperà il tentativo di indovinare la password di un utente.

Dovresti inoltre valutare il limite di ogni indirizzo IP rispetto ai tentativi di accesso non corretti per tutti gli account tentati, in modo che non possano superare un account e provare contro un altro più e più volte.

Ovviamente, questo è in cima alla limitazione delle richieste anti-DDoS standard.

    
risposta data 01.03.2016 - 13:11
fonte

Leggi altre domande sui tag