Регистрация

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

TipTop 10-11-2009, 15:02 8295 Скрипты

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


Скрипт 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

Похожие новости

Создание одно страничного сайта интернет магазина

Скрипт создание одно страничного сайта интернет магазина без Framework. Идея применения так чтобы

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

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

05.04.14 Скрипты
Transloader PHP скрипт

Этот небольшой скрипт PHP нужен на вооружении для каждого веб-мастера что бы копировать файлы между

05.05.11 Скрипты, Вебмастер

Комментарии (2)

avatar
#1 lika004
кто нибудь пробывал ?
avatar
#2 Пользователь offline TipTop
Цитата: lika004
кто нибудь пробывал ?


Это все равно что вас бьют по голове палкой и больно а тут на голове каска одета и все равно больно но неочень bully
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Powered by Dleshka.org. Сайт предназначен для выбора шаблонов и дополнений с использованием CMS DataLife Engine.
Закрыть