Comments 43
Интересный модуль, обязательно протестирую!
Буквально вчера в 23:50 закончилась DDoS атака на один из ресурсов который я администрирую :)
От атаки удалось отбиться средствами iptables (ограничение на кол-во одновременных коннектов с одного IP + ограничение на connection rate с одного IP) + кеширование атакуемых страниц.
Всерьёз начинал думать про защиту через cookies, но атака к этому момент уже закончилась (правда не в виде модуля, а через встроенный perl).
Буквально вчера в 23:50 закончилась DDoS атака на один из ресурсов который я администрирую :)
От атаки удалось отбиться средствами iptables (ограничение на кол-во одновременных коннектов с одного IP + ограничение на connection rate с одного IP) + кеширование атакуемых страниц.
Всерьёз начинал думать про защиту через cookies, но атака к этому момент уже закончилась (правда не в виде модуля, а через встроенный perl).
+4
сейчас нет времени и возможностей провести нагрузочное тестирование, но было бы интересно, насколько % изменяется производительность nginx с данным модулем и без него.
для встроенного perl даже есть аналогичный модуль, но он не спасет от парсинга контента regexp'ом + нужно вкомпиливать поддержку perl.
для встроенного perl даже есть аналогичный модуль, но он не спасет от парсинга контента regexp'ом + нужно вкомпиливать поддержку perl.
+3
С радостью бы потестировал. Ни у кого нет ботнета, на пару дней погонять?
+9
прямо сейчас идёт ддос атака, будем тестировать
+3
По-моему, проще за 15-30 минут накопить статистику ботов и на firewall'e делать ресет соединения для этих IP/network.
Поведение ботов очень сильно отличается от поведения обычных посетителей.
Поведение ботов очень сильно отличается от поведения обычных посетителей.
-8
за это время вам могут положить сервер
+1
Нет. LA незначительно успеет повысится.
А дальше скрипт в автоматическом режиме банит, без участия человека.
А дальше скрипт в автоматическом режиме банит, без участия человека.
-1
Конкретно вчера имел дело с DDOS'ом, в моём случае блокировал IP адреса каждые 5 минут (по логам nginx'а), практически не помогало — новые адреса появлялись практически в течении всего времени атаки, в большинстве случаев время «активной» жизни каждого адреса исчислялось единицами минут (потом смотрел по счетчикам на iptables).
И было всего порядка 100 IP адресов, с которых атака шла постоянно.
И было всего порядка 100 IP адресов, с которых атака шла постоянно.
+2
Медленно блокировали.
На VDS iptables с большими списками перестает работать, жалуется на нехватку памяти.
На VDS iptables с большими списками перестает работать, жалуется на нехватку памяти.
0
На VPS (виртуалка, причём на чём-то вроде openVZ/Virtuozzo) или действительно на VDS (выделенный сервер)?
В первом случае понятно — хостер поставил ограничения за пределы которых вы не можете выйти.
Но во втором -очень странно. Имея полноценные рутовые права можно совершенно спокойно увеличить максимальный размер таблицы iptables. Другой вопрос, что если надо блокировать много IP адресов и не требуется потом отслеживать активность каждого конкретного адреса, то есть значительно более эффективные способы.
В первом случае понятно — хостер поставил ограничения за пределы которых вы не можете выйти.
Но во втором -очень странно. Имея полноценные рутовые права можно совершенно спокойно увеличить максимальный размер таблицы iptables. Другой вопрос, что если надо блокировать много IP адресов и не требуется потом отслеживать активность каждого конкретного адреса, то есть значительно более эффективные способы.
0
Правильное направление, удачи вам в дальнейшей разработке! Многие очень недооценивают возможности кук при борьбе с ддосом, а с их помощью можно отбивать достаточно мощные аттаки. Ну по крайней мере не дать сайту сложится какое-то время и хоть как, но отвечать на нормальные запросы.
+2
Да, красивое решение. Желаю успехов в развитии!
+2
Очень часто всякие лоики не ставят user agent, в nginx это можно использовать себе на руку:
if ($http_user_agent = ''") {
return 403;
}
if ($http_user_agent = ''") {
return 403;
}
+5
а что будем делать с full browser stack?
+1
captcha это сразу -30% посетителей. как ни странно боты капчу лучше отгадывают чем большинство граждан этой страны. true story ;)
идея заставить клиента делать существенные вычисления на своей стороне чтобы уменьшить плечо атаки, это вполне разумно. вот только одна загвоздка — что делать когда клиентов ОЧЕНЬ много (десятки, а возможно и сотни тысяч)?
стоит-ли лезть в прилжение и создавать всем клиантам, в том числе и хорошим, такие хлопоты? если можно
ограничить клиента по количеству запросов написав тривиальный частотный анализатор запросов, и отлавливая буратин по распределению. работает, вообще без проблем если не забывать про ajax
идея заставить клиента делать существенные вычисления на своей стороне чтобы уменьшить плечо атаки, это вполне разумно. вот только одна загвоздка — что делать когда клиентов ОЧЕНЬ много (десятки, а возможно и сотни тысяч)?
стоит-ли лезть в прилжение и создавать всем клиантам, в том числе и хорошим, такие хлопоты? если можно
ограничить клиента по количеству запросов написав тривиальный частотный анализатор запросов, и отлавливая буратин по распределению. работает, вообще без проблем если не забывать про ajax
+4
статистический анализатор, ограничения L4 уровня никто не отменял — всё это необходимо, модуль выполняет другую задачу — не дает лечь бэкэндам, пока анализаторы собирают статистику и отсеивают подозрительных.
всё можно варьировать, и капчу можно показывать только тем кто слишком активен и прочее и прочее, но согласитесь, это должно быть в инфраструктуре, коммерческом решении, здесь же предлагается инструмент, который поможет не по всех, но во многих тривиальных случаях.
если он заставит авторов ботнетов потратить время и силы на разработку — profit! ;)
всё можно варьировать, и капчу можно показывать только тем кто слишком активен и прочее и прочее, но согласитесь, это должно быть в инфраструктуре, коммерческом решении, здесь же предлагается инструмент, который поможет не по всех, но во многих тривиальных случаях.
если он заставит авторов ботнетов потратить время и силы на разработку — profit! ;)
+1
Это все круто, если атака «детская».
А если это ДДОС на сетевую структуру емкостью под 40Гбит\с, то вам даже никто защититься не даст — вас отрубят аплинки.
А если это ДДОС на сетевую структуру емкостью под 40Гбит\с, то вам даже никто защититься не даст — вас отрубят аплинки.
0
Такой DDoS достаточно безопасен. Как правило это вариации на тему udp flood, иногда с использованием какой-нибудь оригинальной техники XYZ amplification. Резать полосу по битмаске — тут никакого кунгфу не надо.
Да, атаки разрушительны но они достаточно краткосрочны — несколько десятков часов максимум. Вот хорошо поставленный L7 flood с FBS и мутацией который проходит сквозь Arbor как нож сквозь масло и который нельзя в принципе сигнатурой порезать — вот это TRUE SKILL. И продолжаться это может месяцами. Размер ущерба сами можете представить ;)
Да, атаки разрушительны но они достаточно краткосрочны — несколько десятков часов максимум. Вот хорошо поставленный L7 flood с FBS и мутацией который проходит сквозь Arbor как нож сквозь масло и который нельзя в принципе сигнатурой порезать — вот это TRUE SKILL. И продолжаться это может месяцами. Размер ущерба сами можете представить ;)
+6
Бинт — это круто, если порезали палец, а если оторвало руку — то уже не поможет, факт. Но к чему это?
+3
Turbid: даже не знаю что ответить. Вещи-же очевидные. Контракты на много полосы у множества провайдеров.
0
>После установки cookies перенаправлять пользователя (заставить отправить нам полученные cookies) используя код ответа 200 и HTML тег Meta «refresh
Сильно неправильный метод:
* поисковики не смогут индексировати такую страницу, роботы социальных сетей не смогут вытягивать анонсы ваших статей, за что SEOшники защищаемого вами сайта будут вам «премного благодарны»
* при достаточно распространенной настройке firefox и explorer вместо переадресации будут орать о том что «свершается непоправимое»
Но а вообще модуль дельный, стоит пилить дпльше…
Сильно неправильный метод:
* поисковики не смогут индексировати такую страницу, роботы социальных сетей не смогут вытягивать анонсы ваших статей, за что SEOшники защищаемого вами сайта будут вам «премного благодарны»
* при достаточно распространенной настройке firefox и explorer вместо переадресации будут орать о том что «свершается непоправимое»
Но а вообще модуль дельный, стоит пилить дпльше…
0
Sign up to leave a comment.
Модуль nginx для борьбы с DDoS