DDoS atrėmimo taktikos
Pirmoji, kurią ir naudojau, tai buvo toks bash’o scriptukas:
netstat -an | grep 86.100.70.192:80 | grep SYN_RECV | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq | xargs -n 1 -I “{}” iptables -A INPUT -s “{}” -j DROP | killall /usr/sbin/apache2 | /etc/init.d/apache2 restart
netstat -an - išveda visus susijungimus;
grep 86.100.70.192:80 - atrenkame susijungimus su mūsų IP 80 portu;
grep SYN_RECV - atrenkame pradėtas sesijas;
awk ‘{print $5}’ - išvedame 5-ą ląstelę, t.y. nutolusios mašinos IP adresą ir portą;
cut -d: -f1 - daliname gautą reikšme IP:PORT į dvi dalis per :, ir naudojame pirmąją dalį (IP);
sort - surikiuojame;
uniq - atrenkame unikalius IP adresus;
xargs -n 1 -I “{}” iptables -A INPUT -s “{}” -j DROP - įtraukiame atrinktus IP į ugniasienės taisykles;
killall /usr/sbin/apache2 - ‘nužudome’ visus apache2 procesus (tuo pačiu nutraukiame susijungimus);
/etc/init.d/apache2 restart - inicijuojame apache2 paleidimą.
Antras metodas, kuris yra efektyvesnis, bet tinka tik su ugniasienėmis, kurios moka atrinkt unikalias taisykles, kad jos nesikartotų:
tcpdump -n ‘tcp port 80 and ip[2:2] < 62′ | awk ‘{print $3}’ | cut -d . -f 1-4
tcpdump -n ‘tcp port 80 and ip[2:2] < 62′ - naudojamės tcpdump įrankiu (kuris paketus gauna dar prieš ugniasienę ir apache serverį), -n - neverčiame IP adresų į raidinę verte. port 80 - atrenkame paketus siunčiamus į 80 portą. and ip[2:2] - gauname paketo dydį, < 62 ir pasiimame tik tuos, kurie mažesni už 62 baitus (tuščia užklausa).
awk ‘{print $3}’ - išvedame 3-ąją eilutės ląstelę;
cut -d . -f 1-4 - kadangi išvesta ląstelė yra ipsegmentas.ipsegmentas.ipsegmentas.ipsegmentas.portas, tai padaliname ląstelę per taškus (-d.) ir pasirenkame nuo 1 iki 4 segmento (-f 1-4). Dabar gautą ip adresą galima perduoti ugniasienei ar įrašyti į failą.
November 16th, 2007 at 4:40 am
Su tais nevykėliais kovoti tolygu kovoti su vėjo malūnais…
Ir nieko čia nepadarysi. Kaip sakoma, duok durniui kelią, pažais ir atsibos.
Sėkmės.
November 16th, 2007 at 4:50 am
Su jais ne tik galima, bet ir reikia kovoti. Jų ištekliai nėra neriboti, o tai leidžia atremti tokias atakas. Protingai sukonfigūravus sistemą, galima ne tik apsaugoti serverį nuo lūžimo, bet ir tvarkingai įtraukti puolančius IP adresus į sąrašą. Per visą jų ataką nė karto nepajutau interneto greičio kritimo. Jų rengiama ataka yra organizuoma TIK prieš apache serverį. Jokie mod_evassive ir panašiai moduliai nepadės, tiesiog reikia užklausas blokuoti dar PRIEŠ joms patenkant iki apache serverio. O tai labai paprastai padaroma šiuolaikinėmis apsaugos priemonėmis
June 22nd, 2008 at 2:43 am
Labai saunus scriptukas , pravers