Забивается пропускной канал, кажется DDos-ят

O2
На сайте с 10.10.2011
Offline
36
1559

Всем привет :).

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

Ну собственно почему я так думаю - один ip за 10мин пытался скачать один файл где-то 500 раз

...
2015/02/11 19:27:32 [error] 2034#0: *22875 limiting connections by zone "addr", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
2015/02/11 19:27:33 [error] 2034#0: *22878 limiting connections by zone "addr", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
2015/02/11 19:27:35 [error] 2034#0: *22883 limiting connections by zone "addr", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
2015/02/11 19:27:36 [error] 2034#0: *22885 limiting connections by zone "addr", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
2015/02/11 19:27:38 [error] 2034#0: *22888 limiting connections by zone "addr", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
2015/02/11 19:27:40 [error] 2034#0: *22907 limiting requests, excess: 5.774 by zone "dyn", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
2015/02/11 19:27:42 [error] 2034#0: *22903 limiting connections by zone "addr", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
2015/02/11 19:27:43 [error] 2034#0: *22905 limiting connections by zone "addr", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
2015/02/11 19:27:46 [error] 2034#0: *22920 limiting requests, excess: 5.093 by zone "dyn", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
2015/02/11 19:27:48 [error] 2034#0: *22917 limiting connections by zone "addr", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
2015/02/11 19:27:50 [error] 2034#0: *22941 limiting requests, excess: 5.766 by zone "dyn", client: 92.46.10.41, server: сайт.ru, request: "GET /engine/download.php?id=129 HTTP/1.1", host: "www.сайт.ru", referrer: "http://www.сайт.ru/opera.html"
...

еще я проверил access.log, выбрал самые интересные ip

sudo cat /var/log/apache2/domains/сайт.ru.log | awk '{print $1}' | sort | uniq -c
517 92.46.10.41
54 37.19.152.91
22 37.19.186.142
161 213.87.248.12
12 213.180.206.197
2 213.180.206.198
33 213.180.206.205
8 178.137.128.163
109 178.137.40.248
27 178.137.49.55
26 176.241.225.156
47 176.194.148.185
41 176.36.249.99
418 141.8.189.118

сайт пробыл на сервере где-то 3 часа

После написание нескольких правил для iptables и внесения изменений в настройки ядра, сервер при такой активности держится намного лучше (раньше LA поднимался до 3-4), но вот скорость скачивания файлов доходит до 16кб/c, хотя общий канал 1гб/с.

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

Как с этими злодеями бороться?

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

Соберите больше информации о проблеме.

1) Объем входящего исходящего трафика

2) Количество входящих исходящих IP пакетов.

3) Проанализируйте анализатором логов логи nginx. Top IP, Top страниц.

4) Мне намного удобнее анализировать логи, когда для файлов статики (gif, jpg) динамических файлов ведутся разные логи.

O2
На сайте с 10.10.2011
Offline
36
#2

zexis, хорошо, сейчас займусь этим.

K5
На сайте с 21.07.2010
Offline
209
#3

что iftop говорит?

аська 45два48499два записки на работе (http://memoryhigh.ru) помогу с сайтом, удалю вирусы, настрою впс -> отзывы ТУТ (/ru/forum/836248) и ТАМ (http://www.maultalk.com/topic140187.html) !!!всегда проверяйте данные людей, которые сами пишут вам в аську или скайп!!!
VK
На сайте с 29.12.2011
Offline
42
#4

oo22rus, если Вы можете зайти на сервер, то атака на самом деле слабая, значит есть возможность отбиться прямо на сервере, но для этого придется много почитать и немного пописать код.

M
На сайте с 30.08.2010
Offline
92
#5

"GET /engine/download.php?id=129 HTTP/1.1" как бэ намекает куда девается траф. nginx умеет лимиты скорости скачивания.

kxk
На сайте с 30.01.2005
Offline
990
kxk
#6

oo22rus, Поставьте рекапчу с антилич модулем в ваш ДЛЕ

P.S. Разрешайте скачивать файлы только тем кто авторизован, остальным 404 говорите, можно реализовать как Nginx так и на php.

Ваш DEVOPS

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