2012-08-04 9 views
18

Non voglio che qualcuno tenga F5 sul mio sito o usi qualche strumento per richiedere frequentemente la pagina.Come prevenire l'attacco DoS nelle applicazioni ASP.NET MVC?

Vale a dire, impedire a un'azione o al controller di essere richiamati frequentemente da un client.

Come posso implementarlo? C'è qualche pacchetto che posso usare? proprio come la libreria AntiXSS.

+2

È possibile consentire all'utente di effettuare una richiesta HTTP solo ogni 5 secondi. StackOverflow ti consente solo di fare determinate cose ogni x quantità di tempo per risparmiare la loro larghezza di banda. –

+1

correlati: [Il modo migliore per implementare la limitazione delle richieste in ASP.NET MVC?] (Http://stackoverflow.com/questions/33969/best-way-to-implement-request-throttling-in-asp-net-mvc) –

+0

@AlexW SO fa la limitazione, ma questo non è sufficiente per prevenire gli attacchi DOS poiché si basa sull'indirizzo IP, che può essere cambiato un milione di volte in secondo, ovviamente non da me ma da un hacker –

risposta

12

La maggior parte di queste funzioni è disponibile nel gestore IIS. Qualcosa come Dynamic IP Restrictions dovrebbe aiutare. Leggi attraverso Microsoft's Best Practices for Preventing DoS/Denial of Service Attacks, questo fornisce una buona lista di cose da fare.

Anche in base a this video, Cloud Flare è in grado di prevenire questi attacchi con il loro servizio gratuito.

+0

Does IP Dynamic Restriction funziona in un carico bilanciato, senza stato, web farm? Non sembra basarsi sulla descrizione che ho letto. Ciò che intendo è che il modulo tiene traccia delle richieste di un IP su più macchine o solo sulla macchina locale? –