Jak skutecznie bronić się przed atakami DoS/DDoS?
- Patryk Królikowski,
- 20.08.2012, godz. 08:45
Ciekawe jest też to, że atak Slowloris jest przeprowadzany po cichu. Apache nie zapisuje pliku logu połączenia dopóty, dopóki zapytanie nie zostanie ukończone, a więc w tym przypadku w logu nie znajdziemy śladu tego ataku. Slowloris był (a czasem nadal jest) zabójczy szczególnie dla serwerów opartych na Apache. Od czasu opublikowania Slowloris powstało wiele mechanizmów ochronnych, w tym m.in. dedykowane moduły mod_antiloris oraz mod_noloris.
ETAP 0: ustalenie wartości time-out serwera
ETAP 1: wysłanie niekompletnego zapytania
POST / HTTP/1.1\r\n
Host: costam.pl\r\n
User-Agent: Przegladarka\r\n
Content-Length: 66\r\n
X-a: b\r\n
ETAP2: podtrzymanie sesji
GET / HTTP/1.1\r\n
Host: costam.pl\r\n
User-Agent: Przegladarka\r\n
Connection: Keep-Alive\r\n
Ranges: bytes=0-10\r\n
X-a: b\r\n
ETAP3: przesłanie kolejnego zapytania o nieco innym nagłówku
# slowhttptest -c 8000 -X -r 200 -w 512 -y 1024 -n 5 -z 32 -k 3 -uhttp://192.168.127.136/index.html -p 3
Serwis www przestał być dostępny już po kilku sekundach. Wystarczyło przerwać atak, aby znowu zaczął odpowiadać. Oczywiście, zastosowaliśmy domyślną konfigurację Apache, ale fakty są takie, że większość serwerów w internecie jest skonfigurowana w ten właśnie sposób.
Zaatakowane mogą być w zasadzie dowolne komponenty usługi. Niekoniecznie musi być to portal. Wiele organizacji, wymieniając między sobą informacje (np. finansowe), korzysta z rozmaitych API. Skuteczny atak w ten interfejs również skończy się odmową dostępu do usługi.
Funkcjonują również ataki wykorzystujące fakt, że dostęp do usługi jest szyfrowany. W przypadku serwisów webowych DoS tego typu często polega na zalewaniu serwera zapytaniami GET i POST (odpowiednio: GET Flooding i POST flooding). Jeżeli infrastruktura bezpieczeństwa nie jest w stanie deszyfrować ruchu i poddawać go inspekcji, stajemy się nieporadni i musimy skorzystać z mechanizmów spoza warstwy aplikacyjnej - najczęściej od warstwy 2 do 4.