» » Скрипт защиты от ДДОС атаки

Скрипт защиты от ДДОС атаки

Скрипт защиты от ДДОС атаки


Скрипт Klavasoft AntiDDOS

Скрипт Klavasoft AntiDDOS используется для защиты сайта от DDOS атаки по линии HTTP. Разумеется, скрипт не претендует на звание универсального и полного защитника от DDOS - для этих целей лучше использовать оборудование, стоимость которого измеряется десятками тысяч долларов. Если у вас нет такого оборудавания, но есть доступ к настройкам сервера, то вы также сможете обеспечить более эффективную защиту от DDOS, чем та, что предоставляет наш скрипт. А вот защитить виртуальны аккаунт от легонького любительского DDOSa этот скрипт вполне сможет, а такие ДДОС атаки встречаются наиболее часто ввиду дороговизны полномасштабных мероприятий.


Немного о реализации защиты от ДДОС

Скрипт хранит в разделяемой памяти списки времен заходов с каждого IPa за последнее время. Если количество заходов в таком списке превысит определенный уровень, посетителю выдается техническая страница, которая информирует его о загруженности сервера и автоматически повторяет запрос страницы через некоторое время.
Вот пример такой страницы:

<html>
<meta http-equiv='refresh' content='20'>
<body>
<h2>Our server is currently overloaded, your request will be repeated automatically in 20 seconds</h2>



Настройка

Все упомянутые параметры поддаются настройке. Вот развернутый вариант ее:

<? // пример использования скрипта Klavasoft AntiDDOS

include "$_SERVER[DOCUMENT_ROOT]/ks_antiddos.php";
$ksa = new ks_antiddos();

// скрипт анализирует активность текущего ИПа за последние $seconds_limit секунд
$seconds_limit = 20;
// считая заходы свыше $hit_limit - подлежащими блокированию
$hits_limit = 10;

// скрипт определяет статус посетителя ($ks-?>visitor) как:
// raw  - посетитель бы по каким-либо причинам не обработан скриптом
// new  - это первый заход посетителя за последние $seconds_limit секунд
// cool - количество заходов посетителя - от 2 до $ksa->warm_level
// hot  - количество заходов больше чем hits_limit и посетитель должен быть заблокирован (приостановлен)

// опционально можно сделать настройки
$ksa->auto = false;  // не проводить блокирования hot-посетителей скриптом (вы предполагаете сами это сделать)
$ksa->warm_level = 3;    // значение warm_level по умолчанию - $hits_limit/2
$ksa->delay = 10;        // предлагать 'hot' посетителю вернуться через $ksa->delay секунд
// значение по умолчанию - 20


// определяем статус посетителя
$ksa->doit($seconds_limit,$hits_limit);
// если вы не сбросили значение поля $ksa->auto и статус посетителя $ksa->visitor=='hot'
// то скрипт отправит браузеру headers and HTML которые организуют задержку перед повторным запросом.

// если $ksa->auto == false, то проверяем надо ли банить посетителя  
if ($ksa->visitor=='hot')  
{
header('HTTP/1.0 503 Service Unavailable');
header('Status: 503 Service Unavailable');
header('Retry-After: 30');
die('sleep');
}

$lite_version = $ksa->visitor=='warm';   // по этой переменной можно отдавать "теплым" посетителям
// облегченную версию сайта

?>


А если вкратце, то достаточно вставить в хэдер сайта такой код:

include "$_SERVER[DOCUMENT_ROOT]/ks_antiddos.php";
$ksa = new ks_antiddos();
$ksa->doit(20,10);


Технические требования


Хотя судя по мануалу, функции работы с разделяемой памятью доступны во всех версиях PHP, случаются хостинги без средств межпроцессного взаимодействия. Чтобы выяснить, будет ли скрипт работать на вашем хостинге, вызовите функцию
shm_attach();


и если вы не получите
Fatal error: Call to undefined function: shm_attach() in...


то пациент жить будет.

Для просмотра и удаления списка фрагментов разделяемой памяти требуется доступ к командной строке. Заметим, что что эта функция не критически важна - скрипт отлично работает без просмотра админом данных о разделяемой памяти. Более того, если доступа к командной строке нет - скрипт все равно способен удалить область расширенной памяти. (Которая, вобщем-то и так сканчается при ближайшей перезагрузке)

Для доступа к разделяемой памяти не используются семафоры, поскольку зависание семафора способно заблокировать весь трафик. Время выполнения скрипта - пол миллисекунды и вероятность накладки ничтожна. И, конечно, в таких случаях скрипт нормально восстанавливается.

Файлы

KS Antiddos ver 2.1 (zip):
Внимание! У вас нет прав для просмотра скрытого текста.


KS Antiddos ver 3.0 (zip):
Внимание! У вас нет прав для просмотра скрытого текста.


Источник:_http://klavasoft.com

Комментарии

кто нибудь пробывал ?

TipTop

Администраторы 4 марта 2010 16:34
Цитата: lika004
кто нибудь пробывал ?


Это все равно что вас бьют по голове палкой и больно а тут на голове каска одета и все равно больно но неочень bully

Информация

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


Защита от ddos атак ддос - доступные сервисы на форуме.

Личные сообщения

Ваши переписки