DDoS

Atak polegający na zalaniu serwera lub usługi ogromną liczbą żądań z wielu źródeł naraz, tak aby przestała odpowiadać prawowitym użytkownikom.

DDoS (Distributed Denial of Service) to atak, w którym usługa — strona, API, serwer gry — zostaje zasypana lawiną żądań z wielu rozproszonych źródeł naraz, aż przestaje odpowiadać prawdziwym użytkownikom. Kluczowe jest tu słowo Distributed: ruch nie leci z jednego komputera (to byłby zwykły DoS, łatwy do zablokowania po IP), tylko z tysięcy maszyn rozsianych po świecie, często wpiętych w botnet bez wiedzy właścicieli.

Jak to działa

Cel jest prosty: wyczerpać jakiś ograniczony zasób. Może to być przepustowość łącza, pula połączeń TCP, pamięć, pula wątków serwera aplikacyjnego albo limit zapytań do bazy. Ataki dzielimy zwykle na trzy poziomy. Wolumetryczne (warstwy 3/4) po prostu zalewają łącze pakietami — tu króluje amplification, gdzie atakujący wysyła małe zapytanie do otwartego serwera (DNS, NTP, memcached) ze sfałszowanym adresem ofiary, a serwer odsyła ofierze odpowiedź wielokrotnie większą. Protokołowe (np. SYN flood) wykorzystują słabości stosu sieciowego. Aplikacyjne (warstwa 7, np. HTTP flood) wyglądają jak zwykły ruch — pełne, poprawne żądania GET / — przez co najtrudniej je odsiać.

Przykład z praktyki

W labie (na własnym serwerze, nigdy cudzym!) SYN flood symuluje się np. hping3:

  • hping3 -S --flood -p 80 192.168.1.10 — sypie pakietami SYN z losowych portów, bez kończenia handshake’a.

Serwer odkłada w kolejce półotwarte połączenia i w końcu odmawia nowych. Obronnie ogląda się to w netstat -ant | grep SYN_RECV — lawina wpisów to czerwona flaga. W produkcji nie walczysz z tym ręcznym iptables, tylko stawiasz przed aplikacją usługę typu Cloudflare, AWS Shield czy scrubbing center, które absorbują ruch zanim dojdzie do origin.

Częste mity

Po pierwsze: DDoS to nie włamanie. Nikt nie wykrada danych ani nie przejmuje serwera — celem jest sama niedostępność. Po drugie: iptables na jednym hoście nie uratuje cię przed atakiem wolumetrycznym, bo łącze zatka się przed twoim firewallem — blokowanie pakietów, które już dotarły, niczego nie zwalnia. Po trzecie: skala bywa absurdalna — rekordowe ataki przekraczają już kilka Tb/s, więc „mam mocny serwer” to żadna obrona. Uważaj też na otwarte resolvery i usługi UDP w swojej sieci — bez tego nieświadomie staniesz się wzmacniaczem dla cudzego ataku.

Pojęcia powiązane: DoS, botnet, SYN flood, amplification/reflection, rate limiting, WAF, CDN, blackholing.