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

Главные вкладки

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

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

Комментарии

Аватар пользователя ilya_kaz ilya_kaz 10 июня 2013 в 8:40

Про ботов скажу, недавно боролся.
Сначала закрывал доступ конкретным 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

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

Аватар пользователя Crea Crea 10 июня 2013 в 8:53

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

Аватар пользователя ilya_kaz ilya_kaz 10 июня 2013 в 9:12

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

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

Аватар пользователя langraf langraf 10 июня 2013 в 10:01

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

Аватар пользователя NightL NightL 10 июня 2013 в 12:57

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

Аватар пользователя Crea Crea 10 июня 2013 в 21:41

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

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

Аватар пользователя NightL NightL 10 июня 2013 в 13:44

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

Аватар пользователя ilya_kaz ilya_kaz 10 июня 2013 в 19:03

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

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

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

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

Аватар пользователя NightL NightL 10 июня 2013 в 20:51

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

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

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

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

Аватар пользователя NightL NightL 10 июня 2013 в 22:45

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

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

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

Аватар пользователя Crea Crea 11 июня 2013 в 8:10

NightL wrote:

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

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

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

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

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

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

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

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

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

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

Аватар пользователя NightL NightL 11 июня 2013 в 12:59

Crea wrote:
NightL wrote:

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

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

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

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

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

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

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

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

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

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

Вам кажется

Аватар пользователя Crea Crea 11 июня 2013 в 13:37

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

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

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

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

Quote:

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

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

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

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

Аватар пользователя NightL NightL 11 июня 2013 в 14:04

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

Аватар пользователя Мишель Мишель 20 июня 2013 в 16:19

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

Поместила в .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 в 20:01

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

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

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

Аватар пользователя Crea Crea 20 июня 2013 в 21:42

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

Аватар пользователя NightL NightL 22 июня 2013 в 16:11

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

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