Poziom 1: prosty slowloris DOS
Aby znaleźć adres IP atakującego Slowloris, używam następującego wiersza poleceń:
netstat -ntu -4 -6 | awk '/^tcp/{ print $5 }' | sed -r 's/:[0-9]+$//' | sort | uniq -c | sort -n
To da ci liczbę aktywnych połączeń dla każdego podłączonego adresu IP
Jeśli jesteś pod prostym atakiem DOS, dzieciak z jednym lub kilkoma adresami IP, ten z 50-100 połączeniami (lub więcej) jest najprawdopodobniej napastnikiem slowloris, który możesz upuścić.
Ma to na celu wykrycie i upuszczenie (wraz z iptables lub preferowanym hlfw) ich „w czasie rzeczywistym”, jeśli jesteś podłączony do serwera podczas ataku.
Dodanie czasu przetwarzania (argument% D lub% T) do dzienników Apache może również pomóc w wykryciu ataków Slowloris „postmortem” poprzez analizę dzienników, jeśli nie masz tych informacji w dziennikach, nie znajdziesz nic interesującego . Zobacz http://httpd.apache.org/docs/current/mod/mod_log_config.html dla konfiguracji dziennika.
Poziom 2: prawdziwe duże slowloris DDOS
netstat (użyj watch netstat do odświeżania) może nadal pomóc zobaczyć, że niektóre adresy IP są zawsze połączone
Aby walczyć ze slowlori, na Apache zainstaluj moduły reqtimeout i skonfiguruj go, na przykład:
http://pastebin.com/3BNNwfyb
Po tym, co 408, które widzisz w access_log, to 99,999% na pewno ip atakujący slowloris.
Korzystając z modułu apq reqtimeout, możesz łatwo stawić czoła tysiącom Ips i tysiącom pakietów / sekundę na przyzwoitym serwerze dedykowanym
Iptables może również trochę pomóc w czymś takim jak:
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j DROP