Помогите грамотно реагировать на ddos

I
На сайте с 21.05.2009
Offline
0
4877

На арендуемом сервере размещаю сайты, но последнее время некоторые из них стали периодически подвергаться подобным запросам:


88.130.189.253 - - [21/May/2009:21:31:25 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
77.31.35.147 - - [21/May/2009:21:31:25 +0200] "GET / HTTP/1.1" 404 592 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
77.31.35.147 - - [21/May/2009:21:31:25 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
78.94.215.14 - - [21/May/2009:21:31:25 +0200] "GET / HTTP/1.1" 404 592 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
78.94.215.14 - - [21/May/2009:21:31:25 +0200] "GET / HTTP/1.1" 404 592 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
78.94.215.14 - - [21/May/2009:21:31:25 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
78.94.215.14 - - [21/May/2009:21:31:25 +0200] "GET / HTTP/1.1" 404 592 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
78.94.215.14 - - [21/May/2009:21:31:25 +0200] "GET / HTTP/1.1" 404 592 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
77.31.35.147 - - [21/May/2009:21:31:29 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
84.155.242.199 - - [21/May/2009:22:38:18 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
78.94.215.14 - - [21/May/2009:22:38:18 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
78.94.215.14 - - [21/May/2009:22:38:18 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
84.155.242.199 - - [21/May/2009:22:38:19 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
84.155.242.199 - - [21/May/2009:22:38:19 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
77.4.153.249 - - [21/May/2009:22:38:19 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
77.4.153.249 - - [21/May/2009:22:38:19 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
78.94.215.14 - - [21/May/2009:22:38:19 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
78.94.215.14 - - [21/May/2009:22:38:19 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
88.130.189.253 - - [21/May/2009:22:38:19 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
88.130.189.253 - - [21/May/2009:22:38:19 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"

Хотелось бы услышать мнение людей понимающих, как стоит правильно и оперативно реагировать (блокировать ip?) на эти запросы, а так же мнение о настройках сервера для его "удержания на плаву" как можно дольше.

На данный момент используется только apache (под FreeBSD 6.1-RELEASE) и хотелось бы про него побольше, но вариант nginx + apache тоже интересен.

Andreyka
На сайте с 19.02.2005
Offline
822
#1

Сервак падает?

Не стоит плодить сущности без необходимости
O
На сайте с 13.08.2008
Offline
26
#2
innix:



78.94.215.14 - - [21/May/2009:21:31:25 +0200] "GET / HTTP/1.1" 404 592 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
78.94.215.14 - - [21/May/2009:21:31:25 +0200] "GET / HTTP/1.1" 200 5980 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"



Мне одному кажется, что здесь что-то совсем неправильно?


Хотелось бы услышать мнение людей понимающих, как стоит правильно и оперативно реагировать (блокировать ip?) на эти запросы, а так же мнение о настройках сервера для его "удержания на плаву" как можно дольше.
На данный момент используется только apache (под FreeBSD 6.1-RELEASE) и хотелось бы про него побольше, но вариант nginx + apache тоже интересен.

Прикрывайте nginx-ом. И 10-30 запросов в секунду вас волновать перестанут совершенно.

Outsourcenow.ru: оттюним ваш веб-сервер. 100 млн. запросов в сутки - наш размерчик!
I
На сайте с 21.05.2009
Offline
0
#3
Andreyka:
Сервак падает?

Нет, достаточно уверенно держится, но запросы все же беспокоят:

last pid: 32641;  load averages:  0.61,  0.39,  0.33  up 2+19:06:32    00:50:12
101 processes: 1 running, 100 sleeping

Mem: 288M Active, 944M Inact, 238M Wired, 8340K Cache, 112M Buf, 1773M Free
Swap: 4096M Total, 4096M Free
Outsourcenow:
Мне одному кажется, что здесь что-то совсем неправильно?

Чередующиеся 200 и 404 мне тоже в глаза бросаются. Объяснить их(404) причины не могу :(

Outsourcenow:
Прикрывайте nginx-ом.

Можно подробнее, в сторону каких параметров стоит смотреть?

Outsourcenow:
И 10-30 запросов в секунду вас волновать перестанут совершенно.

Запросов в данный момент в среднем около 200 в секунду.

O
На сайте с 13.08.2008
Offline
26
#4
innix:

Чередующиеся 200 и 404 мне тоже в глаза бросаются. Объяснить их(404) причины не могу :(

Я бы начал именно с этого.


Можно подробнее, в сторону каких параметров стоит смотреть?
Запросов в данный момент в среднем около 200 в секунду.

Ну, смотреть сначала не в параметры, а в мануалы - схема прикрывания апача nginx-ом описана многократно. Как минимум - избавитесь от запросов к статике.

Далее - смотреть на limit-rate, burst итп.

200 rps - это вобщем-то тоже слезы. Особенно если 80% запросов идут к /

I
На сайте с 21.05.2009
Offline
0
#5
Outsourcenow:
Я бы начал именно с этого.

404 пока не рассматриваю как проблему, ведь ddos не связан вроде бы с этим? Если даже будет найдена и устранена проблема, то запросы от этого не перестанут идти?

Outsourcenow:
Ну, смотреть сначала не в параметры, а в мануалы - схема прикрывания апача nginx-ом описана многократно. Как минимум - избавитесь от запросов к статике.
Далее - смотреть на limit-rate, burst итп.

200 rps - это вобщем-то тоже слезы. Особенно если 80% запросов идут к /

Если не сложно, можете привести какую-нибудь ссылку на мануал по прикрытию именно с описанием момента связанного с ddos? Уверен что на официальном сайте, достаточно хорошо расписаны параметры связанные с ограничениями, но не более, а хотелось бы в виде мануала все же.

Видимо вы говорите про "ngx_http_limit_req_module"? Гугл подсказал, что параметр "burst" встречается только для его limit_req.

По описанию любопытно, не обратил внимание на него прежде.

То есть в случае, если limit_req прописать для "location /", то это будет делать ddos бесполезным - запросы с определенным числом в секунду не будут обрабатываться вовсе, а так же проходить до apache? или я не понимаю чего-то, как-то все просто получается слишком тогда.

Выходит блокировать IP не лучшее решение?

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#6

Перегоняйте / раз в 3 минуты в статику и отдавайте как статику.

Потом парсите логи на адреса, систематически запрашивающие / и ничего больше, и баньте фаирволлом.

Вместо первого можно попробовать кеш в nginx.

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
A5
На сайте с 06.08.2006
Offline
46
#7

innix, хочу предложить такое решение (временное) с помощью iptables.

iptables -A INPUT -p tcp --dport 80 -m string --string 'GET / ' --algo bm --from 40 --to 46 -m connlimit --connlimit-above 4 -j DROP

Не более 4 одновременных запросов к главной странице с одного IP. На остальные страницы ограничение не действует.

Это реализация в Linux :(, наверное такое же можно сделать и в FreeBSD 6.1

[Удален]
#8
innix:
Чередующиеся 200 и 404 мне тоже в глаза бросаются. Объяснить их(404) причины не могу :(

Разные домены запрашивают.

Andreyka
На сайте с 19.02.2005
Offline
822
#9

Какой же это ddos...

Analitic82
На сайте с 17.01.2009
Offline
70
#10

как еще один вариант решения для размышления

http://deflate.medialayer.com/

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