• XSS.stack #1 – первый литературный журнал от юзеров форума

DDoS Защита от ДДоС

S-tamps

HDD-drive
Пользователь
Регистрация
24.06.2006
Сообщения
28
Реакции
0
Предлагаю обсудить возможные варианты защиты от ДДоС. Не только программные, которые можно применять на одном отдельно взятом сервере, но и те, которые связаны с дублированием баз данных с последующей синхронизацией и.т.д.
 
Я начну список защит, которые я на данный момент знаю:
1) Авторизация на сайте. неплохо защищает от http флуда, но некоторые боты могут это обходить
Код:
<?$name="DDoSer"; ## логин пользователя
$pass="loh"; ## пароль пользователя
if(!isset($PHP_AUTH_USER))
  {
  Header('WWW-Authenticate: Basic realm="Stat"');
  Header('HTTP/1.0 401 Unauthorized');
  exit;
  }
else
  {
  if(($PHP_AUTH_USER != $name ) || ($PHP_AUTH_PW != $pass))
    {
    Header('WWW-Authenticate: Basic realm="Stat"');
    Header('HTTP/1.0 401 Unauthorized');
    exit;
    }
  }
  ?>
2) Работа с куками. Немногоие боты умеют принимать и работать с куками. тоже неплохо помгает при http флуде - если проверка на куки не пройдена, не будет нагружаться лишний раз бд и нагрузка будет не такой сильной.
Код:
<?php
 if(!$cookie)
  {
    /* посылаем заголовок переадресации на страницу,
    с которой будет предпринята попытка установить cookie */
    header("Location: $PHP_SELF?cookie=1");
    /* устанавливаем cookie с именем "test" */
setcookie("test","1");
  }
  else
  {
    if(!$test)
    {
      header("Location: http://localhost/ddos/test1.php");// это любой пустой скрипт
    }
  }
?>
3) создание зеркал сайтов - слишком напряжно атакующему завалить и основной сайт и зеркала. тем более финансово это выходит ему в разы дороже. это тоже можно считать определенной защитой от ддоса.

4) аппаратный фаервол для защиты от ддоса Diadem. все слышали о нем. но он пока находиться в стадии тестирования. хотя по заверениям разработчиков штука будет неплохая.

5)
Есть ли жизнь под DDoS-ом?
Докучаев Дмитрий aka Forb
Хакер, номер #081, стр. 081-066-1
http://xakep.ru/magazine/xa/081/066/1.asp
хорошая статейка. помогает защититься от небольших ддос армий - в пару-тройку К ботов.

=====
я больше ничего не знаю пока
 
Давайте рассмотрим следующий вариант.
Сейчас подавляющее большинство сайтов исользуют в работе SQL. Соответственно, большинство ДДоСов направляется в виде запросов к базе данных, т.к. именно таким способом легче всего завалить сайт небольшим боьнетом ( тормознутость SQL на большом количестве запросо хорошо известна ).

Представим себе, что есть форум. И валят именно через форум. Есть ли возможность организовать защиту таким образом, чтобы поставить какой-то фильтр между непосредственно сайтом и базой таким образом, чтобы к примеру, проверялось, что запрос к базе идет именно со страница сайта, а не снаружи. Ну, или что-то подобное.
 
Great
называется CAPTCHA. это обходиться. генерация цифр и букв там идет определнным образом. так что если разобрать ссылку на картинку, то можно авторизироватся влегкую.
почитай это - http://xakep.ru/post/31268/default.asp
=======
S-tamps
может я конечно ошибаюсь, но можно сделать возможность входа только с сайта. можно попробовать считывать http заголовки "Referer:", т.е. адрес с которого пришел юзер. но это ведь тоже можно подделать, но для этого надо делать спецефическиех ботов. кароче говоря это защитит от ботов которые не получают полностью струтуру передаваемых данных на сервер, а просто получают адрес атакуемаго сайта.
таких ботов сейчас большенство, я бы дже сказал что 95%. 5% оставим на тех кто до этого додумался
 
nerezus
а что ты подразумеваешь под "нормальным движком"? объясни.
 
в принципе да. нагрузка идет только на веб демон.
у кого какие еще будут мысли по защите от ддоса?
 
А что вы думаете насчет проверки юзер агента клиента. Ддос боты использующие http запросы к страницам его врядли имеют. Слышал что такие есть, но еще далеко не все. Т.е. для нормального Ддоса придется изображать юзера по полной. Может бред...
 
А что вы думаете насчет проверки юзер агента клиента.
А зачем? Раз идет проверка, значит сервер уже принял запрос.
Просто выдать кэш.
Причем что мешает ботам начать юзать UserAgent строку?
Добавлено в [time]1156602097[/time]
т.к. сомневаюсь что на браузерах на мобилах есть юзер агент
есть )
 
А зачем? Раз идет проверка, значит сервер уже принял запрос.
а что тогда насчет указанного выше:

2) Работа с куками. Немногоие боты умеют принимать и работать с куками. тоже неплохо помгает при http флуде - если проверка на куки не пройдена, не будет нагружаться лишний раз бд и нагрузка будет не такой сильной.
По идее аналогично.

Причем что мешает ботам начать юзать UserAgent строку?
Но пока не все же используются.
 
Цитата|Quote(nerezus @ 26.08.06 17:21)
Причем что мешает ботам начать юзать UserAgent строку?
*

Но пока не все же используются.
там модифицировать бота раз плюнуть для добавления UserAgent.
 
не сочтите за рекламу.. просто наткнулся на так называемую eX-DDOS Protection

Это PHP скрипт позволяющий снизить эффективность FormFlood атак на отказ в обслуживании до уровня SYN атак. Вложеный через include_once() в начало защищаемых скриптов он препятствует выполнению скрипта(практически не затрачивая системынх ресурсов сам) если не соблюдены некоторые условия, кои не могут соблюдать DDOS боты. Защита или через экран приветствия, или без него. Прозрачная защита - в конечном итоге пользователь попадает на URL который он запрашивал, а не на индекс сайта.

/*TODO (или что будет в следующих версиях)
* Поддержка WHITE, GRAY, BLACK листов по IP
* Генерация WHITE, GRAY и BLACK листов в автоматическом режиме, по поведению данного IP
* Анализ запроса, блокировка некорректных "браузеров"
* Анализ последних 10 запросов
* (ROOT ONLY) Мониторинг нитей апача, ограничение количества одновременных пользователей на сайте
* (ROOT ONLY) Создание условий для iptables на базе BLACK листа
* АвтоABUSE провайдерам атакующих IP, по базе IP-ISP
*/

правда и просит он за скрипт не много не мало 250 енотов

Автор- ГЫУК
 
я тока непойму - как можно защитить от SYN флуда с того уровня на котором работает php ?
Добавлено в [time]1156629640[/time]

UserAgent также легко можно подделать как и Реферер, как я предлогал. для этого нужна модификация всего одной процедуры бота. в этом нет ничего сложного и тем более большенство ботов подделывают эту строку
 

UserAgent также легко можно подделать как и Реферер, как я предлогал. для этого нужна модификация всего одной процедуры бота. в этом нет ничего сложного и тем более большенство ботов подделывают эту строку
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх