Dleshka.org
Авторизация

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

+11
TipTop 10-11-2009 Скрипты 2 комментария
Скрипт защиты от ДДОС атаки


Скрипт 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
Информация
Зарегистрируйтесь чтобы комментировать публикацию.
lika004
4 марта 2010 03:11
+ 0 -
кто нибудь пробывал ?
tiptop
4 марта 2010 16:34
+ 0 -
Цитата: lika004
кто нибудь пробывал ?


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