2011-06-19 12 views
5

Jeśli wprowadzę opóźnienie Thread.Sleep(x) podczas renderowania mojej odpowiedzi HTTP, gdzie x zmieni się w zależności od szybkości żądań z danego IP: od zera, gdy stopa żądania jest niska, i stopniowo wzrasta, jeśli żądania następują po sobie.Atak DDOS: bronienie za pomocą Thread.Sleep()?

Czy to realne rozwiązanie do ochrony przed DDOS?

Jakie są słabe punkty?

+0

Czy to naprawdę chroni przed DDoS, czy może po prostu zmniejsza liczbę połączeń potrzebnych do utworzenia DDoS na serwerze? Co więcej, czy projektowanie serwera nie powoduje wolniejszego reagowania podczas dużego natężenia ruchu na coś w rodzaju słabego punktu? – Caleb

+0

Chodzi o to, aby dostroić funkcję, która daje "x", w zależności od żądań, tak aby regularne żądania przebiegały łatwo, a nadmierna powtarzalność wprowadzi opóźnienia. Więc nie powinien to być słaby punkt. Słabym punktem, o którym wspominali inni, jest rozproszony charakter żądań. – Andy

+0

Cóż, tak, o to chodzi. Twój serwer będzie, według projektu, zwalniać, jeśli ktokolwiek kiedykolwiek opublikuje link do jednej ze swoich stron na Slashdot. To nie jest prawdziwy DDoS (a może jest), ale nie będziesz w stanie odróżnić. – Caleb

Odpowiedz

0

Nie. DDoS to atak, który wykorzystywał wiele zaatakowanych maszyn do atakowania celu. To chroni przed mniejszymi atakami, takimi jak DoSes, ale nie rozproszonymi atakami. Zwykle twój serwer internetowy ulegnie awarii, zanim może wywrzeć jakiś efekt.

Polecam usługę ochrony DDoS lub hosta, jeśli masz z nimi wiele problemów.

2

Z pewnością nie zapobiega DDoS, ponieważ sprzęt sieciowy przed aplikacją może być nadal przytłoczony.

Dodatkowo rozproszony charakter "rozproszonej odmowy usługi" oznacza, że ​​otrzymujesz nadmierny ruch z wielu różnych adresów IP, a nie z jednego.

Niezależnie od tego, co robisz w aplikacji, nie przeszkadza to, co znajduje się przed aplikacją.

7

Nie, nie chroni przed atakami DDoS. Chroni procesor przed przeciążeniem, ale nadal zajmuje wątek podczas snu, więc atakujący może łatwo zająć wszystkie przypisane wątki na serwerze sieciowym, powodując, że nie reaguje. W rzeczywistości ułatwia wykonanie ataku DDoS.

Uśpienie można wykorzystać do ochrony przed brutalnymi atakami z użyciem zasobów, zmniejszając liczbę prób, które można wykonać na sekundę. (Wadą jest oczywiście to, że czyni to bardziej wrażliwym na ataki DDoS.)

+0

+1, ponieważ wyczerpanie zasobu jest przedmiotem ataków DDoS. Procesor, pamięć, wątki, połączenia, przepustowość - dowolny skończony zasób. –

2

Sen z wątku jest przydatny tylko w celu ochrony przed atakami kryptograficznymi. Możesz ich użyć do ochrony przed:

  • Atakujący używający czasu wykonania różnych ciągów prowizji do określenia logiki w twojej implementacji. Jeśli upewnić się, że wszystkie odpowiedzi brać w tym samym czasie, to nie można wykorzystać te informacje, aby sprawdzić, jak działa algorytm
  • Zwiększenie czasu wykonania na powtarzane udało hasło próbuje uniknąć atak brute force

Oprócz tych używa, sen wątku nie ma dużego zastosowania w bezpieczeństwie. Zawiązują zasoby (połączenia lub stan sesji), więc są bezwartościowe, aby chronić przed atakiem DoS.

0

DDoS nie może być chroniony kodem, to więcej niż ochrona serwera, zazwyczaj DDoS zrani system równoważenia obciążenia i zaporę, jeśli masz jakieś, jeśli nie DDoS zrani twój serwer.

DDoS mogą być wykonywane przez wielu poziomach: UPD/TCP/HTTP itp ...

Najlepszym sposobem, aby chronić się przed DDoS jest użycie odwrotnego proxy, więc jeśli przejść do witryny to przyzwyczajenie pokazać prawdziwy IP, i szczęśliwie mamy teraz za darmo z Cloud Flare.https://www.cloudflare.com/

Napisałem mały artykuł o tym, jak Cloud Flare chroni cię, ponieważ używam ich od roku i są one NAJLEPSZE jak dotąd i najtańsze.

http://www.yourwwwdesign.com/2012/07/23/best-practice-to-protect-your-site-from-ddos-for-free/

Nadzieja to pomaga! jeśli potrzebujesz więcej pomocy, nie wahaj się ze mną skontaktować.