Столкнулся с неординарной для меня задачей.
Пару дней назад начал сильно расти трафик на сайт (.ru). Сначала обрадовался, но потом посмотрев глубину просмотра и почасовой график посещений, понял, что меня каким-то образом атакуют.
Несколько раз в сутки в течении часа происходит пиковый рост уникальных посетителей в 3-4 раза превосходящий обыкновенный трафик. К примеру, обычно в час около 500 уников, тогда как в пик атаки около 2000 уников за час! И это не DoS. Промежуток между спамными обращениями несколько секунд в пик, а в то время, когда они маскируются под обычный траф, могут достигать несколько десятков секунд с одного IP.
Двиг сайта самописный. Всё пишется в логи. Поэтому счёл задачу ординарной, проделанной уже далеко не раз, я полез разбираться и ловить злодея по обычным признакам. Но не тут-то было...
Итак, картина. Тысячи посетителей с уникальными IP с реальных нормальных подсетей со всей России (сотовые операторы, разные там телеком и прочее). Нормальные HTTP_USER_AGENT и HTTP_REFERER. Но только по общему анализу за сутки получается определить, что что-то не так, да и то глазами.
К примеру, за час с одного IP могут быть несколько заходов с разными HTTP_USER_AGENT но с одного поисковика. Или наоборот – один и тот же HTTP_USER_AGENT и разные IP.
По всевозможным серверным переменным в PHP (HTTP_X_FORWARDED_FOR, HTTP_X_REAL_IP и пр.) прокси не определяется.
При более глубоком анализе получилось найти несколько признаков для блокировки и вроде как отбиваю пока бОльшую часть спамного трафика. Но эти признаки скорей мелкое упущение со стороны атакующего, нежели моё достижение. Если атакующий исправит эти признаки, то я уже не смогу определить спамный заход. Единственный признак это один-два просмотра и всё. Но это уже становится ясно постфактум, да и не позволяет со 100% вероятностью определить спамера.
Предположу, что цель этих атак увеличить показатель отказов сайта, как один из параметров ранжирования в поисковых системах.
Вопросы:
1. У кого какие мысли зачем вообще это?
2. Каким образом это делается? (огромное количество нормальных IP)
3. Как победить?
Имел похожую проблему и решил, но решение узко-специфическое.
Хостер помогать отказался, более того, сказал, ваш сайт создает избыточную нагрузку, если не решите проблему - заблокируем аккаунт.
Была атака, все IP были из Китая и США, поэтому просто занес все диапазоны Китая и Штатов в .htaccess.
Конкретно в том случае аудитория из этих стран была неважна.
Пока могу посоветовать написать скрипт и сохранять подозрительные IP куда-нибудь и потом пополнять ими фильтр в .htaccess.
Некоторые хостеры сулят пользователям защиту от DDOS атак, может имеет смысл поговрить с хостером или найти другого, который решит эту проблему. Если VDS - поиграться с фаерволом, наверняка есть алгоритмы, которые могут определить бота от живого посетителя.
А вообще подпишусь - самому интересно что принято делать в такой ситуации в общем случае.
Юрий, в моём случае проблема. В тот час когда было 2000 обычно меньше 500. И отказы в несколько раз выросли... а потом снова тишина и через несколько часов опять.
Я же писал, что это не классический ддос. Сейчас логи своего блокировщика смотрю, пиков больше нет, идёт планомерная "открутка" "отказниками" в процентах от общего трафика сайта. Именно в процентах :)))) На одном примерно 30 заходов в час на другом 20.
mletov, Нашёл некоторые недоработанные моменты в следах робо-визитов по которым можно фильтровать их большинство. Написал скрипт который их логирует (для последующего более подробного анализа) и отдаёт html-болванку вместо сайта.
Похоже что вам конкуренты или недовольный клиент заказали накрутку самого дешевого серфинга, чтобы испортить статистику. Единственное что вы можете сделать, это найти сервис с которого идет накрутка и написать им, чтобы они этого не делали, после того как они убедятся что вы владелец, то заказы на ваш сайт будут приостановлены.
mamontionk, Сложный вопрос. Если стоит яндекс метрика, можно посмотреть когда это началось и посмотреть с каких сайтов были переходы в этот день. Обычно перед тем как включить накрутку, начинают прыгать с сайта на сайт во время настройки, я в свое время смог так вычислить.
Еще как вариант, для профилактики, в поисковике найти сервисы накрутки трафика и отписать каждому письмо с просьбой не крутить трафик, даже если сейчас они не крутят, то в будущем эта возможность будет заморожена для вашего сайта, я так тоже делал.
Gansterito, Посещение идет с реальных компов. Обычные пользователи ставят себе софт на пк, который имитирует клики и прочие действия, каждое выполненное действие зачисляет им на счет балы, которые они так же используются для накрутки уже на свои ресурсы. Поэтому единственное что таких пользователей отличает от реальных это их поведение, оно не качественное, потому что так настроено, если добавить больше балов, то можно получить качественное поведение, посещение от 30 секунд и более, переходы по ссылкам и прочие действия, которые не отличить от реальных пользователей. Я в этом поведении вообще не вижу признаков ддос, который вы пометили как ответ.
Виталий Першин, Да. Всё верно, спасибо. Пометил за полноту и за вариант+. Ваш ответ 100% верный в моём случае - серфинг.
Я только цель не могу понять... UPD
И огромное спасибо за идею писем в сервисы накрутки. Сам всё больше в техчасть смотрел...
mamontionk, может в аналитике сможете найти рефереры чтобы понять откуда они идут. и писать в саппорт этого сервиса.
У меня в прошлом году был прикол - подобный сервис себя рекламировал таким способом. делал дневной всплеск. я через аналитику смотрел источник трафа - и тем самым узнавал кто это. но у меня были мелкие всплески. на сайте с 0 посещаемостью всплеск это 20-50 уников в сутки с показателями отказа 99%.
Радость моя, В том-то и проблема, а в то же время и удача, что рефереры фэйковые, скорее всего проставленные через Curl или подобное. Стоят вроде как и поисковики, даже длинные урлы с запросом кодированным через urlencode, но... такие урлы с запросом поисковики отдавали лет 7-8 назад. Сейчас 99% рефереров с любого поисковика это голый урл домена, ну и иногда это редирект через скрипт у Яндекса...
Меня же атакуют с древними реферерами с полным текстом запроса. По этому признаку и написал собственный скрипт и отбиваю им уже 99% атак. И хоть я и выбрал решением ответ про DDos (из-за новых идей и полноты) однако именно классическим ддосом это не является. Просто вялотекущие отказные запросы на один просмотр. Сервер не грузят никак. Так же нет ничего в пользу классики «опускания» сайта аналогичными визитами из поисковиков. Переходы фэйковые. Реальных кликов с ПС нет.
В общем понемногу отбиваясь сбрасываю в логи все данные атак и ломаю голову кому и зачем это?
"от 100 ботов в день в течении недели уберут ваш сайт из ТОП-10 результатов поиска по трафиковым ключевым словам, а при вашем бездействии за 3 недели наступит рубикон, и сайт улетит за ТОП-100."