Информационная безопасность

индекс
289,89

Атаки конкурентов, способные нанести вред вашему сайту: Классический DDOS веб-сервера


К наиболее популярным атакам без сомнения можно отнести этот популярный способ, когда веб-сервер переполняется запросами от ботов и не может нормально обслуживать запросы посетителей.
В результате такой атаки сайт становится недоступным, а с серверной стороны можно наблюдать рост нагрузки на сервер, большое число процессов веб-сервера и конечно, значительный рост коннектов. Если атака будет очень сильной и паразитный трафик превысит пропускную способность канала к серверу, то на него нельзя будет зайти по ssh.
Но столь сильные атаки — редкость, так как 10-20Mbps такого трафика вполне способны свалить неподготовленный сервер.
Как этого избежать
+44
16 октября 2009, 17:24
150

комментарии (120)

+5
Etherial #
Изящно, неплохой способ.
+9
Alaunquirie #
Как мило. Не спасет от хабраэффекта, но от ботов — должно помочь. Однозначный плюс.
0
Andrey_Rogovsky #
Хабраэффект уже пройденный этап, от него вполне помогает squid, единственное что — надо управлять кешированием со стороны бэкенда.
+4
alisfen #
Элегантное решение, вот она — админская смекалка
+25
silentroach #
Вы недооцениваете ботов. Ботов пишут люди, а люди читают хабр =)
+4
Alaunquirie #
Ну можно «включите кукис и ВВЕДИТЕ КАПТЧУ». И тут уже усе :)
+5
silentroach #
Тогда можно у себя на компьютере ввести капчу, посмотреть номер сессии и раздать ее ботам, которые передадут ее вместе той кукой. Чтобы избежать этого придется писать в сессию ip-адрес и сверять его все время, что нагрузка.
Работа с сессиями — отдельная нагрузка на винт (или на memcached (иногда в этом случае еще и на сеть, соединяющую сервер с memcached))
+1
Alaunquirie #
Ну уж тут прийдется выбирать, «шашечки» или «ехать»
+6
arrowdodger #
Действительно, как только атакующмй обратит внимание на то, что его атака не имеет эффекта, то сразу полезет разбираться. Обнаружить куку самое простое, что может прийти на ум.
–4
Andrey_Rogovsky #
Вопрос в том, умеют ли его боты слать кукисы.
+4
silentroach #
Людям, организующим атаки платят, скорее всего, неплохие деньги, а написать поддержку cookies несложно. Дополнительно содрав денюжку с заказчика :)
+28
korzhik #
ну раз его боты умеют отправлять по http строчку
"GET http://www.lib.rus.ec/  HTTP/1.0\r\n\r\n"

то научить отправлять еще одну строчку
"Cookie: type=this-is-not-bot\r\n"
не должно составить труда.

или это не очевидно?
0
variable #
А если раздавать уникальные куки, допустим зашифрованный ип-шник?
+4
korzhik #
ну ёпрст :) ну заодно научите бота не только отправлять заголовки, но и читать их :)
–1
Andrey_Rogovsky #
А если редирект через jvascript, причем каждый раз — на уникальный URL?
0
korzhik #
а причем здесь куки? :)))
–1
Yarc #
А бота можно и подправить.
+1
angry_elf #
Вы переоцениваете ботов. Я недавно отражал ddos по user-agent (firefox 1.0, opera 8.50, ie5.5) :)
+1
Andrey_Rogovsky #
Просто они разные бывают. Кому какие попадаются.
+3
silentroach #
У меня было два месяца почти постоянных атак летом (как раз конкуренция), справлялись с ними всем отделом. Ставим ловушку и глушим — через 5-6 часов (максимум день) боты валят уже по другому принципу.
Я очень дооцениваю ботов и их создателей.
+1
nerezus #
Разумеется это все рассыпается прахом, когда ДДоС поток идет в 10раз большим потоком, чем ширина канала =(
+1
Andrey_Rogovsky #
Ну я уже писал, что это как раз случай небольшой атаки, когда канал не забит
–1
Porfel #
Элегантно =)
+4
lexeresser #
Сам имел и имею, проблему с dDos'ом одного из моих серверов, сначала помог nginx + html cache, когда это уже начало прогинаться, сделал элегантное решение, http авторизацию(в месаге выводил логин и пароль), тоже особо не помогло, человек быстро смекнул и начал досить другие ресурсы на этом же сервере, дальше решил поставить ограничение на кол-во сессий с Ip адресса, так потом родился скрипт на перле ( который Павел devart.habrahabr.ru уже упоминал на хабре)
#!/usr/bin/perl

use strict;

my @BAD_BROWSERS = (
'ZyBorg',
'vaginamook@inktomi.com',
'FAST-WebCrawler/3.8',
'www\.lolyousuck\.com',
'rev1.51',
'Linux 2.6.15-1.2054_FC1',
'Opera/9.002',
'Gecko/20061204 Firefox/2.0.0.0.1',
'Mozilla/4.75.09',
'iOpus-I-N',
'FreeBSD i366',
'Chronne/0.4.154.25',
'en1',
'Firefox/2.0.0.199',
'Firefox/1.5.0.2',
'QXW03416',
'Windows NT 6.9',
);

my %banned = {};
while ( <> )
{
my ( $ip, $date, $core, $request, $browser ) = m/^(.*?) .*? .*? (\[.*?\]) (\d+) "(.*?)" .*? ".*?" "(.*?)" ".*?"$/;
for my $bad_browser ( @BAD_BROWSERS )
{
next if exists $banned{$ip};
if ( $browser =~ m/$bad_browser/ )
{
$banned{$ip} = $bad_browser;
print «Banning $ip [browser match $bad_browser: $browser]\n»;
#system( «iptables -A INPUT -p tcp -m tcp -s $ip -i eth0 --dport 80 -j DROP» );
system( «ip route add blackhole $ip» );
}
}
}
Если посмотреть на этот скрипт, то он тоже преобретал революцию, сначала я делал записи в Iptables, но к сожалению он в итоге давал сильную нагрузку, а роут в блекхол, помог :) Так же как видите почему то в ботнете который меня атаковал, не оригинальные User-agent'ы браузеров, и слегка изменённые.
Это меня и спасло. Плюс очень долго крутил настройки апача, мускуля, и нгинкса, дабы подобрать конфигурацию, которая будет более оптимальная.
Но теперь мы с Пашей столкнулись со следущей проблемой:
Наш форум заупячивают, на неком сайте(http://upyachkaplus.ru/), непонятный человек разместил предложение «засрать» ресурс до неузноваемости… Итог 2 дня выгребали хлам из форума, пришлось отключать на время регистрацию :( Есть множество видов атак, сделать сервер недоступным, захламить сайт, ну или же тупо сломать… Когда конкуренты понимают, что не смогут отбить у фирм/людей, клиентов, то они и прибегают к таким грязным методам, что честно говоря очень жаль… :(
0
missTerr #
Если конкуренты настолько навязчивы, то ИМХО вам стоит задуматься о «лучшем способе защиты», согласно народной мудрости).
0
alekciy #
Конкурентов обычно много, поди угадай который из них ;)
Или у нас принцип дать по морде первому попавшему подруку? А потому по старой доброй русской традиции получается, что ни кто не виноват, а морды у всех битые. В том смысле, что подруку обычно попадает невиновный.

Бороться против доса досом же — поддерживать этот рынок. Лучше эти деньги потратить на улучшение инфраструктуры, прикупить новых сервер там, улучшить функционал сайта, прочее. А конкуренты пусть играются в хацкеров и тратят на это деньги. Дос не вечен.
+1
missTerr #
Естественно не стоит поддерживать рынок ддоса, а тем более отдавать свои кровные ради мести. Но г-дин lexeresser пишет о подлянках помимо ддоса. Если задуматься, можно найти уйму способов как насолить обидчику и при этом совершенно бесплатно. Так же, не могу не согласиться, что «бить морду» кому попало — это не наш метод)) Но в ситуации когда твердо уверен, а доказать в суде не можешь, ИМХО стоит заплатить обидчику его же монетой!
+1
Kosyan #
Это защита от ботов, а не от ДДОСа

достаточно с 20к машин одновременно отправить запрос на установку соединения и вся ваша балалайка накроется медным тазом

а вообще нужно серваки тюнить нормально, а не велосипеды изобретать

у нормальных хостеров есть услуга, защита от ддос, стоит совсем скромных денег
+1
pietrovich #
[без-иронии]
подскажите пожалуйста пару ссылок на подобные услуги. заранее благодарен.
+1
Andrey_Rogovsky #
Например www.prolexic.com/
0
pietrovich #
спасибо. цены на сайте, даже ориентировочные не нашел, но запросик завтра с утреца отправлю. посмотрим что ни попросят, вполне может даже и пригодиться :) жаль не могу нарыть кто их услугами пользуется. хотя список партнеров, если не врут, вполне себе заслуживающий уважения (еще бы картинки грузились, вообще вопросов бы не было)

а еще кто нибудь есть, желательно проверенные?
а то гугль выдает по запросам про ддос либо «шарашкины конторы», либо железо от Cisco и TippingPoint :"(

есть еще предложения заарендовать гиперсекьюрный-ДДОС-протэктыд сервер за 85$/месяц, но меня смущают цены. за такие деньги они разве что носовым платком могут сервер сверху прикрыть, от пыли :)
0
Andrey_Rogovsky #
По старой памяти — их услуги обходились в 20k$ в месяц
+1
Kosyan #
0
pietrovich #
спасибо. посмотрел. заинтересовало.
0
artishevcom #
Мы оказываем подобные услуги в России и успешно

news.yandex.ru/yandsearch?text=скалакси&rpt=nnews2&grhow=clutop
0
clustertech #
И кое-кто дает это бесплатно пакетом ко всем услугам ;)
+3
Lux_In_Tenebris #
Ах, какая наивность…
Если и поможет, то очень временно.
0
alexeym #
только вот если будут валить запросы на 80-й порт, то netfilter может спокойно сожрать все ресурсы… "-m string" достаточно тяжелая штука.

0
clustertech #
смотрите -m set и делайте через внешние листы, тогда с ресурсами не проблема.
+2
lifestar #
боты понимают кукисы уже очень давно, особенно в этом преуспели боты сеошников, парсящие всевозможные статистики
+1
l0rda #
не только кукисы понимают, но и javascript разбирают легко
–2
v_k #
легко, ага, javascipt
0
l0rda #
и почему минус? я про реальную ситуцию ;) был у нас такой бот, который разбирал очень хитрый яваскрипт, в него был просто встроен мозилловский JS движок, еле отловили его
+6
alekciy #
Да это лемминги минусуют. Которые о ботах только и знают, что это какая то страшная бяка. А подумать о том, что если что-то может одна программа, то это же самое вполне может повторить и другая.

Парадоксальная ситуация мракобесия масс. Социум верит в искусственный интеллект способный захватить мир, но не верит в бота способного читать куки, выполнять JS.
0
AlexeyK #
Сделаете вы исключение для поисковых роботов, прикинется ддос бот таким роботом и сайт ляжет :) Гораздо грамотнее уже limit_req крутить :) Заметка не тянет даже на базовую :)
+1
Andrey_Rogovsky #
Для поисковых ботов исключение делается по их IP адресу

А limit_req не поможет, так как боты не долбят с безумной скоростью, просто их очень много и как результат — всегда разные IP
0
AlexeyK #
Поисковые роботы делятся на обычных и с полной эмуляцией браузера, причем айпишники последних вроде как держатся в секрете
0
alisfen #
>>причем айпишники последних вроде как держатся в секрете
Только один вопрос — как?
0
AlexeyK #
Бот ничем не отличается от обычного юзера, зашедшего к вам на сайт, по-моему вы поняли все буквально
–1
flx #
Отличается.
Юзеру интересен контент.
Боту — НЕТ.

Бот это симуляция http browser, и как любая симуляция — несет в себе ряд допущений…
0
AlexeyK #
Если на сайте форма авторизации запрятана через 1-2 перехода, при этом я не хочу совершать эти 1-2 перехода, а вбиваю прямой линк в браузере, не это ли допущение? Скорее всего система, которую выстроите вы, меня забанит.
0
flx #
Просьба отцитировать мое утверждение на основе которого вы выстроили такое предположение?
0
AlexeyK #
Симуляция и реальные запросы клиента ничем не отличаются, вы не можете увидеть меня и понять кто я, даже зная мой IP, таким же образом я не могу узнать ничего о вас. Может быть вы бот, который сейчас троллит все комменты в этой теме? Какова вероятность? Я вам скажу, что ненулевая.

Пока единственный придуманный выход из ситуации — отслеживать посещения, строить цепи маркова и уже потом делать вывод относительно того, бот это или человек, я вам привел допущение, при котором я буду распознан как бот, если вам известен другой способ определения — расскажите, иначе не задавайте кучу вопросов по каждому комменту, от вас я пока не видел ни одного рационального ответа :)
0
flx #
Еще раз попрошу отцитировать мое утверждение на основе которого вы решили что

«Если на сайте форма авторизации запрятана через 1-2 перехода, при этом я не хочу совершать эти 1-2 перехода, а вбиваю прямой линк в браузере, не это ли допущение? Скорее всего система, которую выстроите вы, меня забанит.»

Следом будет коммент на ваши сети маркова.
Да, а зачем вы к ним так прицепились?
0
AlexeyK #
Я не знаю других способов определить юзер ли совершает запросы или бот, посему я сделал такое предположение, в вашем комменте утверждения такого нет, теперь комментите про цепи маркова или предложите свое решение проблемы отсеивания
0
Antex #
юзер читает robots.txt?
+1
AlexeyK #
нет, но и нестандартный бот не будет, если собирается проиндексировать все, а не то, что ему разрешили :)
+1
Antex #
плохой робот, робот должен соблюдать правила :)
+1
AlexeyK #
по-моему гугл преуспел как раз из-за того, что эти правила не соблюдал :)
0
Antex #
вот оно что, т.е. если я не хочу чтоб меня «нюхали» боты, то банить IP ботов? или весь гугл лучше забанить? =)
+4
AlexeyK #
Я проигрываю только из-за того, что у меня лимит 1 коммент в 5 минут :)))

З.Ы. позвоните Сергею Брину :)))
0
Antex #
хорошо, хочется взять и позвонить =)
0
Andrey_Rogovsky #
А ссылка есть на это?
0
AlexeyK #
Сейчас не могу найти, но была где-то на ресурсах SEO тематики, как альтернатива — сравните результаты поиска гугла и других SE, далеко не факт, что если у вас есть robots.txt с ограничениями для гугла, то в результатах поиска вы не обнаружите запрещенных ссылок
0
alrond #
Некоторых можно отловить ловушками и последующим анализом, у нас уже есть небольшая база
0
AlexeyK #
Есть схемы с цепями маркова, есть та же капча (которая гениальна как мне кажется в реализации Kill-bots), много чего есть, но тут про это никто не пишет :)
0
alrond #
Ну, ни капчей ни марковым IP хитроботов не вычислить, тут только может человеческая логика спасти и хорошо обученная на анализе логов нейросеть.
0
AlexeyK #
Почему? Объясните…

Да и не стремимся ли мы к созданию искусственного интеллекта, почему бы не сделать (не поюзать?) обучающуюся систему? :)
0
flx #
Стремимся! Но для того чтобы сделать достоверные выводы на основе поведенческого анализа, нужно иметь историю поведения? Так?

И чем длиннее эта история, тем достоверней выводы.
Понятно в какую нехорошую вилку мы попадаем?
0
AlexeyK #
Можно записывать по 3 атомарных действия, за атомарное действие примем переход по ссылке (атомарное действие валидно, если переход по ссылке возможен напрямую, тоесть юзер не прыгает по ссылкам как горный козел в хаотичном порядке, а исследует сайт постепенно), за 1 прогон по такой системе вычищаем возможных ботов, формируя как бы статистику, можно делать прогоны и дальше, тогда валидация будет точнее,

конечно возможно, что этот вариант не канает для продакшна, но как вариант для раздумий и отказа от хранения всей цепочки — вполне

единственное что я пытаюсь тут донести, распинаясь, поиск критерия, по которому с максимальной точостью и минимальными затратами можно вычислить где валидный юзер, а где бот
0
Andrey_Rogovsky #
Подсунуть ботам невидимую ссылку, или ссылку с надписью «нажми сюда если ты бот»?
0
AlexeyK #
Это прошлый век, боты давно не только понимают разницу между HEAD/GET/POST, но и умеют НОРМАЛЬНО эмулировать браузер :) Более-менее нормальные решения сейчас основаны на яваскрипте, которого боты пока еще не умеют
0
alrond #
Кажется мы немного не поняли друг друга — я имел ввиду сбор IP хитроботов, а не их отсекание на этой стадии.
Для отсекания можно использовать эту базу из адресов (как дополнительную меру), хотя не советую их отрубать — лучше давать им то, чт они хотят, или то, что можно умно подсунуть.
0
AlexeyK #
Возможно я сам немного не понял вашей логики, но позволю себе предположить, что чем раньше вы отсечете бота, тем меньше пилюлин получит ваш сервер и вы в итоге, не так ли? :)
0
alrond #
Не совсем так, если вы отсечете хитробота просто так, то ваш сайт с большой долей вероятности запессимизируют.
Хитроботы используются поисковиками только в случаях подозрений на черные методы продвижения.
А база, которую я имею ввиду, это просто IP адреса хитроботов гугла, яндекса и других. Здесь более подробно про эту и другие базы (хитроботы пока не открыты в API)
0
AlexeyK #
А, вот оно что, я то думал, что «хитробот» это ддос-бот :)))
Тогда вы правы :)
0
flx #
Капчу хорошую сгенерировать — недешовое занятие. Вам не кажется?
0
AlexeyK #
Не кажется, прочитайте про систему Kill-Bots, в частности про то, куда вынесено создание каптчи.

Еще можно нагенерить [a-z0-9] алфавит и делать составную картинку, если вы такой жадный, либо reCAPTCHA
0
flx #
Читал про killbots ну год назад.
а теперь подумайте:
во сколько раз «просядет» эффектвность вашей составной капчи?

во сколько вам обойдется составная капча даже с детским ботнетом в сто тысяч голов?
+3
AlexeyK #
Прежде всего я рад, что ботнеты «в сто тысяч голов» считаются у вас детскими, в связи с этим у меня возникла мысль, что вы охренительно грамотный специалист, который не желает поделиться с нами решениями, либо банальный тролль.

Если по делу — в случае, если у меня интернет магазин, который приносит 1000 долларов в месяц, я выключу его и пойду спать, если что-то более серьезное — я поставлю циску, перепишу днсы на более мощный сервер и буду там отлавливать весь этот крупный рогатый скот,

что я пытаюсь объяснить — решение напрямую зависит от проблемы, а не ваших гипотетических предположений о сферическом коне в вакууме :)
0
flx #
Вы, если вам не затруднительно, обратите внимание на мой профайл.

Гипотетичность моих рассуждений существует исключительно в ваших гипотетических рассуждениях.
Извините за каламбур.

Если у Вас есть Интересные Идеи По Теме, давайте общаться. Но наверное стоит унести это общение в более приватное и конструктивное русло.
0
AlexeyK #
Если вы действительно из highloadlab, то я не понимаю, зачем сводить все к одному месту…

В в топике, да и вообще в подобных топах хабра, много несуразицы по поводу ДДОСа, при этом никто не стремится ее как-то разруливать, как видно и у автора сего топа есть немного каши в голове, но тем не менее, позитивные мысли тут есть (хотя бы они и шаблонные), а вот нешаблонных решений я еще не встречал, хотя самому было бы интересно о них узнать
0
Rulez #
не хотите опубликовать топик и поделиться?
0
j3d1 #
n кол-во одновременных соединений, которые не закрываются сразу и сервак накроет
0
Andrey_Rogovsky #
От син флуда и серьезных атак — в следующей статье
+1
flx #
а можно сразу о «серьезных атаках»?
с каких пор synflood стал попадать в эту категорию?
0
Andrey_Rogovsky #
С тех самых пор, когда его потоки стали переходить за 1Gbps
0
flx #
почему 1Gbps synflood более опасен, чем скажем 1Gbps-1bps synflood?
0
Andrey_Rogovsky #
Потому что пакеты спуфленые, а их всех окукивать — это неслабое дело
+1
AlexeyK #
вырубить keep-alive, поставить максимальное количество возможных соединений побольше

(далее не относится к вашему комментарию, а вцелом к теме)

хотя я бы сказал что все это дроч и работает только на мелкопакостных ддосах никому не нужных сайтов, для серьезных продашн проектов существуют и работают давно проверенные схемы и алгоритмы
0
Rulez #
Можно подробнее какие именно? примеры и схемы?
0
AlexeyK #
Побраузите темы защиты от ДДОСа на хабре, там есть примеры реализации различных схем
0
Rulez #
не затруднит ли дать ссылки на схемы которые вы рекомендуете как надежные и проверенные?
0
AlexeyK #
Рекомендую Kill-bots (общее название схем, смысл которых в выдаче капчи при ДДОСе и отсеивании таким образом нелегитимного трафика, конкретные названия дать не могу), а также самописные решения вроде nginx+скрипт на его встроенном перле, который отсеивает нелегитимный трафик по условию (к примеру у вас POST ДДОС на скрипт login.pl или что-то похожее, либо через механизм кук, так как боты не всегда его поддерживают, тут уже custom решения), затем этот скрипт обращается к suid shell скрипту, который добавляет новое правило в фаерволл. До 50 000 хостов такие решения справляются, естественно, если у вас не шаред
+2
bolnikh #
Тут небольшой алгоритм защиты от ДДоса — тезисы доклада на хайлоаде
www.highload.ru/papers2009/12217.html

не все так просто, как автор пишет, куки это только один шаг. помимо его
— закручивание гаек на nginx
— поиск странных заголовков
— отслеживание активности
— куки конечно
— отрубать заграничный трафик
— отдавать атаку кому-то стороннему — пусть они мучаются
0
Andrey_Rogovsky #
Кстати, у кого-то случайно нет этой записи этого доклада, интересно было бы послушать.
0
V2NEK #
они сказали записи будут доступны через неделю-полторы после конференции.
0
flx #
все верно, куки один шаг.
заголовки (и ip и tcp и http ) — второй шаг.
третий шаг — Javascript, но это все просто не умещалось в доклад…

именно поэтому остановились на том что на данный момент наиболее эффективно: заголовки и request rate…
0
fearan #
Мне только одно интересно — автор-то проверял эту схему, перед тем, как запостить? :-)
0
flx #
Скорей всего проверял… Просто повезло автору и пришел к нему ботнет-двоечник.
+1
fearan #
А я вот сильно сомневаюсь.

Это не будет работать в принципе.
0
inkvizitor68sl #
от siege не спасёт — 2-3 siege бота повалят вам эту заглушку…
0
Andrey_Rogovsky #
От них спасет connlimit. По 4 коннекта с 1-го IP, и проблем небудет.
0
inkvizitor68sl #
ну это само собой. Просто в статье не мешало бы упомянуть про это)
0
l0rda #
это тоже не панацея, connlimit забить очень просто
0
AlexeyK #
А как же NAT? :)
0
Andrey_Rogovsky #
Иногда лучше потерять часть трафика, чем весь
0
AlexeyK #
Например всех пользователей мобильных телефонов и мобильного интернета? :)
0
Andrey_Rogovsky #
Если они составляют незначительную аудиторию — да.
0
AlexeyK #
По вашей логике так же можно отсечь юзеров IE, Safari, Oper'ы :) Это мало похоже на борьбу с ддосом :) Сами предлагаете какие-то решения, и тут же их рубите на корню :)
0
Andrey_Rogovsky #
При connlimit в 4 коннекта с 1 ip все эти браузеры работают нормально
0
lexeresser #
Я просто забыл написать продолжение истории :) Http://highloadlab.ru в итоге меня спас, бесплатно предоставляют защиту от ддоса :) Всё честно и нормально. Так же, как потом, узнал там работает один мой знакомый с прошлой работы :)
0
lexeresser #
0
pwlnw #
Мне интересно, из плюсующих хоть кто-нибудь попробовал эту строчку? Само по себе решение не работает. Если и работало, то правил там должно быть много разных.
0
TDz #
Забавное quick&dirty решение для самой простой атаки ботами. Думаю не самый плохой первый шаг в борьбе с атакующими, но сам подход — отделить легальный траф от нелегального локально путём проверки умеет ли он принимать куки достаточно примитивен. С предложенным механизмом фильтрации даже неумеющие работать с куки боты на отдаче заглушки всем подряд вполне смогут долблением на заглушку просто сожрать весь канал. Даже с параметрозависисмой кукой если цель атакующего завалить сайт малым кол-вом тяжелых запросов то что ему помешает получить валидную куку для десятка атакующих ботов и завалить сайт этой малой кучкой, ведь после валидации дальнейшей проверки в данном случае не предусмотрено. Плюс не стоит забывать что атаку как правило мониторят с обеих сторон — все современные DDOS боты имеют инструменты оценки успешности атаки и не сумев достигнуть результата атакующий будет модернизировать запросы либо вполне может переключиться на другие методики. Предлагаемая метода это баловство, давайте уж тогда просто поставим на сайт BasicAuth с регулярной сменой пароля, боты не умеющие принимать куки наверняка и пароли вводить не умеют хех.

Тут надо бы как минимум докручивать чего-то для самой проверки «ботовости» (капча или js) и кука параметрозависимая и динамически изменяющаяся + блеклистинг по активности, без него вообще успешно отразить DDoS нереально имхо. Если память не изменяет для nginx есть очень быстрый функционал хеширования/шифрования позволяющий устанавливать валидационные куки и так же быстро проверять валидность. Есть скрипты для анализа логов и автоблеклистинга атакующих машин. Допилить побольше правил и HTTP атака на ресурсы уже не грозит. Дальше атакующий переключится на низкоуровневые атаки и защищаться надо будет совсем иначе
0
Andrey_Rogovsky #
То, что nginx может установить куку, передав заголовок — это есть, а вот обработать запрос и проверить что есть в заголовке — про такое я не слышал.
0
Andrey_Rogovsky #
Хотя нет, неправ — куки помещаются в $http_cookie, причем это открывает возможность неплохого трекинга для ботов путем подсовывания разным IP нужных кук.
А капчу кстати можно оформить через флеш, который внезапно всплывает и просит подтверждения. Надеюсь флеш еще боты не научились?
0
TDz #
Капча, вопрос-ответ, js, flash, etc боты пока довольно примитивны потому что атака слишком простая чтобы делать для неё навороченный софт, проще переключиться на synflood/igmp/icmp/etc
0
Andrey_Rogovsky #
А вот это срезается все
0
poiza #
Я не очень хорошо шарю в системной безопасности, но у меня есть вопрос-предложение, как оставить сайт работающим для постоянных посетителей (для сайтов, где трафик имеет большой процент возвратов).

Придумать методику, когда мы вычленяем посетителя от бота. Например выполнение сложного действия или срок пребывания на сайте. И всех, кто евент проходит мы записываем в БД доверенных ip адресов.

Ура, теперь, когда на сайт обрушится атака, мы сможем продолжать работать для постоянных посетителей.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.