Problem z DDoS składa się z dwóch części:
1) Ponieważ botów jest tak wiele, nie muszą one ograniczać żądań tak wysoko, jak pojedynczy bot, a zatem nie są tak łatwe do rozpoznania jako boty.
2) Wszystko, co widzisz, to adresy IP (i User-Agent
w zależności od tego, jak filtrujesz ruch botów). Każdy adres IP może być botem DDoS, a każdy adres IP może być uprawnionym gościem. Niektóre adresy IP będą miały zarówno bota DDoS, jak i legalnego gościa. Co robisz?
Załóżmy, że Twoja witryna może obsłużyć 1000 żądań / s, a użytkownik nigdy nie zgłasza więcej niż 10 żądań / s. Jeden bot przy 100 req / s jest łatwy do zablokowania, dziesięć botów przy 100 req / s można łatwo zablokować. Ale 200 botów przy 5 żądaniach / s jest trudnych do zablokowania, ponieważ zachowują się prawidłowo.
200 botów przy 100 żądaniach / s też jest trudnych do zablokowania, ponieważ nie mogą one nawet wykonać więcej niż 5 żądań / s, co sprawia wrażenie, że zachowują się prawidłowo. Ta sytuacja jest znacznie gorsza niż 200 botów przy naprawdę 5 żądaniach / s, ponieważ odwiedzający ma teraz 10 na 10010 żądań próbujących wcisnąć się w połączenie, zamiast łatwiejszego do zarządzania 10 spośród 1010, które pomyślnie docierają do serwera.
1000 botów przy 100 żądaniach na sekundę sprawiłoby, że połączenie z witryną byłoby w ogóle niemożliwe dla każdego prawdziwego użytkownika. Atak tej wielkości spowoduje kłopoty również w innych miejscach.
Silna obrona Twojej witryny jest silną bronią dla atakującego:
Jeśli Twoja witryna blokuje adresy IP (lub nawet określone przeglądarki na adresach IP), jeśli będą się źle zachowywać, ktoś może zdecydować aby nadużyć swojej obrony, aby spowodować atak DoS po stronie klienta.
Przykład: Mallory tworzy stronę internetową zawierającą sto "obrazów" z margin-left: -1000em; szerokość: 1px; height: 1px;
i wszystkie te obrazy to niektóre „wrażliwe” adresy URL w Twojej witrynie. Kiedy gość odwiedza stronę Mallory, wyśle 100 obraźliwych żądań na twój serwer i dlatego zostanie zablokowany.
Tak więc uzyskanie bardziej agresywnej obrony przed atakami (D) DoS spowoduje również kolejną lukę w zabezpieczeniach.
„Inteligentna” obrona, taka jak CAPTCHA (aby dać odwiedzającym szansę udowodnienia, że są również gośćmi a nie tylko złośliwe boty) będzie miało również efekt uboczny w postaci faktycznego wymagania zasobów serwera.
Przesyłanie obrazów, gdy połączenie jest zatkane, nie wydaje się dobrym pomysłem. Nie pamięta też ogromnej liczby sesji CAPTCHA, CAPTCHA, na które nie ma odpowiedzi, częściowo dlatego, że obrazy nie mogły zostać wysłane, częściowo dlatego, że większość odwiedzających to nie ludzie.
I dalej dynamiczna witryna (wysoce lub niekomunikowana), gasziłbyś ogień benzyną.