Этот сайт существует на доходы от рекламы.
Пожалуйста, выключите AdBlock.
Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 28.06.2007, 18:41   #1
Академик
 
Регистрация: 12.07.2006
Сообщений: 3,180
Репутация: 68191

По умолчанию Как защититься от граберов?

Какой-то нехороший человек повадился грабить мой сайт. Делает он это очень активно (до 30к страниц за час) и неаккуратно (грабилка неправильно обрабатывает javascript и забивает мусором логи битых страниц), поэтому решил я с этим бороться. Диспозиция
- питерский провайдер с большим пулом адресов
- большая скорость, скорее всего ADSL или что-то типа того
- после блокировки (а иногда и сами по себе) ip меняется, т.е. ip не фиксированный
- относительно редкий и постоянный user_agent
Пока вручную добавляю в iptables ip, с которых идет грабинг. Как правильно автоматизировать этот процесс (какой алгоритм) ?
Kpd вне форума   Ответить с цитированием

Реклама
Старый 28.06.2007, 19:13   #2
Pol Fransheski
Совсем не Зубр.
 
Аватар для Pol Fransheski
 
Регистрация: 27.12.2006
Сообщений: 268
Репутация: 11532

По умолчанию Re: Как защититься от граберов?

Интересно ?
Сложилось впечетление что Данное действо происходит уже продолжительное время.
Сколько же у вас на сайте страниц?
Может быть имеет место не граб. а чтото типа досса? И конечная цель не граб контента а создание повышенной нагрузки на сервер.
Pol Fransheski вне форума   Ответить с цитированием
Старый 28.06.2007, 19:21   #3
d1ma
- - - - - - - - - - - - -
 
Аватар для d1ma
 
Регистрация: 18.03.2007
Сообщений: 1,314
Репутация: 20710

По умолчанию Re: Как защититься от граберов?

надо ограничнить пользователей в коэфициенте число запросов в единицу времени

на уровне апачи для этого есть модуль mod_security

на уровне iptables для этого есть модули connlimit и iplimit

один раз мне эту задачу пришлось решать и на shared хостинге - пришлось написать парсер логов на пхп и поставить его в крон
__________________
...
d1ma вне форума   Ответить с цитированием
Старый 28.06.2007, 19:22   #4
Kpd
Академик
 
Регистрация: 12.07.2006
Сообщений: 3,180
Репутация: 68191

ТопикСтартер Re: Как защититься от граберов?

Цитата:
Сообщение от Pol Fransheski
Сложилось впечетление что Данное действо происходит уже продолжительное время.
Появляется периодически. Пару дней грабит, потом неделю тишина. Впервые появился около месяца назад. Сейчас заблокировал несколько адресов, тишина.

Цитата:
Сообщение от Pol Fransheski
Сколько же у вас на сайте страниц?
Год назад было около 300к, потом перестал считать.

Цитата:
Сообщение от Pol Fransheski
Может быть имеет место не граб. а чтото типа досса?
Для ддоса слишком тупой алгоритм. Сегодня сервер загрузился на 45-50% (обычно в это время нагрузка ~10%), на скорости отдачи страниц посетителям это почти не повлияло. Кроме того, грабер подставляет в Referer адрес страницы, на которой была найдена ссылка.
Kpd вне форума   Ответить с цитированием
Старый 28.06.2007, 19:26   #5
Kpd
Академик
 
Регистрация: 12.07.2006
Сообщений: 3,180
Репутация: 68191

ТопикСтартер Re: Как защититься от граберов?

Цитата:
Сообщение от d1ma
надо ограничнить пользователей в коэфициенте число запросов в единицу времени
Ограничивать всех посетителей не хочется (сам часто открываю в фоновом режиме несколько страниц).

Цитата:
Сообщение от d1ma
на уровне iptables для этого есть модули connlimit и iplimit
В iptables можно блокировать посетителей с определенного диапазона адресов и определенного user_agent?

Цитата:
Сообщение от d1ma
один раз мне эту задачу пришлось решать и на shared хостинге - пришлось написать парсер логов на пхп и поставить его в крон
И что делали с этим дальше?
Kpd вне форума   Ответить с цитированием
Старый 28.06.2007, 19:28   #6
MIRhosting.com
Хостер
 
Аватар для MIRhosting.com
 
Регистрация: 18.10.2006
Адрес: NL
Сообщений: 1,471
Репутация: 97838
Отправить сообщение для MIRhosting.com с помощью Skype™ Send Message via Jabber to MIRhosting.com
Социальные сети Профиль в ВКонтакте Профиль в LinkedIn

По умолчанию Re: Как защититься от граберов?

Вобщем-то грамотно настроенный апач с хорошим firewall должен решать такие проблемы практически прозрачно.
Для начала:
1. mod_evasive.
2. csf.
Во втором есть функция бана на основание кол-ва подключений. Скажем если больше 50 (всех статусов, в том числе и WAIT, SYN), то банится.
__________________
Андрей Нестеренко,
MIRhosting
Облачная платформа для DevOps
MIRhosting.com вне форума   Ответить с цитированием
Старый 28.06.2007, 19:30   #7
d1ma
- - - - - - - - - - - - -
 
Аватар для d1ma
 
Регистрация: 18.03.2007
Сообщений: 1,314
Репутация: 20710

По умолчанию Re: Как защититься от граберов?

По user agent можно заблокировать через .htaccess:
Код:
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4.0\ \(compatible;\ MSIE\ 5.00;\ Windows\ 98\)$ [NC]
RewriteRule .* - [F,L]
Тот мой скрипт добавлял IP в deny список .htaccess
d1ma вне форума   Ответить с цитированием
Старый 28.06.2007, 19:36   #8
Roxis
SysАdmin
 
Аватар для Roxis
 
Регистрация: 19.11.2006
Адрес: Германия
Сообщений: 314
Репутация: 6814
Отправить сообщение для Roxis с помощью ICQ

По умолчанию Re: Как защититься от граберов?

для блокировки доступа по ip и user_agent на уровне apache можно заюзать mod_rewrite или mod_setenvif
Roxis вне форума   Ответить с цитированием
Старый 28.06.2007, 20:06   #9
d1ma
- - - - - - - - - - - - -
 
Аватар для d1ma
 
Регистрация: 18.03.2007
Сообщений: 1,314
Репутация: 20710

По умолчанию Re: Как защититься от граберов?

Можно сделать блокировку в .htaccess по комбинации критериев маска ip & user agent, причем без mod_access и mod_setenvif, так я думаю оптимально будет:
Код:
RewriteCond %{REMOTE_HOST} ^208\.66\.195\.([0-255])$
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4.0\ \(compatible;\ MSIE\ 5.00;\ Windows\ 98\)$ [NC]
RewriteRule .* - [F,L]
У меня такое работает, но вообще там вместо %{REMOTE_HOST} надо писать %{REMOTE_ADDR} , наверно зависит от настроек сервера.
d1ma вне форума   Ответить с цитированием
Старый 28.06.2007, 21:19   #10
Kpd
Академик
 
Регистрация: 12.07.2006
Сообщений: 3,180
Репутация: 68191

ТопикСтартер Re: Как защититься от граберов?

Цитата:
Сообщение от d1ma
Можно сделать блокировку в .htaccess по комбинации критериев маска ip & user agent, причем без mod_access и mod_setenvif, так я думаю оптимально будет:
Вы правы,в моем случае это самое оптимальное решение. Но возникла техническая проблема - перед Апачем у меня стоит Nginx, поэтому REMOTE_ADDR показывает локальный адрес сервера, а HTTP_X_FORWARDED_FOR и HTTP_X_REAL_IP mod_rewrite не видит. Кто-нибудь знает как обойти эту проблему?
Kpd вне форума   Ответить с цитированием
Ответ




Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Текущее время: 16:32. Часовой пояс GMT +3.

Регистрация Справка Календарь Поддержка Все разделы прочитаны