![]() |
Погашение DDOS-атаки http флудом
Система обнаружения и погашения DDOS-атаки http флудом
Идея написания подобной системы возникла у меня, после того как в очередной раз один из моих сайтов подвергся DDOS атаке, в то время я висел на обычном хостинге, где за каждый мегабайт трафика приходилось платить, и сумма в итоге итак выходила не маленькая, а тут еще эта DDOS атака, хорошо еще, что я в тот момент был рядом и вовремя успел отключить доступ к сайту. Тут конечно же в аську стукнул тот самый ддосер с требованиями заплатить, его я само собой послал подальше. Как понимаете, отключение сайта и пережидание атаки это не выход, она может возобновиться когда угодно, и вас рядом может не оказаться, поэтому с этим нужно бороться. Сразу предупреждаю, система написана на php и предназначена только для ослабления атаки http flood, от другого типа ddos атаки, к примеру: icmp и udp на уровне обычного владельца веб сайта защититься невозможно. Вкратце о системе: система включает модуль обнаружения DDOS атаки, который производит постоянный мониторинг загруженности сайта, путем отслеживания количества приходящих запросов в секунду, в случае если количество запросов в секунду превысит 10 (это по умолчанию, можно выставить больше), то подключается модуль погашения атаки, который начинает вычислять IP адреса атакующих машин-зомби и заносить их в блэклист, мониторинг при этом отключается по умолчанию на 1 час. Принцип действия я думаю, понятен, вот сам код: К примеру, создадим каталог anti_ddos и кидаем все скрипты туда: index.php (модуль обнаружения DDOS атаки): PHP код:
PHP код:
Желательно также во время атаки списки IP адресов атакующих машин формирующихся в файле black_ip.txt переносить постепенно в файл .htaccess и блокировать их оттуда, тогда нагрузка еще значительно снизится. Пример файла .htaccess Код:
Deny from 11.11.11.11 22.22.22.22 и т.д. через пробелКод:
require("anti_ddos/index.php");© ant0ha |
Цитата:
|
Цитата:
Цитата:
|
Впринципе groundhog прав, плюс еще небольшой нюанс, я не весь скрипт просматривал, а только поверхностно, но если я не ошибся, то процедура определения IP, которую ты любезно одолжил у существующего скрипта, явно не преднозаченого для ДДОС блокировки, позволяет подделать IP, вследствии чего его можно генерировать рандомно хоть с одного хоста и хер ты кого забаниш!
Да и еще, максимум, что можно сделать определив такой ДДОС это отключить автоматически в панеле пользователя доступ к сайту, тем самым сэкоомив денюшку, но все это конечно косается детского ддоса ибо от серъезного ты таким способом не закроешся, а еще можно в ответ на каждый из IP ддосеров посылать свой БОТНЕТ и убивать их поодному =) (шутка). |
Цитата:
Цитата:
Цитата:
И прислушайся к совету madnet... Как он верно подметил - переменные берутся из среды окружения... Такие переменные элементарно подделываются программными методами... Так что эта пукалка защитит только от ботнета в 10 ботов, а реального ботовода с гигантским ботнетом она только повеселит... |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Всё это я говорю к тому, что не надо громких названий, и надо быть серьёзнее, а если вы не представляете о чём идёт речь - так лучше вообще про это не писать! Предлагаю переименовать тему в "DDOS-пукалка или как рассмешить провайдерского одмина". |
Некоторые файерволлы поддерживают функцию блокировки IP через командную чтроку, ну тоесть на компе стоит фаер, выполняем команду filewall -banip 11.222.33.444 и он банит его, токо я непомню какие фаерволлы поддерживают такие функции...
Так вот... Вместо того, чтобы заносить в .htaccess можно банить сразу доступ к компу, и тогда уже реально защититься от самого настояещего DDoS (если атакуют 2-3 компа :D) |
Ога mod_evasive и снорт отдыхают. ппц
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
| Время: 18:44 |