как грамотно защитить nginx от ddos

TB
На сайте с 19.12.2012
Offline
8
#11
Evas:
Упустили, перечитайте пожалуйста моё сообщение.

apache, mysql - зачем их настраивать, если бот не пройдет дальше nginx?

Evas:
Аналогично, лично столкнулся с подобным, боты понимали и возвращали

Покажите мне бота, который выполнит приведенный мной выше яваскрипт с хабра.

Den73:
а я не сомневаюсь что браузер это не выполнит, вы понимаете что ддосят браузерным движком который работает в фоне

если так ддосят, то необходим огромный ботнет ибо профит с 1 бота мизерный (так как насколько я знаю существуют только 2 открытых движка браузера это Геко и Эксплорер оба древние как мир). Не встречал таких ботов, мб скинете ссылку где был обнаружен такой бот?

zexis:
Что вы понимете под "ддос не по хттп" ?

icm, udp syn

Den73:
уж такую простую задачу не решить :( .... а собрались от ддос защищаться :).

решу, просто продумываю как все сделать правильнее

Den73
На сайте с 26.06.2010
Offline
523
#12
Evas:

Вопрос, а что же, по-вашему, я продаю? Вы являетесь моим клиентом?
Что-то не припомню. Не видя ничего, вы пытаетесь тут что-то утверждать, весело.
Ссылка на мою тему с отзывами в подписи, ознакомьтесь. А сейчас, всё что я сделаю,
так это пожелаю вам добра и распрощаюсь с вами.

мне ваш клиент просто показывал ваши скрипты я просто удивился - "за что люди деньги берут".

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

---------- Добавлено 23.12.2012 в 21:18 ----------

theBlackWolf:

по поводу досят браузерным движком - если так ддосят, то необходим огромный ботнет ибо профит с 1 бота мизерный. Не встречал таких ботов, мб скинете ссылку где был обнаружен такой бот?

2013 год скоро, значит ваш ресурс не интересный и не достоин хорошего ddos.

не нужен огромный, достаточно 500-1000 медленных ботов которые обойдут вашу кашу с простановкой куки и зафлудят бэкенд, будет весело ;)

Нормальные способы вам тут не кто не раскроет так что топик не о чем, поищите уже были такие.

TB
На сайте с 19.12.2012
Offline
8
#13
Den73:

Нормальные способы вам тут не кто не раскроет так что топик не о чем, поищите уже были такие.

Советы дельные дали, за что спасибо, схема вырисовалась, так что отбивать небольшие атаки без авторских способов думаю попыхтев смогу реализовать. А крупные атаки думаю на меня сыпаться не будут, да отбивать их на уровне сервера все равно не получится, так как канал забьют и все дела.

спасибо zexis который лаконично сказал суть без разглагольствований. Защиту у zexis приобрету когда куплю сервер с 1gbit Unmetered

Evas EvaSystems
На сайте с 31.05.2012
Offline
104
#14
не ваш клиент просто показывал ваши скрипты я просто удивился - "за что люди деньги берут".

Без понятия кто, что и когда там вам показывал. "отзывы - вода" говорите? Хорошо, пусть будет так. Спорить или доказывать вам что либо я не буду.

apache, mysql - зачем их настраивать, если бот не пройдет дальше nginx?

Да затем, что вы никогда не заблокируете атаку полностью и часть пройдёт до бакенда, в случае тяжелых скриптов и неоптимизированнорго ПО этой части будет достаточно для того чтобы уложить вас ну или же существенно затруднить жизнь сайту.

Покажите мне бота, который выполнит приведенный мной выше яваскрипт с хабра.

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

А так, раз уж тема исчерпана удаляюсь.

Системный администратор Linux. Настройка, сопровождение и оптимизация серверов. Отзывы - searchengines.guru/ru/forum/1017473
TB
На сайте с 19.12.2012
Offline
8
#15

apache, mysql я естественно настраивал чисто для оптимизации.

в приведенном с хабра примере яваскрипт не статичен и в любом случае я сомневаюсь что повстречаю такого бота (если встечу тогда уже и задумаюсь что с ним делать).

Совета по обнаружению ботов на nginx я от вас Evas не видел, вы советали nginx просто настроить грамотно, что мне кажется не достаточным

M
На сайте с 16.09.2009
Offline
278
#16
theBlackWolf:
Перерыл гугл в поисках оптимального решения. Более менее понятно с ограничениями кол-ва соединений, но вот когда соединений 1-2 с бота (скажем slow post атака) тут я попал в ступор.

Задумываться надо было с другого конца:

"Вот он мне льет запросов столько, сколько серверу позволено обрабатывать. Я при этом вообще зайти на сервер смогу? Я смогу что-то в консоли сделать (тот же анализ лога вебсервера) - или буду видеть слайд-шоу?"

Dram:
Максимально забаненых ботов было как раз в районе 2000. Мелкие атаки 500-1000 идут почти каждый день. Сервер их теперь не замечает :)

Не исключено, что это фальшивые срабатывания - вы (или ваши клиенты) теряете просто трафик. Я бы проверил.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
zexis
На сайте с 09.08.2005
Offline
388
#17
myhand:

Не исключено, что это фальшивые срабатывания - вы (или ваши клиенты) теряете просто трафик. Я бы проверил.

По поводу фальшивых срабатываний .

У меня написан анализатор логов access.log, который, на мой взгляд очень эффективно обнаруживает аномальную активность.

В нем задаются лимиты для алгоритмов поиска ботов под трафик конкретного сайта.

Пример лимитов.

1) Забанить всех кто сделал более 20 одинаковых запросов к страницам за 60 секунд и к другим страницам не обращался.

2) Забанить всех кто сделал более 30 одинаковых запросов к страницам за 120 секунд, но мог обращаться и к другим страницам.

3) Забанить всех кто сделал более 100 любых запросов к страницам за 120 секунд.

4) Забанить всех кто сделал более 130 любых запросов к страницам за 180 секунд.

5) Вычислить страницы сайта, которые имели за последние 3 минуты более 1000 обращений и забанить все IP которые обращались только к этим страницам.

6) Найти все юзер агенты используемые более 3000 раз, для них лимиты уменьшить на 30%

7) Найти все реферреры используемы суммарно более 1000 раз, для них лимиты уменьшить на 40%

8) Если суммарная нагрузка выше 500 запросов в минуту, но ботов алгоритмами не найдено, то начать бан тех кто не возвращает куки и не включен в белый список.

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

Цифры выше даны лишь как пример, а не те реальные лимиты которые я обычно ставлю.

Банятся IP удовлетворяющие хотя бы одному алгоритму.

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

Анализатор написан на С и обрабатывает лог длиной 10 000 строк 10 алгоритмами около 2 секунд.

Количество анализируемых строк вычисляется автоматически, что бы в анализ попало последние 3 минуты, но не более 50 000 строк.

Вопрос вероятности ложных банов решается настройкой лимитов под трафик каждого сайта. Да это бывает трудоемко, если сайтов много.

Если же на сервере 1-2 сайта, то настроить под них лимиты дело 20 минут.

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

Случаются и проблемы с настройкой лимитов, которые приводят к ложным банам.

Вот примеры проблем.

1) На сайте работает PHP чат, который генерирует много одинаковых запросов.

2) Картинки сайта грузятся не как статические файлы, а генерируются динамически скриптом PHP, это приводит к большому количеству запросов с одного клиента.

Эти проблемы решаются созданием отдельного локейшена для слишком часто запрашиваемых страниц и отдельного лога для этих запросов.

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

N
На сайте с 06.05.2007
Offline
419
#18
Dram:
Мелкие атаки 500-1000 идут почти каждый день.

Но зачем им продолжать атаковать сервер каждый день ? Они тупые?

Это, скорее, ложные срабатывания. Поздравляю, у вас 500-1000 пользователей не попавших на сайт.

Кнопка вызова админа ()
zexis
На сайте с 09.08.2005
Offline
388
#19
netwind:
Но зачем им продолжать атаковать сервер каждый день ? Они тупые?
Это, скорее, ложные срабатывания. Поздравляю, у вас 500-1000 пользователей не попавших на сайт.

Не нужно гадать ложные срабатывания или не ложные, не имея для этого достаточно информации.

Нужно посмотреть кого банит.

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

M
На сайте с 16.09.2009
Offline
278
#20
zexis:
Не нужно гадать ложные срабатывания или не ложные, не имея для этого достаточно информации.

Да никто и не гадает. Это независимо предложил уже второй человек. Причем, вполне вероятно, он как и я исходил из сценария "с кучей сайтов". Ибо если проектов ~10 - ситуация абсолютно точно ненормальная.

zexis:
Нужно посмотреть кого банит.

Конечно, никто "диагноз" тут вам не ставит - поймите правильно. Может и все в порядке, но на первый взляд - уж больно подозрительно.

zexis:
Вопрос вероятности ложных банов решается настройкой лимитов под трафик каждого сайта. Да это бывает трудоемко, если сайтов много.

Вот это отдельно очень настораживает. Рискну еще раз предположить, что у данного вашего клиента как раз "куча сайтов". Может ваши "алгоритмы" работают сразу для всех скопом - тогда ложные срабатывания совершенно элементарны.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий