Кеширование 404 или надоели боты

10 июня 2013 в 4:08
Аватар пользователя NightL NightL 0 26

Всем добрый.
Уже писал о такой проблеме, когда за короткий промежуток времени с одного ip (но разный по дням) начинается запрос одной и той же страницы с добавление в конце к ней /edit (что это за хрень не представляю) Писал я об этом в первый раз когда счет шел на 1000 таких запросов. день назад обнаружил более 50000 таких запросов за несколько часов. Допустимая нагрузка на виртуальный хост превышена в разы (cpu) хостинг ничего не написал, но если это будет повторяться то естественно напишет. Собсна вопрос как кешировать 404? Что происходит и как бороться. IP блокировать бессмысленно так как ip изодня в день меняется. сегодня снова пошли подобные запросы Sad

Комментарии

Про ботов скажу, недавно боролся.
Сначала закрывал доступ конкретным IP средствами Друпал.
Не помогает: адреса постоянно меняются.
Зато выяснил, с каких зон чаще всего заходят.
Сделал в .htaccess трюк 10 по инструкции:
http://www.drupal.ru/node/26767
Ну и вот еще в помощь:
http://usefulscript.ru/ban_ip.php
Закрывал сразу зонами (Китай, остальные не очень досаждали):

order allow,deny
deny from 112.111.160.
deny from 112.111.188.
deny from 112.111.189.
deny from 112.111.190.
deny from 112.111.191.
deny from 175.42.93.
deny from 175.44.11.
deny from 175.44.30.
deny from 175.44.31.
deny from 175.44.35.
deny from 175.44.4.
deny from 175.44.56.
deny from 175.44.59.
deny from 211.151.
deny from 222.77.192.
deny from 36.248.168.
deny from 36.248.169.
deny from 36.248.170.
deny from 36.248.171.
deny from 36.250.178.
deny from 59.174.
deny from 119.96.
deny from 119.98.
allow from all

В целом, помогло.

10 июня 2013 в 8:40

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

10 июня 2013 в 8:53

"Crea" wrote:
Странный вид развлечения - бороться вручную с ботами

Согласен полностью - реально задолбало!
Недостаток знаний вынуждает.
Нормальный хост - это как? На что смотреть, что должно быть у хостинга?
Сейчас - Ru-Center, кончится период оказания услуг - подумываю съехать.

10 июня 2013 в 9:12

Добрый день. Smile Решил здесь отписаться, раз уж ссылочка на мой блог проскользнула (спасибо, kosHta). Подобная проблема характерна не только для drupal, но и для всех сайтов независимо от используемой системы управления контентом. Сам с ней не так давно столкнулся. Помогли решить в службе поддержки хостинга (использую beget). Более подробно описал эту проблему в своей статье: http://fairheart.ru/wordpress/osnovy-sozdaniya-bloga/kak-ya-uskoril-rabo...
Пункт 9-10, где речь о хостинге идет.

10 июня 2013 в 10:01

Не очень понимаю при чем тут нормальный хост? Упомянули DH он у меня тоже есть я им не на 100% доволен. За утро пришло еще несколько тысяч запросов... Sad

10 июня 2013 в 12:57

NightL wrote:
Не очень понимаю при чем тут нормальный хост? Упомянули DH он у меня тоже есть я им не на 100% доволен. За утро пришло еще несколько тысяч запросов... :(

И что, несколько тысяч легких 404 положили ваш сайт ? Ну бред же. БРЕД.
Не чешите свой Гондурас и он вас не будет беспокоить!
Лечите голову.

10 июня 2013 в 21:41

модуль fast 404 увы не помогает
на страницу
site/несуществующий/путь - модуль срабатывает
site/существующий-путь/несуществующий-путь - модуль почему-то не срабатывает

10 июня 2013 в 13:44

"NightL" wrote:
Не очень понимаю при чем тут нормальный хост?

Процитирую статью по ссылке выше: "выбирайте действительно качественный хостинг, чтобы его техническая поддержка была способна решить проблемы любой сложности, а не оставляла бы вас наедине с ними".
Сдается мне, с этой нежитью можно бороться не только средствами fast 404 и .htaccess.

"NightL" wrote:
За утро пришло еще несколько тысяч запросов...

Откуда такое "счастье" прет? Китай, Украина?
Может, все-таки попробовать забанить всю зону, хоть на время?

10 июня 2013 в 19:03

Сегодняшний 109.165.2.40 если не ошибся это Ростов
вчера был 178.123.48.187 возможно Беларусь
вчера был 46.167.117.22 возможно это кавказ

банить ip увы бессмысленно.
Хостинг не предоставляет защиту от ддос, порекомендовал написать скрипт анализатор логов и вносить правки в .htaccess
Сомневаюсь, что защиту предоставляет и DH
Да и вообще такая услуга полагаю стоит не так дешево.

Как таковая защита мне может и не требуется так как все запросы идут на одну страницу или на несколько в пределах 5-ти. С этим я как-нибудь справлюсь, но если подобные запросы видоизменятся то есть будет перебор всех страниц или рандомные 404 или кол-во увеличится в 10-100 раз то хостинг сайт вырубит. В день запросов сайт более 2000 раз некритично превысил нагрузку на процессор ну и несколько сотен раз критично.

Поживем увидим однако Smile

10 июня 2013 в 20:51

Crea не опускайтесь до оскорблений. я был о вас лучшего мнения.
за 2 дня 52+ тысячи запросов 404 страницы. 404 в 6-м друпале далеко не легкая. сайт не положили но вызвали перерасход ресурсов в несколько раз по спу. про гондурас оставьте себе.

RxB к счастью да в одну страницу. до тех пор пока они долбятся в одну страницу (для меня это вообще загадка почему именно такой запрос (уже не первый месяц)(страницы разные) и почему это происходит. единственное что для себя отметил запрос строится на основе самой популярной страницы) так вот до тех пор пока запросы к 1 страницы проблемы нет, но как только пойдет перебор случайных, как существующих так и нет, а поток увеличится раз в 10, проблема сразу появится и станет практически нерешаемой. Если только хостинг брать с защитой от простых ддос.

да еще упомяну, что сайт находится не на ДХ, просто там у меня тоже есть аккаунт

10 июня 2013 в 22:45

NightL wrote:

за 2 дня 52+ тысячи запросов 404 страницы.

Если это серьезная нагрузка то я Папа Римский

NightL wrote:
404 в 6-м друпале далеко не легкая.

Гораздо легче, чем показать любую страницу без кеша.

NightL wrote:
сайт не положили но вызвали перерасход ресурсов в несколько раз по спу. про гондурас оставьте себе.

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

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

11 июня 2013 в 8:10

RxB
url отправил приватно.

Если кому вдруг интересно то url выглядят так:
site/реальный-путь
site/реальный-путь/edit - несуществующий 404

11 июня 2013 в 0:10

Crea wrote:
NightL wrote:

за 2 дня 52+ тысячи запросов 404 страницы.

Если это серьезная нагрузка то я Папа Римский

Выходит вы Папа Римский. Для виртуального хоста такое кол-во генерируемых страниц это нагрузка. Уровень серьезности относителен.

Crea wrote:
NightL wrote:
404 в 6-м друпале далеко не легкая.

Гораздо легче, чем показать любую страницу без кеша.

devel говорит об обратном

Crea wrote:
NightL wrote:
сайт не положили но вызвали перерасход ресурсов в несколько раз по спу. про гондурас оставьте себе.

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

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

Crea wrote:
Мне кажется

Вам кажется

11 июня 2013 в 12:59

Quote:
Для виртуального хоста такое кол-во генерируемых страниц это нагрузка.

У вас есть выбор - няньчиться с фильтрами, или перейти на более мощный хостинг.
Человек для программы или программа для человека ?

Quote:
devel говорит об обратном

Я говорил с точки зрения кода, а не о ситуации на вашем хостинге.
С точки зрения любого веб-сайта генерация 404 - штатная, легкая процедура, которая должна отрабатываться за минимальное кол-во времени.
Если это не так, то это говорит о некорректной работе приложения. Боты - нормальная ситуация в интернете.

Quote:

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

Я не пользуюсь вирт. хостингом

Quote:
Вам кажется

мыши, кактус, слезы

11 июня 2013 в 13:37

devel говорит, что генерация 404 на чистом 6 друпале + стандартные модули - затратная операция
Чтоже вы вокруг да около, сразу бы сказали, что предлагаете взять вместо хостинга грубо говоря за 100р - выделенный сервер за 20к ха-ха шутник Smile

11 июня 2013 в 14:04

Тоже мучилась от этой проблемы, в результате с помощью Гугля и саппорта на хостинге нашла решение.

Поместила в .htaccess после

# Various rewrite rules.
IfModule mod_rewrite.c
RewriteEngine on

Такое:
---------------------------------
RewriteCond %{REQUEST_URI} !^/node/
RewriteCond %{REQUEST_URI} !^/admin/
RewriteCond %{REQUEST_URI} !^/user/
RewriteRule .*/edit$ - [L,F]
---------------------------------

20 июня 2013 в 16:19

Да, тоже были множественные запросы на несуществующую страницу **/edit.
Дошло до того, что боялась от компа отойти, атаки повторялись по несколько раз в день. За час легко заполнялось до 200 страниц журнала ошибок.
Вначале банила IP, потом группы IP, но было ясно, что это не выход, весь мир не забанишь. Smile

Вначале попробовала только RewriteRule .*/edit$ - [L,F]
Но в этом случае закрывался вход на редактирование для всех пользователей. В саппорте подсказали, как грамотно сделать исключения.

А, во! В результате на запрос выходит ошибка 403, нагрузки на сервер почти нет.

20 июня 2013 в 20:01

С одной стороны, это решение помогло в данном случае (надолго ли..).
С другой стороны, я бы аргументировал, что переносить логику приложения - какие URL доступны, а какие - нет - на уровень веб-сервера мягко говоря, не очень корректно.
Далее. Вы заблокировали 1 URL. В следующий раз боты начнут запрашивать другой URL. Так и будете в догонялки играть ?

20 июня 2013 в 21:42

Можно подумать есть адекватные варианты?
Долбят 1 url - перенаправим куда-нибудь. будут долбить 2 url перенаправим 2. Будут долбить хаотично - ляжет и не встанет пока не перестанут. Пока правила htaccess спасают. Вчера пришло 4к запросов, но хостинг их даже не заметил.

Если сайт приносит достаточно кол-во денег (от 10к) и соответственно важна его работоспособность 99%+ то тут конечно нужны другие решения

22 июня 2013 в 16:11