UPD: 18.02.2015
Я немного допилил скрипт, инструкция по установке на GitHub: https://github.com/Amet13/ddos-deflate
Все что описано ниже, я делал гораздо раньше.
На днях сервер упал под DDoS. До этого момента защищался от них только самопальным скриптом и модулем GeoIP для nginx. Однако в этот раз нагрузка была слишком большая, поэтому скрипт и nginx не справились.
В связи с этим я нашёл в интернете скрипт, который позволяет защититься от некоторых видов DDoS, от заказных атак он конечно не спасёт, но большинство отразить он способен.
В своей основе скрипт использует команду:
# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
141 1.2.3.4
26 5.4.3.2
20 8.7.6.5
...
Я немного допилил скрипт, инструкция по установке на GitHub: https://github.com/Amet13/ddos-deflate
Все что описано ниже, я делал гораздо раньше.
На днях сервер упал под DDoS. До этого момента защищался от них только самопальным скриптом и модулем GeoIP для nginx. Однако в этот раз нагрузка была слишком большая, поэтому скрипт и nginx не справились.
В связи с этим я нашёл в интернете скрипт, который позволяет защититься от некоторых видов DDoS, от заказных атак он конечно не спасёт, но большинство отразить он способен.
В своей основе скрипт использует команду:
# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
141 1.2.3.4
26 5.4.3.2
20 8.7.6.5
...
которая выявляет число открытых соединений с каждого адреса, и в случае если соединений много, то адрес блокируется на определённое время.