Что нового

Компьютерный форум ПМР. Обсуждение компьютерного железа.

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Для этого Вам необходимо зарегистрироваться, чтобы войти в систему. Это делается легко, быстро и абсолютно бесплатно.

Задать вопрос

Создавайте темы, задавайте вопросы и получайте ответы от нашего сообщества

Отвечать

Комментируйте, отвечайте на вопросы и станьте экспертом в своей теме

Связаться с персоналом

Наши специалисты готовы ответить на ваши вопросы

Ddos Shield

NevesOma

Администратор
Регистрация
15.07.2012
Сообщения
1 028
Реакции
4
Баллы
0
Местоположение
Чобручи
Сайт
L2J-MOD.RU
1370715006_hardOK_manual_ddos.jpg

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

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

Очередной раз изобретая способ как отбиться от ботов наткнулся на проект 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 и распаковываем в папку с сайтом:
HTML:
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. Прописываем строчку:
HTML:
include("tweety.php");
в php-файл на который ведется атака (чаще всего это бывает файл index.php в корне сайта). Теперь можно посмотреть в папку Tweetylogs. Если все сделали правильно - там должны появляться файлы в том числе AttackersIPs.Log .

4. Теперь создадим скрипт который будет обрабатывать AttackersIPs.Log и блокировать боты на уровне маршрутизации.
HTML:
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. Даем ему права на исполнение:
HTML:
chmod +x /etc/antiddostweety
6. Прописываем его в cron:
cat > /etc/cron.d/antiddos
*/3 * * * * root /etc/antiddostweety
6. Перезапускаем cron чтобы применились изменения:
HTML:
/etc/init.d/crond restart
Теперь все найденные боты буту попадать в блок-лист раз в 3 минуты. А полный список IP ботов сохраняется в /tmp/ddosbots

Файлы: Tweety
 

StiVArk

Местный
Команда форума
Регистрация
23.11.2009
Сообщения
1 794
Реакции
60
Баллы
48
Спасибо за мануальчик! Постер классный!
 

djon

Тутошний
Команда форума
Регистрация
23.11.2009
Сообщения
6 047
Реакции
58
Баллы
48
Местоположение
г.Тирасполь
Хороший урок, спасибо.
 

NevesOma

Администратор
Регистрация
15.07.2012
Сообщения
1 028
Реакции
4
Баллы
0
Местоположение
Чобручи
Сайт
L2J-MOD.RU
Хороший урок, спасибо.
Этот скрипт был проверен и он рабочий и спасает от некой атаки,Но! От большой атаки он конечно-же не спасет,спасает вас он только пока не упадет ваш апач) а от больших атак лучше уже брать pro-managed конечно,ну а этот-так,для самозащиты =)
 
shape1
shape2
shape3
shape4
shape7
shape8
Верх Низ