Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 23.12.2012, 18:48   #11
Den73
Академик
 
Аватар для Den73
 
Регистрация: 26.06.2010
Сообщений: 7,648
Репутация: 414676
Отправить сообщение для Den73 с помощью ICQ

По умолчанию Re: как грамотно защитить nginx от ddos

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

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

Цитата:
Сообщение от theBlackWolf Посмотреть сообщение
но встает вопрос о включении его во время атаки, полагаю тут нужен скрипт, который определит атаку, заменит конфиг нгикса и перезагрузит его.

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

Цитата:
Сообщение от theBlackWolf Посмотреть сообщение
Таким образом для меня выстраивается такая схема защиты
настраиваю ядро ос
limit_req_zone, limit_zone прописываю для nginx
пишу скрипт для iptables который будет банить самых агрессивных (на данный момент стоит скрипт ddos deflate) + скрипт который будет обнаруживать начало атаки изменять конфиг nginx для включения явакуков
с ддосом не по хттп борюсь настройкой ядра ос и iptables
и принципе если атака оч сильная то больше ничего я на уровне сервера сделать не смогу.

я все верно понял? ничего не пропустил?
только не копируйте чужие конфиги, можете сделать еще хуже) там не так уж много параметров которые реально имеет смысл крутить, например выкиньте nf_conntrack из ядра, включите syncookies, увеличте размеры очередей, можно уменьшить таймауты, не добавляйте правила в iptables с использованием connlimit, не заставляйте работать apache или чего у вас там.. во время ddos, отдавайте гостям из кэша.

от флуда канала не поможет "настройкой ядра ос и iptables"

дерзайте, что бы затестить можете сходить на хак форумы и заказать на себя атаку (только не радуйтесь раньше времени там скажем так больше половины реальные LOL досеры).
Den73 вне форума   Ответить с цитированием

Реклама
Старый 23.12.2012, 19:03   #12
theBlackWolf
Страшный чЁрд
 
Регистрация: 19.12.2012
Сообщений: 40
Репутация: 1511

ТопикСтартер Re: как грамотно защитить nginx от ddos

Цитата:
Сообщение от Evas Посмотреть сообщение
Упустили, перечитайте пожалуйста моё сообщение.
apache, mysql - зачем их настраивать, если бот не пройдет дальше nginx?

Цитата:
Сообщение от Evas Посмотреть сообщение
Аналогично, лично столкнулся с подобным, боты понимали и возвращали
Покажите мне бота, который выполнит приведенный мной выше яваскрипт с хабра.

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

Цитата:
Сообщение от zexis Посмотреть сообщение
Что вы понимете под "ддос не по хттп" ?
icm, udp syn

Цитата:
Сообщение от Den73 Посмотреть сообщение
уж такую простую задачу не решить .... а собрались от ддос защищаться .
решу, просто продумываю как все сделать правильнее

Последний раз редактировалось theBlackWolf; 23.12.2012 в 19:18..
theBlackWolf вне форума   Ответить с цитированием
Старый 23.12.2012, 19:06   #13
Den73
Академик
 
Аватар для Den73
 
Регистрация: 26.06.2010
Сообщений: 7,648
Репутация: 414676
Отправить сообщение для Den73 с помощью ICQ

По умолчанию Re: как грамотно защитить nginx от ddos

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

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

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

Цитата:
Сообщение от theBlackWolf Посмотреть сообщение
по поводу досят браузерным движком - если так ддосят, то необходим огромный ботнет ибо профит с 1 бота мизерный. Не встречал таких ботов, мб скинете ссылку где был обнаружен такой бот?
2013 год скоро, значит ваш ресурс не интересный и не достоин хорошего ddos.

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

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

Последний раз редактировалось Den73; 23.12.2012 в 19:20..
Den73 вне форума   Ответить с цитированием
Старый 23.12.2012, 19:38   #14
theBlackWolf
Страшный чЁрд
 
Регистрация: 19.12.2012
Сообщений: 40
Репутация: 1511

ТопикСтартер Re: как грамотно защитить nginx от ddos

Цитата:
Сообщение от Den73 Посмотреть сообщение
Нормальные способы вам тут не кто не раскроет так что топик не о чем, поищите уже были такие.
Советы дельные дали, за что спасибо, схема вырисовалась, так что отбивать небольшие атаки без авторских способов думаю попыхтев смогу реализовать. А крупные атаки думаю на меня сыпаться не будут, да отбивать их на уровне сервера все равно не получится, так как канал забьют и все дела.
спасибо zexis который лаконично сказал суть без разглагольствований. Защиту у zexis приобрету когда куплю сервер с 1gbit Unmetered

Последний раз редактировалось theBlackWolf; 23.12.2012 в 20:25..
theBlackWolf вне форума   Ответить с цитированием
Старый 23.12.2012, 19:44   #15
Evas
Linux специалист
 
Аватар для Evas
 
Регистрация: 31.05.2012
Адрес: Донецк
Сообщений: 410
Репутация: 45030
Отправить сообщение для Evas с помощью ICQ Отправить сообщение для Evas с помощью Skype™ Send Message via Jabber to Evas
Социальные сети Аккаунт в Telegram

По умолчанию Re: как грамотно защитить nginx от ddos

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

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


Цитата:
Покажите мне бота, который выполнит приведенный мной выше яваскрипт с хабра.
Именно такой скрипт, прошедший обфускацию выполняли боты. Показывать я ничего не буду, лишь советую как поступить, а дальше уже ваше дело.
А так, раз уж тема исчерпана удаляюсь.
__________________
Актуально в 2019. Системный администратор Linux. Отзывы
Настройка, сопровождение и оптимизация серверов.
ICQ: 566176057 / Jabber: evasystems@jabber.ru / Skype: eva-systems / Telegram: @evasystems
Evas вне форума   Ответить с цитированием
Старый 23.12.2012, 19:58   #16
theBlackWolf
Страшный чЁрд
 
Регистрация: 19.12.2012
Сообщений: 40
Репутация: 1511

ТопикСтартер Re: как грамотно защитить nginx от ddos

apache, mysql я естественно настраивал чисто для оптимизации.
в приведенном с хабра примере яваскрипт не статичен и в любом случае я сомневаюсь что повстречаю такого бота (если встечу тогда уже и задумаюсь что с ним делать).
Совета по обнаружению ботов на nginx я от вас Evas не видел, вы советали nginx просто настроить грамотно, что мне кажется не достаточным

Последний раз редактировалось theBlackWolf; 23.12.2012 в 20:25..
theBlackWolf вне форума   Ответить с цитированием
Старый 23.12.2012, 20:30   #17
myhand
Академик
 
Регистрация: 16.09.2009
Сообщений: 4,853
Репутация: 138734

По умолчанию Re: как грамотно защитить nginx от ddos

Цитата:
Сообщение от theBlackWolf Посмотреть сообщение
Перерыл гугл в поисках оптимального решения. Более менее понятно с ограничениями кол-ва соединений, но вот когда соединений 1-2 с бота (скажем slow post атака) тут я попал в ступор.
Задумываться надо было с другого конца:
"Вот он мне льет запросов столько, сколько серверу позволено обрабатывать. Я при этом вообще зайти на сервер смогу? Я смогу что-то в консоли сделать (тот же анализ лога вебсервера) - или буду видеть слайд-шоу?"

Цитата:
Сообщение от Dram Посмотреть сообщение
Максимально забаненых ботов было как раз в районе 2000. Мелкие атаки 500-1000 идут почти каждый день. Сервер их теперь не замечает
Не исключено, что это фальшивые срабатывания - вы (или ваши клиенты) теряете просто трафик. Я бы проверил.
__________________
Абонементное сопровождение серверов (Debian)
Отправить личное сообщение,
написать письмо.
myhand вне форума   Ответить с цитированием
Старый 23.12.2012, 21:30   #18
zexis
Академик
 
Аватар для zexis
 
Регистрация: 09.08.2005
Сообщений: 3,977
Репутация: 765388

По умолчанию Re: как грамотно защитить nginx от ddos

Цитата:
Сообщение от 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, это приводит к большому количеству запросов с одного клиента.

Эти проблемы решаются созданием отдельного локейшена для слишком часто запрашиваемых страниц и отдельного лога для этих запросов.
При хорошей настройке лимитов и регулярной проверке, ложные баны можно вообще исключить.
zexis вне форума   Ответить с цитированием
Старый 23.12.2012, 22:17   #19
netwind
Академик
 
Регистрация: 06.05.2007
Сообщений: 6,010
Репутация: 490997

По умолчанию Re: как грамотно защитить nginx от ddos

Цитата:
Сообщение от Dram Посмотреть сообщение
Мелкие атаки 500-1000 идут почти каждый день.
Но зачем им продолжать атаковать сервер каждый день ? Они тупые?
Это, скорее, ложные срабатывания. Поздравляю, у вас 500-1000 пользователей не попавших на сайт.
netwind вне форума   Ответить с цитированием
Старый 23.12.2012, 22:39   #20
zexis
Академик
 
Аватар для zexis
 
Регистрация: 09.08.2005
Сообщений: 3,977
Репутация: 765388

По умолчанию Re: как грамотно защитить nginx от ddos

Цитата:
Сообщение от netwind Посмотреть сообщение
Но зачем им продолжать атаковать сервер каждый день ? Они тупые?
Это, скорее, ложные срабатывания. Поздравляю, у вас 500-1000 пользователей не попавших на сайт.
Не нужно гадать ложные срабатывания или не ложные, не имея для этого достаточно информации.
Нужно посмотреть кого банит.
Если у клиента есть подозрения на ложные срабатывания он ко мне обращается и я смотрю в логах кого забанило и за что.
zexis вне форума   Ответить с цитированием
Ответ



Опции темы

Быстрый переход


Регистрация Справка Календарь Поддержка Все разделы прочитаны