Предлагаю решение, защищающее от DDOS.

D
На сайте с 05.06.2007
Offline
155
#41

Хочется добавить своё слово так как был с этим плотно связан какое то время)

Автор движется в правильном направлении, простых iptables и limit_zone не достаточно, по крайней мере мне было не достаточно когда приходилось бороться с разними видами ддос атак, причём иногда со всеми сразу, syn/tcp/udp flood (и на php приложения естественно) несколько тысяч ботов, и входящим трафиком более 100мбит

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

Нормальной работой сайта это не назвать, но всё-же приятно что ддосеры побеждают лиж потому что мне не хватате канала для борьбы ;)

А результатирующая настройка сервера основывается как раз на всех видах защит iptables + limit_zone (эффективности в ней мало) + укреплением tcp стека и главное, самописанная программа без которой всё остальное просто теряло смысл! Программа по смыслу аналогична программе автора(анализатор логов и подключений), только более гибкая, вплоть до самоочистки забаненных адресов.

Ну опять же это защита только на уровне сервера, а при серьёзных атаках этого не достаточно.

Написал не мало шедевров ;)
M
На сайте с 01.12.2009
Offline
235
#42
myhand:
как отличите в iptables HTTP GET от HTTP POST - так и поговорим.

Поискал примеры, нашол этот.

 iptables -I INPUT -p tcp --dport 80 -m string --string "GET / HTTP/1.0" --algo kmp -j DROP
Администратор Linux,Freebsd. построения крупных проектов.
M
На сайте с 16.09.2009
Offline
278
#43

madoff, ищите дальше. начиная с того, что URL может быть

не обязательно "/".

это очень частный случай борьбы с конкретной

сигнатурой в атаке. довольно глупый в итоге, кстати.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
M
На сайте с 01.12.2009
Offline
235
#44
myhand:
madoff, ищите дальше. начиная с того, что URL может быть
не обязательно "/".

это очень частный случай борьбы с конкретной
сигнатурой в атаке. довольно глупый в итоге, кстати.

вы написали,я показал,это говорит не о глупости моей, а о вашем не знание Iptables :)

M
На сайте с 16.09.2009
Offline
278
#45
madoff:
вы написали,я показал

нет, не показали. попробую объяснить еще раз.

забанить на iptables по конкретной сигнатуре атаки (строка) - совершенно другое,

нежели понимание файерволом прикладного протокола. посмотрите код любого веб-сервера,

как он парсит HTTP-запросы (конкретно, Request-Line). там на порядок

больше работы чем сравнение со строкой "GET / HTTP/1.0" :D

так понятно?

seocore
На сайте с 25.09.2006
Offline
143
#46
madoff:
вы написали,я показал,это говорит не о глупости моей, а о вашем не знание Iptables :)

атаки бывают разные, в большинстве случаев вообще до GET-запроса не доходит дело...

iptables сам по себе достаточно громоздкий и неэффективный, - горазда более производительнее реешния создают на FreeBSD, так как там можно решать те вещи, при которых iptables будет нервно курить, причем даже при 30-40Мбитах 🚬

seocore добавил 05.12.2009 в 18:12

madoff:
не охотно в этой теме, хочу писать,так как нового вы не чего не сказали а я написал уже лекцию по защите от дос атак, в среднем тяжеловесе..:)

одно дело лекции писать, а другое дело на практике столкнуться с ддосом 😂

Инструменты для веб-мастера: кластеризатор СЯ (https://goo.gl/MQWfqO), все запросы конкурента (https://goo.gl/hd5uHS), дешевые XML-лимиты (https://goo.gl/aDZbPI)
M
На сайте с 16.09.2009
Offline
278
#47
seocore:
атаки бывают разные, в большинстве случаев вообще до GET-запроса не доходит дело...

речь шла именно о той ситуации, когда доходит. атака, ориентированая на конкретное приложение.

seocore:
iptables сам по себе достаточно громоздкий и неэффективный

инструмент каждый с умом нужно использовать. -m string под DDOS

атакой - совершенно идиотское решение. баньте с ipset ботов (детектируемых

nginx+скриптами), как дополнительную меру - hashlimit/connlimit/limit - и будет вам сщастье.

zexis
На сайте с 09.08.2005
Offline
388
#48

Разобрался и установил на сервер nginx в качестве фронт енда.

Всем рекомендую его поставить.

Очень нужная вещь.

В данный момент реализовал такую защиту от ддоса.

Анализатор логов раз в минуту смотрит логии nginx и если находит в них ддос, то заносит IP ботов в фаервол.

Плюс раз в минуту анализируется выдача команды netstat. Если там обнаруживается ддос, то также банится фаерволом.

У меня анализатор логов и анализатор netstat самописный на С.

В принципе я им доволен, все что мне надо он делает довольно эффективно. (анализатор логов)

Если нужно, мне его не сложно доработать под новый вид анализа.

Вопрос 1.

Кто какими пользуется анализаторами логов для поиска ддос?

Самописными чаще или есть какие то хорошие и популярные программы для этого?

Вопрос 2

Какие еще есть подходы для борьбы с ддосом силами самого сервера? Кроме анализа логов вебсервера и анализа выдачи команды netstat ?

Himiko
На сайте с 28.08.2008
Offline
560
#49
seocore:
одно дело лекции писать, а другое дело на практике столкнуться с ддосом

+1 :)

zexis:
Какие еще есть подходы для борьбы с ддосом силами самого сервера? Кроме анализа логов вебсервера и анализа выдачи команды netstat ?

Кэширование в nginx.

Вещь достаточно специфическая и не так просто настраивается, как может показаться на первый взгляд:)

К примеру, передача cookie и прочее (тут возможны проблемы с авторизацией на сайте).

Но если её грамотно настроить, то особо не придётся заморачиваться с netstat...

Nginx просто складывает на диск html-страницу и её выдаёт.

Вчера помогал клиенту с ДДОС. 5000 подключений сделал для теста, VDS даже не "чихнул") Потому что nginx может выдавать статику вообще мгновенно.

sexis:
Кто какими пользуется анализаторами логов для поиска ддос?
Самописными чаще или есть какие то хорошие и популярные программы для этого?

У меня всё самописное)

А логи на предмет большого числа подключений можно анализировать одной строчкой на bash. (эта же строчка будет и в фаервол загонять)

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
M
На сайте с 16.09.2009
Offline
278
#50
zexis:
Анализатор логов раз в минуту смотрит логии nginx и если находит в них ддос, то заносит IP ботов в фаервол.
Плюс раз в минуту анализируется выдача команды netstat. Если там обнаруживается ддос, то также банится фаерволом.

А какие именно критерии ddos (по логам nginx, по нетстат)?

Мне представляется, что вместо netstat (SYN) - лучше жесткие

лимиты на файерволе (hashlimit,connlimit).

Вместе с простым парсером логов nginx (модули *limit) - несколько

строк на sh + awk + iptables-restore/ipset. Помимо рецепта Himiko

с кешем (кстати, proxy_store vs proxy_cache - что шустрее

получается в данном контексте?) - еще ряд эвристических

приемов: redirect+js, cookie, whitelist (рулит для сайтов со специфической

аудиторией, типа WAP).

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