Главная | Топ серверов | Скины | Регистрация | Вход | English Version Приветствую Вас Гость | Показать правый блок
[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[advices] Скрипт защиты от ДДОС атаки
nazuki1Дата: Вторник, 18.01.2011, 23:18 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 25
Репутация: 5
Статус: Оффлайн
Скрипт Klavasoft AntiDDOS
Скрипт Klavasoft AntiDDOS используется для защиты сайта от DDOS атаки по линии HTTP. Разумеется, скрипт не претендует на звание универсального и полного защитника от DDOS - для этих целей лучше использовать оборудование, стоимость которого измеряется десятками тысяч долларов. Если у вас нет такого оборудавания, но есть доступ к настройкам сервера, то вы также сможете обеспечить более эффективную защиту от DDOS, чем та, что предоставляет наш скрипт. А вот защитить виртуальны аккаунт от легонького любительского DDOSa этот скрипт вполне сможет, а такие ДДОС атаки встречаются наиболее часто ввиду дороговизны полномасштабных мероприятий.

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

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

Code
<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.

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

Code
<? // пример использования скрипта 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'; // по этой переменной можно отдавать "теплым" посетителям
// облегченную версию сайта

?>

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

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

в предположении, что скрипт располагается в корневой папке вашего сайта.

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

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

Code
shm_attach();

и если вы не получите:

Code
Fatal error: Call to undefined function:
shm_attach() in...

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

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

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

Лицензия

Вы можете свободно использовать и распространять данное ПО(скрипт), вы также можете модифицировать код ПО для собственных нужд. Модифицированный код может распространяться только через автора ПО на сайте Klavasoft. При распространении или модификация кода не допускается изменению в файлах ПО блока, содержащего URL-а сайта (klavasoft.com), автора (Cosinus) и названия скрипта http://klavasoft.com/. Автор ПО не несет никакой ответственности ни по каким поводам.

При использовании скрипта категорически приветствуется размещение ссылки, например, такой:

Code
<a href="http://klavasoft.com">Klavasoft</a>

Code
<a href="http://klavasoft.com/antiddos">Klavasoft Anti

Файлы

http://klavasoft.com/codefiles/ksantiddos21.zip

http://klavasoft.com/codefiles/ksantiddos30.zip

Credits : http://klavasoft.com/
Реклама


Сообщение отредактировал nazuki1 - Вторник, 18.01.2011, 23:27
 
speka07Дата: Суббота, 09.04.2011, 16:18 | Сообщение # 2
Генерал-майор
Группа: Проверенные
Сообщений: 447
Репутация: 50
Статус: Оффлайн
фигня фигнёй...

 
epmakДата: Суббота, 09.04.2011, 18:41 | Сообщение # 3
Полковник
Группа: Проверенные
Сообщений: 236
Репутация: 36
Статус: Оффлайн
не существует скриптов, которые сопсобны действенно защитить от ддос.

mwc
webShop
 
kRiakДата: Суббота, 09.04.2011, 22:28 | Сообщение # 4
Генерал-лейтенант
Группа: Проверенные
Сообщений: 615
Репутация: 93
Статус: Оффлайн
Лучшая защита от досс.
Это хостинг + анти досс.
Или же хорошая настройка. (не всегда помогает) smile А это пробывал. Кал.


Бес.
 
SanneAДата: Воскресенье, 10.04.2011, 00:58 | Сообщение # 5
Генерал-майор
Группа: Модераторы
Сообщений: 358
Репутация: 166
Статус: Оффлайн
Или Роутер с встроенным ФаерВолом happy
 
kakashkaДата: Пятница, 13.05.2011, 09:36 | Сообщение # 6
Лейтенант
Группа: Проверенные
Сообщений: 25
Репутация: 1
Статус: Оффлайн
IPFW самое реальоне решение, с ограничением коннекта

peace
 
NewPowerДата: Вторник, 14.06.2011, 11:22 | Сообщение # 7
Лейтенант
Группа: Проверенные
Сообщений: 42
Репутация: 0
Статус: Оффлайн
Действительно хорошая зашита от ддоса это Хостинг с зашитой от дос,ддос атак )

Никогда не говори «никогда»!
 
komandirbkДата: Пятница, 17.06.2011, 19:06 | Сообщение # 8
Майор
Группа: Проверенные
Сообщений: 50
Репутация: -2
Статус: Оффлайн
пожалуй KlavaSoft себе поставлю,надеюсь поможет...

 
kRiakДата: Суббота, 18.06.2011, 00:05 | Сообщение # 9
Генерал-лейтенант
Группа: Проверенные
Сообщений: 615
Репутация: 93
Статус: Оффлайн
komandirbk, Не, не поможет.

Бес.
 
workДата: Понедельник, 28.10.2013, 03:45 | Сообщение # 10
Рядовой
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Оффлайн
Лучший вариант - правильная настройка транзитного fw.
Ограничить количество соединений с 1 ип, ограничить количество соединений с ip адресов каждой из стран. Допустим не более 200 одновременных соединений из стран на которые ориентирован сервер и 50 на каждую из остальных стран. Разумеется все подключения пониторить и при необходимости расширять.

При слишком большом количество соединений с 1 ип - будет улетать во временный бан, при большом количестве `клиентов` из определённой страны - все новые будут игнорить, а подключённых мониторить на коннект к портам и левых так-же отправлять во временный бан.

Либо ещё вариант - отправить в бан все `не надёжные` страны.


a
 
  • Страница 1 из 1
  • 1
Поиск:

This page is designed to be viewed best with Chrome. Home Page MyMuWeb By Vaflan. Хостинг от uCoz.