Как защититься от хулигана?

12
alexspb
На сайте с 14.11.2005
Offline
187
#11
Мишо:
Это страница Wordpress, весьма легкая.

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

Brim.ru:
- приведите фрагменты логов (с ip-адресом откуда идут запросы), будет что обсудить

и запросы не мешало бы (посмотрите, гет или пост передает что-либо?)

Мишо
На сайте с 07.08.2007
Offline
118
#12
Brim.ru:
- могут но не хотят. Все что они Вам советуют они могут сделать и сами и, возможно, более эффективно (забанить на уровне файрвола). Кроме того они могут отправить абузы владельцам ip-адресов с которых идут запросы (в некоторых случаях это помогает). Вопрос еще в том - обязаны ли они это делать? Например если у Вас тариф типа VPS, то Вы себе сам хозяин и барин и служба поддержки 🚬

Нет, тариф у меня "коммунальный", а не VPS.

Посмотрел сейчас: в договоре написаны пункты явно не в пользу заказчика хостинга.

Похоже, и правда, сам себе поддержка в этой ситуации:

"5.9. ИСПОЛНИТЕЛЬ не несет ответственности перед ЗАКАЗЧИКОМ за задержки, перебои в работе и невозможность полноценного использования собственных ресурсов ИСПОЛНИТЕЛЯ, происходящие прямо или косвенно по причине действия или бездействия третьих лиц и/или неработоспособностью транспортно-информационных каналов, находящихся за пределами собственных ресурсов ИСПОЛНИТЕЛЯ.

6.2. ИСПОЛНИТЕЛЬ предоставляет ЗАКАЗЧИКУ Услуги с круглосуточным графиком с возможными перерывами. Перерывы в предоставлении Услуг обуславливаются действием или бездействием третьих лиц и/или неработоспособностью транспортно-информационных каналов, находящихся за пределами собственных ресурсов ИСПОЛНИТЕЛЯ, а также необходимым ремонтом и/или заменой оборудования и программного обеспечения ИСПОЛНИТЕЛЯ, в том числе по аварийным обстоятельствам".

Brim.ru:
- приведите фрагменты логов (с ip-адресом откуда идут запросы), будет что обсудить

188.18.148.24 - [09:13:28] "GET /archives/221 HTTP/1.0" 200 9589 "-" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:47] "GET /archives/221 HTTP/1.0" 200 9585 "-" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:48] "GET /images/drinkin.jpg HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:48] "GET /smallrays50.jpg HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:48] "GET /wp-content/plugins/contact-form-7/styles.css?ver=2.1 HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:48] "GET /wp-content/plugins/wp-spamfree/img/wpsf-img.php HTTP/1.0" 200 43 "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:48] "GET /wp-content/themes/tiga-06/style.php HTTP/1.0" 200 12560 "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:48] "GET /wp-content/uploads/2009/12/favicon-17.ico HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:53] "GET /archives/221 HTTP/1.0" 200 9585 "-" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:53] "GET /wp-content/plugins/contact-form-7/styles.css?ver=2.1 HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:53] "GET /wp-content/themes/tiga-06/style.php HTTP/1.0" 200 12560 "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:53] "GET /wp-content/uploads/2009/12/favicon-17.ico HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:54] "GET /images/drinkin.jpg HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:54] "GET /smallrays50.jpg HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:54] "GET /wp-content/plugins/wp-spamfree/img/wpsf-img.php HTTP/1.0" 200 43 "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:59] "GET /archives/221 HTTP/1.0" 200 9588 "-" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:59] "GET /wp-content/plugins/contact-form-7/styles.css?ver=2.1 HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:59] "GET /wp-content/themes/tiga-06/style.php HTTP/1.0" 200 12560 "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:13:59] "GET /wp-content/uploads/2009/12/favicon-17.ico HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:14:00] "GET /images/drinkin.jpg HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:14:00] "GET /smallrays50.jpg HTTP/1.0" 304 - "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:14:00] "GET /wp-content/plugins/wp-spamfree/img/wpsf-img.php HTTP/1.0" 200 43 "http://moisait.ru/archives/221" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

188.18.148.24 - [09:14:05] "GET /archives/221 HTTP/1.0" 200 9587 "-" "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"

и т.д. в том же духе.

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

Тоже сталкивался с такой проблемой на своем сайте.

Скрипт защищающий от такого ддоса не очень большой.

На шелле он занимает несколько строк.

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

Какой у вас хостинг? Виртуальный или свой сервер?

Есть ли доступ к iptables?

Есть ли возможность компилировать программы на С и запускать их?

Если да то поставить вам такой скрипт можно.

BR
На сайте с 28.06.2008
Offline
75
#14
Мишо:
и т.д. в том же духе.

- судя по приведенному фрагменту логу это "нормальная" нагрузка связанная с загрузкой страниц сайта. Почему Вы решили что это атака?

P.S. http://ipgeobase.ru/?address=188.18.148.24

размещение сайтов (http://www.brim.ru)
zexis
На сайте с 09.08.2005
Offline
388
#15

Стоит ли у вас nginx?

Рекомендую поставить nginx, так как там есть функция ограничения на количество запросов с одного IP адреса.

Мишо. Вам надо ставить скрипты, котрые будут постоянно анализировать логии вашего вебсервера.

Обнаруживать в них ботов и автоматом заносить в фаервол.

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

Мишо
На сайте с 07.08.2007
Offline
118
#16
zexis:

Какой у вас хостинг? Виртуальный или свой сервер?
Есть ли доступ к iptables?
Есть ли возможность компилировать программы на С и запускать их?
Если да то поставить вам такой скрипт можно.

У меня обычный аккаунт на совместном хостинге. Про остальное могу уточнить у хостера, т.к. я в этом не разбираюсь.

alexspb:
значит ТС с оптимизацией кода этой страницы и надо заниматься

Вот для примера время загрузки этой страницы:

Размеры (KB)

moisait.ru/archives/221 27.7

moisait.ru/wp-content/themes/tiga-06/style.php 12.3

moisait.ru/wp-content/plugins/contact-form-7/styles.css?ver=2.1 0.9

moisait.ru/wp-includes/js/jquery/jquery.js?ver=1.3.2 55.9

moisait.ru/wp-content/plugins/wp-spamfree/js/wpsf-js.php 1.5

moisait.ru/images/drinkin.jpg 24.6

moisait.ru/wp-content/plugins/wp-spamfree/img/wpsf-img.php

pagead2.googlesyndication.com/pagead/show_ads.js 32.1

moisait.ru/wp-includes/js/jquery/jquery.form.js?ver=2.02m 8.2

moisait.ru/wp-content/plugins/contact-form-7/scripts.js?ver=2.1 4.5

counter.yadro.ru/logo?44.2 0.1

moisait.ru/smallrays50.jpg 18.2

Brim.ru:
- судя по приведенному фрагменту логу это "нормальная" нагрузка связанная с загрузкой страниц сайта. Почему Вы решили что это атака?

Может, это и не атака.

Только зачем ему понадобилось обновлять одну и ту же страницу моего сайта, в течение нескольких часов подряд, до тех пор, пока не забэню, повторяя то же самое на следующий день уже с нового ip?

Каждый день ip обновляется:

188.18.138.42

94.51.154.194

188.18.148.24

Все три от usi.ru.

Мишо добавил 13.01.2010 в 12:53

zexis:
Стоит ли у вас nginx?
Рекомендую поставить nginx, так как там есть функция ограничения на количество запросов с одного IP адреса.
Мишо. Вам надо ставить скрипты, котрые будут постоянно анализировать логии вашего вебсервера.
Обнаруживать в них ботов и автоматом заносить в фаервол.
В приведенной вами примере лога, доса не видно, так как запросы идут с интервалом в несколько секунд.

Узнаю насчет nginx.

На днях добавил в robots.txt команду Crawl-delay: 5 - чтобы роботы через 5 сек обращались, наверно, из-за этого и этот с паузой работает.

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

Вам нужно найти в логах IP адрес который

1) отправит за минуту более 10 одинаковых запроса к PHP файлам

или

2) отправит за минуту более 30 разных запросов к PHP файлам

Правда, искать это без специального софта или скриптов довольно утомительно и тяжело.

Если найдете, тогда можно говорить что вас досят.

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

BR
На сайте с 28.06.2008
Offline
75
#18
Мишо:
Может, это и не атака.
Только зачем ему понадобилось обновлять одну и ту же страницу моего сайта, в течение нескольких часов подряд, до тех пор, пока не забэню, повторяя то же самое на следующий день уже с нового ip?

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

Мишо:

Каждый день ip обновляется:
188.18.138.42
94.51.154.194
188.18.148.24
Все три от usi.ru.

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

12

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