2009-06-01 7 views
1

Ich suche nach einer guten und kostengünstigen Möglichkeit, um Denial of Service-Angriffe auf meiner ASP.NET MVC-Site zu verhindern.C# MVC: Was ist ein guter Weg, Denial Of Service (DOS) Angriffe auf ASP.NET-Sites zu verhindern?

Ich habe über eine Lösung nachgedacht, die den HttpHandler abfängt und dann Anforderungen im Cache-Objekt zählt, wobei der Schlüssel etwas wie "RequestCount_ [IpAddressOfRequestClient]" ist, aber das scheint einen verrückten Overhead zu erzeugen.

Alle Ideen würden sehr geschätzt werden. Vielen Dank!

Antwort

4

Sie könnten versuchen, die Anforderungen zu drosseln. Identifizieren Sie die Benutzer nach IP und/oder Cookie und begrenzen Sie die Anfragen zum Beispiel alle zwei Sekunden. Ein Mensch würde es nicht bemerken, aber das würde einen Bot erheblich verlangsamen.

Dies hilft auf der Anwendungsebene (schützt Ihre App/Datenbank), aber es ist keine vollständige Lösung, da die Treffer immer noch auf der Netzwerkebene kommen.

Als Frontlinie der Verteidigung würde ich wahrscheinlich auf Hardware angewiesen sein. Viele ISPs bieten Schutz, zB: http://www.softlayer.com/facilities_network_n2.html