Come difendersi da un attacco DOS Black-Spoofed-IP?

4

Quindi ho implementato una lista nera IP per l'endpoint /login sul mio server.

Se qualche IP non riesce ad accedere più di x numero di tentativi in x numero di minuti l'IP richiedente è nella lista nera per x numero di minuti.

Questo è un modo per mitigare tutti gli attacchi di forza bruta che tentano di determinare la password di un utente aggiungendo grandi ritardi al mix quando troppe richieste /login fallite sono ricevute da un dato IP.

Ma c'è uno scenario in cui questo potrebbe essere problematico, e in realtà essere uno strumento per un utente malintenzionato per lanciare un attacco DOS contro il mio legittimo utente, in questo modo:

  • Blackhat vuole utilizzare il sito Web di DOS LegitUser
  • LegitUser ha un server con l'IP 11.22.33.44
  • Il server di LegitUser deve comunicare con il mio sistema per rimanere online.
  • Blackhat scopre quale IP del server di LegitUser è
  • Blackhat utilizza un server proxy come uno Spoofing IP per inviare un gran numero di tentativi di /login intenzionalmente falliti al mio sistema, sapendo che questi tentativi falliti otterranno l'IP richiedente (che è stato spoofato in 11.22.33.44 ) nella lista nera.
  • A Blackhat non interessa se riceve una risposta dal mio sistema per le richieste di /login intenzionalmente fallite perché il punto di questo attacco non è quello di forzare le credenziali, è di ingannare il mio sistema facendogli credere che l'IP 11.22.33.44 ha superato i suoi errori di accesso assegnati per un determinato periodo di tempo.
  • Il risultato è che l'IP 11.22.33.44 è nella lista nera dal mio sistema. Ma questo IP non appartiene a Blackhat, appartiene a LegitUser, che non ha mai giocato alcun ruolo in questo attacco.
  • Il risultato della blacklist dell'IP 11.22.33.44 è che il sito web servito da quell'host è ora offline, perché dipende dal fatto che il mio sistema rimanga online.

Come potrei fare per proteggermi da questo?

    
posta AJB 25.12.2015 - 02:20
fonte

1 risposta

3

Secondo molte di queste risposte:

link

È davvero improbabile che si possa effettivamente spoofare l'indirizzo IP e inviare una richiesta HTTP completa a un server. TCP richiede un handshake a tre vie , che significa inviare un pacchetto al mittente e aspettarsi una risposta molto specifica (con un numero che dovrebbe essere casuale, 10+ anni fa, quel numero sarebbe stato incrementato in modo tale che fosse possibile indovinare più o meno il numero successivo e quindi inviare una "risposta" - in realtà una seconda richiesta - con il dati e quindi la richiesta HTTP stessa.

Con questo in mente, bloccare un indirizzo IP è un buon modo per prevenire lo spreco di larghezza di banda per soddisfare una sete di robot nel tentativo di accedere a un account. Molti sistemi offrono questa capacità e la maggior parte, come la tua, lo fa temporaneamente. In realtà, in genere ho impostato il mio per bloccare quell'account per 1 giorno intero perché ho visto molti attacchi durare almeno per così tanto tempo. Detto questo, i miei siti web non sono come Facebook o Twitter in cui le persone tornano più volte al giorno praticamente ogni giorno ... Quindi dipenderà dal modello di business, da chi usa i tuoi sistemi, quanto, quanto spesso devono registrarsi in o accedi nuovamente, ecc.

    
risposta data 13.01.2016 - 06:07
fonte

Leggi altre domande sui tag