[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как защититься от DDoS-атаки?
Страницы: 1, 2, 3, 4
yuriy
VELIK505 Слишком уж мрачная картина была Вами нарисована. Неужели нет никаких надёжных средств, акромя аппаратного файервола? Игорь предлагал не хитрый алгоритм на PHP. Неужто плох?


session_start();
# 5 секунд между запросами
$period = 5;

if(!isset($_SESSION[session_id()]['time']))
$_SESSION[session_id()]['time'] = time();
else
if
(time()-$_SESSION[session_id()]['time'] <= $period){
echo 'Кышь ддоссер!';
# и послать например header 503
}


_____________
void x;
yuriy
Его же можно доработать как-то, усовершенствовать, и будет хороший пендаль тем, кто пытается завалить сайт.

_____________
void x;
killer8080
Цитата (yuriy @ 19.10.2012 - 21:44)
Неужели нет никаких надёжных средств, акромя аппаратного файервола? Игорь предлагал не хитрый алгоритм на PHP. Неужто плох?

Это защита от флуда, а от ддоса совершенно бесполезна!
yuriy
А какая принципиальная разница между флудом и ддосом? И там и тут один путь POST или GET и всё через фронтконтроллер.

_____________
void x;
yuriy
А под виртуальный сервер который на дебиане крутится, можно что-то своё пописывать на C++?

_____________
void x;
Семён
Killer
Ты наверно никогда под DDOS-ом не был
Google: DNS DDoS
VELIK505
Цитата (yuriy @ 19.10.2012 - 18:44)
VELIK505 Слишком уж мрачная картина была Вами нарисована. Неужели нет никаких надёжных средств, акромя аппаратного файервола? Игорь предлагал не хитрый алгоритм на PHP. Неужто плох?


session_start();
# 5 секунд между запросами
$period = 5;

if(!isset($_SESSION[session_id()]['time']))
    $_SESSION[session_id()]['time'] = time();
else
    if
(time()-$_SESSION[session_id()]['time'] <= $period){
        echo 'Кышь ддоссер!';
        # и послать например header 503
    }

И чё это за фуфел это так для детей от лошков защита которые f5 зажимают но не больше.
Почему есть ddos deflate читай про ngx_http_limit_req_module это наверное самое лучшее решение на софтовом уровне + свои ns-ы чтобы не зависить от всяких мудаков. денег стоит копейки 2 айпи выделеных по 50р каждый в месяц и за VPS начиная от 200рублей в месяц и более. А на виртуальном хостинге ты ничего не сделаешь так и будет твой сайт вечно в дауне лежать.
yuriy
VELIK505
Да я уже почти переехал на VPS под XEN 4. Щас вот буду что-то думать по поводу предолженных тобой вариантов ddos deflate и ngx_http_limit_req_module. Спасибо, Велик!


_____________
void x;
VELIK505
ns-ы свои сразу делай тоже.
killer8080
Цитата (Семён @ 20.10.2012 - 01:00)
Killer
Ты наверно никогда под DDOS-ом не был
Google: DNS DDoS

Причем здесь DNS DDoS?
yuriy
VELIK505
ns-сы? Если ты имел в виду DNS-сервера, то я делегировался под яндекс. То есть доступ к А-записям и всему остальному. Узнал у техподдержки VPS, у них в датацентре реализована фильтрация IP на случай ддос. Сказали, что дополнительных мер по отражению ддос принимать не требуется.


_____________
void x;
Семён
killer8080
Первое что упадет NS серверы которые относятся к DNS теме.
О чем собственно VELIK и пытается сказать советуя сразу подымать свои.
yuriy
Семён
А что значит поднимать свои. Я в этом деле плохо разбираюсь. Могли бы поподробнее объяснить?


_____________
void x;
killer8080
Цитата (Семён @ 20.10.2012 - 15:28)
killer8080
Первое что упадет NS серверы которые относятся к DNS теме.
О чем собственно VELIK и пытается сказать советуя сразу подымать свои.


А с чего им падать? Если конечно атака ведется на сайт, а не на его NS.
VELIK505
killer8080
У него и ns-ы ддосят хостер же написал ему. А он в свою очередь валит других.
yuriy
Берёшь 2 выделенных айпи адреса. Попроси токо чтобы тебе дали айпишники с разных подсетей!!! Как правило 1 айпи 50р в среднем у всех хостеров стоит.
и всё делаешь из них свои нс-ы.
ns.kino.ru.
ns2.kino.ru.
Потом в учётки домена свой домен kino.ru делегируешь на свои созданные ns-ы на
ns.kino.ru и ns2.kino.ru с указанием ip каждого ns-сервера.
Я рекомендую сервер dns bind использовать.
Если кратенько то в папке бинда создаёшь файлик такой:
kino.ru - из под юзера бинда с таким содержимым:
$TTL	3600
kino.ru. IN SOA ns.kino.ru. root.kino.ru. (2012100602 10800 3600 604800 86400)
kino.ru. IN NS ns.kino.ru.
kino.ru. IN NS ns2.kino.ru.
kino.ru. IN MX 10 mail
kino.ru. IN MX 20 mail
kino.ru. IN A sss.sss.sss.sss
www IN A sss.sss.sss.sss
ftp IN A sss.sss.sss.sss
mail IN A sss.sss.sss.sss
smtp IN A sss.sss.sss.sss
pop IN A sss.sss.sss.sss
kino.ru. IN TXT "v=spf1 ip4:qqq.qqq.qqq.qq a mx ~all"
ns IN A qqq.qqq.qqq.qq
ns2 IN A xx.xxx.xx.xx


Где - qqq.qqq.qqq.qq это айпи первого нс сервера, а xx.xxx.xx.xx айпи второго ns сервера,
sss.sss.sss.sss - это айпи уже непосредственно самого сайта.
Ну и в named.conf прописать зону уже саму:
zone "kino.ru" {
type master;
file "/etc/bind/kino.ru";
};

и ещё поправить надо будет файлики host и resolv и скинуть кеш днс.
Короче если ты не разу этого не делал у тебя врятли получиться. Пиши если что поставлю тебе.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.