Скрипт защиты от ДДОС атаки - Klavasoft AntiDDOS - бесплатно!
Скрипт 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>
В 3-й версии скрипта реализована блокировка всей сети класса C, что многократно повышает эффективность скрипта, так как часто бывает инфицированна вся сетка компьютеров, осуществляющих DDOS. Такой режим включен по умолчанию, и отменить его можно установкой поля block_cnet объекта в false.
Настройка
Все упомянутые параметры поддаются настройке. Вот развернутый вариант ее:
// пример использования скрипта 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...
то пациент жить будет.
Для просмотра и удаления списка фрагментов разделяемой памяти требуется доступ к командной строке. Заметим, что что эта функция не критически важна - скрипт отлично работает без просмотра админом данных о разделяемой памяти. Более того, если доступа к командной строке нет - скрипт все равно способен удалить область расширенной памяти. (Которая, вобщем-то и так сканчается при ближайшей перезагрузке)
Для доступа к разделяемой памяти не используются семафоры, поскольку зависание семафора способно заблокировать весь трафик. Время выполнения скрипта - пол миллисекунды и вероятность накладки ничтожна. И, конечно, в таких случаях скрипт нормально восстанавливается.
При вызове скрипт непосредственно в браузере - доступна контрольная панель (см скриншот).
Вы можете свободно использовать и распространять данное ПО(скрипт), вы также можете модифицировать код ПО для собственных нужд. Модифицированный код может распространяться только через автора ПО на сайте Klavasoft. При распространении или модификация кода не допускается изменению в файлах ПО блока, содержащего URL-а сайта (klavasoft.com), автора (Cosinus) и названия скрипта (Klavasoft AntiDDOS). Автор ПО не несет никакой ответственности ни по каким поводам.
При использовании скрипта категорически приветствуется размещение ссылки, например, такой:
Klavasoft
Или такой:
Klavasoft AntiDDOS

This script is very fast and
This script is very fast and it's great that he came up with!
Cache Clearning
Skazite na do li chistit cache v prozesse raboty skripta na saite. Ya perezagruzau server tolko po iskluchitelnym sluchayam. Spasibo !
нет, не нужно. объем памяти
нет, не нужно. объем памяти выделяемый ему - фиксированный, старые ИПы удаляются автоматически
Чтобы скрипт у вас заработало ставьте eAccelerator
Мои опыты показали чтобы скрипт заработал надо поставить eAccelerator корректно
как реагирует анти-ддос скрипт на визиты гугла?
слушай, такой вопрос по теме - гугл-бот же по факту делает примерно то же что среднестатистический ддос - заходит на сайт и перелопачивает его за считаные секунды, как на гуглобота отреагирует скрипт? не получится ли так, что скрипт выдаст гуглу кучку страничек с 20-секундным редиректом?
да, именно так и получится.
да, именно так и получится. но конент, выданный с хедером 503 - не является контентом страницы, и не будет проиндексирован. так что все путем. к тому же это спасает от "бешенства матки", которое иногда накатывает на гуглбота
как это все проверить
Давича поступил вопрос о том, как проверить работоспособность скрипта. Думаю, что это будет интересно многим, привожу ответ здесь
сделай маленькое количество хитов, например
- за 10 сек три хита.
потом дергай быстренько хомку или еще какую страницу, на которой инклудится antiddos. четвертая загрузка должна обломаться :)
а по адресу domain.com/path/ks_antiddos.php увидишь таблицу ипов и количеств загрузок. а может, увидишь, что php недостаточно сконфигурирован, чтоб скрипт работал.
комментарии в скрипте
жал что комментарии в скрипте нечитабельны маководам =( может изобразить их на инглише? или в utf-8.. главное - без win-1251 ;-)
сейчас приделаю к паре шопов которые ддосят, посмотрим что получится.
честно говоря, сомневаюсь,
честно говоря, сомневаюсь, что поправлю кодировку. есть вещи и поважнее мира :)
Скрипт
Скрипт конечно хороший, но хотелось бы более подробные инструкции по установке. Как я понял сначала кидаем в корень после запускаем админку и правим там таК?
скрипт
Как проверить работу скрипта локально? на денвере
никак. на денвере, да и
никак. на денвере, да и вообще под виндой нет функций работы с разделяемой памятью.
Объсните пожалуйста подробно,
Объсните пожалуйста подробно, как этот скрипт ставить?
Тоесть что куда залить надо, и где что разместить надо?
А то я залил все файлы, поставил в индекс.пхп этот код:
include "$_SERVER[DOCUMENT_ROOT]/ks_antiddos.php";
2.$ksa = new ks_antiddos();
3.$ksa->doit(20,10);
Попробовал обновить страницу больше 20 раз за 20 секунд, и некаких результатов.
Вобщем нужна помощ.???
Скрипт защиты от ДДОС атаки - Klavasoft AntiDDOS - бесплатно!
Функция "shm_attach" не работает в операционных системах Windows.
http://phpclub.net/manrus/f/shm-attach.html
Нужен скрипт защиты от DDOS атаки, работающий также и в операционных системах Windows.
1. ks_antiddos.php - в
1. ks_antiddos.php - в корневой папке?
2. возможно php скомпилирован не правильно, см. Технические требования
3. дерни domain.com/ks_antiddos.php,если там нет ни одного ИПа, то скорее всего п.2 иначе имеет место тяжелый случай, который я не готов обсуждать.
как прикрутит это к rx-partners шаблонам?
пробовал прикручивать этот скрипт к шопам рх-партнерс? расскажи как, если не в лом, плз
да так же как и к любым
да так же как и к любым сайтам. вот через день-три у меня дойдут руки сделать 3 версию (см. анонс), так и на форуме проспамлюсь :)
Post new comment