DDoS SHIELD - PHP Скрипт Защиты От Ddos

Категория: Web

DDoS SHIELD - PHP Скрипт Защиты От Ddos


Php Скрипт Защиты От Ddos атак.
Хоть от велико большущих DDOS атак вряд ли избавит,
малое численность ботов кумекаю отфильтрует
( доколе не упадет Apache давай или на чем будет стоять ваш веб сервер

Версия: 1.02
Размер: 12 KB
Залито на: google code

Защита от DDOS(PHP DDoS SHIELD, IPROUTE BLACKHOLE)
Для успешного отражения DDOS атаки необходимо постановить 2 проблемы:
• найти способ различать ботов
• найти способ с крохотнейшей утратой ресурсов блокировать их

Со другой проблемой успешно справляется ip route blackhole(ага и провайдера подключить реально), а вот с первой возникают трудности.

Очередной один изобретая способ будто отколоться от ботов наткнулся на проект DDOS SHIELD(http://code.google.com/p/ddos-shield/).
Это PHP скрипт, соответственно отдаленнее выговор пойдет о защите сайтов написанных на PHP. Однако я кумекаю посмотрев на его исходники(больно небольшие)можно без труда переписать скрипт и на иные платформы.
Итак разработчики катают нам что PHP DoS SHIELD вкалывает на идее неодинакового времени доступа к сайту у человека и бота. Ни один-одинехонек человек ввек не сможет побывать страницу 90 один в течение 30 секунд(боты могут и вяще). Когда скрипт определяет бота он выдает оплошку 503 и предупреждающее извещение. IP адрес бота и его User Agent записываются в log-файл.
Будто один то что нам надобно. Эксперименты на сервере подвергаемом DDOS показали что скрипт довольно важнецки определяет боты. И мы можем постановить нашу первую проблему.
Идея вытекающая - поставить на сайт PHP DDOS SHIELD а его log-файл возделывать собственным скриптом и блокировать на уровне маршрутизации при помощи ip route blackhole.

1. Скачиваем PHP DoS SHIELD и распаковываем в папку с сайтом:
cd /var/www
wget http://ddos-shield.googlecode.com/files/tweety_1_02.tar.gz
tar xzvf./tweety_1_02.tar.gz

2. Редактируем файл tweety.php по своему вкусу. Нас интересует секция INITIALIZATIONS.
$iplogdir - папка куда будут писаться временные и log-файлы
$iplogfile - имя log-файла(он нам потребуется)
$to - адрес электронной почты, куда будут двигать предупреждения об атаке
$itime - минимальное численность секунд между посещениями с одного адреса
$imaxvisit - максимальное численность посещений в $itime x $imaxvisits секунд

3. Прописываем строчку:
include( "tweety.php");

в php-файл на какой ведется штурм(гуще итого это случается файл index.php в корне сайта). Ныне можно посмотреть в папку Tweetylogs. Если все сделали верно - там должны показывать файлы в том числе AttackersIPs.Log.

4. Ныне создадим скрипт какой будет возделывать AttackersIPs.Log и блокировать боты на уровне маршрутизации.
cat > /etc/antiddostweety
#!/bin/sh
#путь к файлу AttackersIPs.Log
LOG_PATH="/var/www/Tweetylogs/AttackersIPs.Log"
cat $LOG_PATH | awk '{print $1}' > /tmp/newddosbots
cat /tmp/newddosbots>>/tmp/ddosbots
echo > $LOG_PATH
list=`cat /tmp/newddosbots`
for ip in $list; do
ip route add blackhole $ip
done

5. Отдаем ему лева на исполнение:
chmod +x /etc/antiddostweety
6. Прописываем его в cron:
cat > /etc/cron.d/antiddos
*/3 * * * * root /etc/antiddostweety

7. Перезапускаем cron дабы применились изменения:
/etc/init.d/crond restart

Ныне все найденные боты буту попадать в блок-лист один в 3 минуты. А абсолютный список IP ботов сохраняется в /tmp/ddosbots

Скачать с Google

Просмотров: 5815 | Автор: Extazy | 26-08-2011, 23:20 | Нравится(+) +2 Не нравится(-)

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии - 0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.