DOS alternativa sicura per ritardare la risposta a un utente malintenzionato con sleep ()?

5

tl; dr

sleep () costa le risorse dei miei server. Usarlo per ritardare la risposta all'attaccante potrebbe costargli del tempo, ma consente il DOS. È possibile tenerlo in attesa senza costi miei?

Long

Supponendo di poter dire (o almeno di stimare molto bene) che i dati inviati al mio metodo via POST sono un attacco.

Per prima cosa, in un attacco di rabbia, anche se sarei intelligente, non rispondevo mai alla richiesta e lasciavo che l'attaccante "aspettasse per sempre", quindi ho pensato di usare sleep (30).

Poi ho scoperto che questo apre la porta per l'attaccante (specialmente quando si usa DDOS che è più di 1 IP) per guidare il carico del mio server attraverso il tetto perché ogni script "penzolante" (cioè dormendo) mi costa risorse sul mio sistema.

C'è un modo per sapere come ritardare una risposta a costi minimi? (interruzione della connessione TCP / IP senza preavviso e mantenimento dell'attacco al buio / in attesa)

In alternativa: In sostanza c'è forse anche una strategia per invertire i costi delle risorse?

    
posta humanityANDpeace 10.03.2014 - 08:29
fonte

1 risposta

2

sleep () non rallenterà gli attacchi di forza bruta di generazione attuale tanto tanto per cominciare.

In generale, i tentativi di interruzione della bruteforce oggigiorno vengono eseguiti tramite lo stesso tipo di botnet utilizzato per gli attacchi DDoS: quindi, piuttosto che una singola fonte che tenta un insieme di credenziali dopo l'altra, vedrai centinaia o migliaia di fonti diverse tentare un set singolo senza attendere una risposta l'un l'altro. A prescindere da quello che riporta un colpo, tutti gli altri zombi si limitano a scrollare le spalle e andare avanti.

Se hai un controllo sufficiente sul tuo server che puoi dire ai tuoi servizi di registrare cattivi tentativi di accesso a un file da qualche parte, puoi impostare qualcosa come fail2ban per gestire blocco e sblocco di attacker per te, ma sleep() sarà sostanzialmente inutile contro la maggior parte dei moderni tentativi di interruzione mentre degradano le prestazioni per utenti legittimi che Dovrai aspettare un secondo in più per ottenere ogni nuova pagina.

    
risposta data 10.03.2014 - 08:55
fonte

Leggi altre domande sui tag