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ą.

3 Responses to “DDoS atrėmimo taktikos”

  1. Bevardis Says:

    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.

  2. eil Says:

    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 :)

  3. SluDm Says:

    Labai saunus scriptukas , pravers ;)

Leave a Reply

You must be logged in to post a comment.