С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 09/09/11 в 12:48 |
средствами/настройками/дополнениями nginx, как отследить большое кол-во обращений к страницам сайта (.php, .html, но не .jpg) в короткий промежуток времени (к примеру 1000 запросов за 5 минут) и заблокировать ип бота?
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 09/09/11 в 13:50 |
Вроде никак. Ты можешь ограничить только число паралельных запросов с одного ип, но сумму запросов за период не получится.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 17.08.05
Сообщения: 135
Рейтинг: 78
|
Добавлено: 09/09/11 в 15:02 |
а почему не хочешь лог анализировать?
за опр-ный пормежуток времени выщемить бота должно быть просто по кол-ву обращений
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 09/09/11 в 18:43 |
FreeMann писал: | а почему не хочешь лог анализировать?
за опр-ный пормежуток времени выщемить бота должно быть просто по кол-ву обращений |
так это постоянная сторонняя нагрузка по крону получится?
я чего и спрашивал, может есть в самом nginx готовые средства
|
|
|
|
Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 10/09/11 в 00:22 |
|
|
|
|
С нами с 06.10.06
Сообщения: 964
Рейтинг: 742
|
Добавлено: 10/09/11 в 00:47 |
Не так уж nginx и примитивен, в нем есть perl, и это все тоже можно сделать без особых проблем.
|
|
MyPublicDreams.com - Exclusive public paysite.
|
0
|
|
|
Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 10/09/11 в 01:58 |
А ничего, что встроенный perl блокирует весь процесс на время исполнения, и это при том, что скорость интерпретатора несравнима со скоростью родного кода? Не боишься, что на нагруженном сайте за такое руки оторвут?
|
|
|
|
С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144
|
Добавлено: 10/09/11 в 03:33 |
iptables поможет ограничить одновременное количество запросов с одного IP.
Например так:
Код: |
iptables -A INPUT -p tcp -syn --dport 80 -m connlimit --connlimit-above 10 -j REJECT
|
Это ограничит количество одновременных сессий до 10. Способ удобен тем, что трафик не тащится в userspace, а отбивается еще на уровне ядра.
Можно ограничить интенсивность запросов. Например, не более 10 запросов в минуту. Для этого есть модуль recent.
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 10/09/11 в 07:18 |
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 10/09/11 в 07:23 |
lega_cobra писал: | iptables поможет ограничить одновременное количество запросов с одного IP.
Например так:
Код: |
iptables -A INPUT -p tcp -syn --dport 80 -m connlimit --connlimit-above 10 -j REJECT
|
Это ограничит количество одновременных сессий до 10. Способ удобен тем, что трафик не тащится в userspace, а отбивается еще на уровне ядра.
Можно ограничить интенсивность запросов. Например, не более 10 запросов в минуту. Для этого есть модуль recent. |
вот это уже интереснее по снижению нагрузок, но если поставить ограничение запросов, то ответа от сервера не будет вообще, а надо бы оповестить пользователя о блокировке...
как вариант в голову пришло, делать редирект на отдельный порт nginx, где будет настроен ответ, или я неверно мыслю и так не получится?
|
|
|
|
С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144
|
Добавлено: 10/09/11 в 13:35 |
ibiz писал: | вот это уже интереснее по снижению нагрузок, но если поставить ограничение запросов, то ответа от сервера не будет вообще, а надо бы оповестить пользователя о блокировке... |
Ну вот еще, он тебя бомбит запросами, а ты ему еще вежливо отвечать будешь.
Цитата: | как вариант в голову пришло, делать редирект на отдельный порт nginx, где будет настроен ответ, или я неверно мыслю и так не получится? |
По достижению лимита можно делать любые действия, в том числе и редирект на другой порт.
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 10/09/11 в 17:03 |
попробовал, вроде работает через iptables как надо, но большим минусом является то, что надо делить статические файлы, типа картинок и скрипты по разным серверам, иначе после загрузки 1000 тумб за 5 минут блокируется пользователь
|
|
|
|
С нами с 06.10.06
Сообщения: 964
Рейтинг: 742
|
Добавлено: 10/09/11 в 22:58 |
Dr.Syshalt писал: | А ничего, что встроенный perl блокирует весь процесс на время исполнения, и это при том, что скорость интерпретатора несравнима со скоростью родного кода? Не боишься, что на нагруженном сайте за такое руки оторвут? |
Не боюсь.
Все что пишу это только из практики, nginx совмесно с pf таким образом отлично отражает ddos среднего уровня. Ну даже кроме того что ты и я написал есть множество сбособов прикрыть это, тут главное знания и опыт.
|
|
MyPublicDreams.com - Exclusive public paysite.
|
0
|
|
|
Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 12/09/11 в 21:40 |
adminZ писал: | Не боюсь.
Все что пишу это только из практики, nginx совмесно с pf таким образом отлично отражает ddos среднего уровня. Ну даже кроме того что ты и я написал есть множество сбособов прикрыть это, тут главное знания и опыт. |
Ну так можно и mod_perl к апачу пристроить, ddos "среднего уровня" отражать. А знания и опыт подразумевают использование подходящих средств к нужной ситуации, а не так, что если у тебя молоток только, и умение лишь его использовать, то вокруг одни гвозди мерещатся.
|
|
|
|