Было замечено, что на сайт идет множество запросов с симуляцией поведения Android девайса с прокруткой содержимого страницы и ее повторного открытия уже с другой информацией об устройстве.
Запросы обычно происходили на одни и те же страницы (в основном только на две-три). Адрес запроса был сформирован так, что сервер переадресовывал на корректный адрес. Например, с
/info
→/info/
.
У более чем 95% подозрительных запросов были использованы IPv6 адреса. Что явно затрудняло обнаружение продозрительного трафика, т.к. нагрузки почти не было и сайт работал в штатном режиме, но была замечена накрутка посещаемости.
Пример nginx лога
2a11:b81:b0f6:2b32:f171:72f2:ea2e:aeab - - [31/May/2023:08:17:37 +0300] "GET /contacts HTTP/1.1" 403 196 "-" "Mozilla/5.0 (Linux; arm_64; Android 12; M2201K6G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.1615.106 Mobile Safari/537.36"
2a0d:e285:7ce3:1a12:a0ca:f0ec:d1b3:233d - - [31/May/2023:08:17:52 +0300] "GET /contacts HTTP/1.1" 403 196 "-" "Mozilla/5.0 (Linux; arm_64; Android 12; Redmi Note 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.4.2085.700 Mobile Safari/537.36"
2a0d:e282:c0fd:3c13:964e:c14:c4da:5d43 - - [31/May/2023:08:17:53 +0300] "GET /news/detail/1230 HTTP/1.1" 403 196 "https://yandex.ru/" "Mozilla/5.0 (Linux; arm_64; Android 11; Mi 9 Lite) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5275.109 Mobile Safari/537.36"
2a0d:e284:9529:5e2f:1a03:940f:f0b0:1eb0 - - [31/May/2023:08:18:05 +0300] "GET /info HTTP/1.1" 403 196 "https://yandex.ru/" "Mozilla/5.0 (Linux; arm_64; Android 12; Pixel 6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Mobile Safari/537.36"
2a09:6907:419a:c1d0:e14e:18d8:eac2:2ee0 - - [31/May/2023:08:18:06 +0300] "GET /news/detail/1230 HTTP/1.1" 403 196 "https://yandex.ru/" "Mozilla/5.0 (Linux; Android 13; SM-G998B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36"
2a09:6907:419a:c1d0:e14e:18d8:eac2:2ee0 - - [31/May/2023:08:18:07 +0300] "GET /favicon.ico HTTP/1.1" 403 196 "https://xxx.yyy/news/detail/1230" "Mozilla/5.0 (Linux; Android 13; SM-G998B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36"
Находим информацию о подозрительном IP https://ipinfo.io/account/search
Пример полученнйо информации
{"asn":"AS204916","name":"RACKTECH CO., LTD.","domain":"ipaddr.space","route":"2a0f:9880::/29","type":"hosting"}
Если в поле type
видим, что это hosting
, а не какой-то другой, значит этот запрос был отправлен с серера, что маловероятно подразумевает под собой запрос от человека.
По значению из поля asn
ищем диапазон IP адресов для дальнейшей их блокировки — https://www.ip2location.com/as204916
Прилагаю конфиг block_bots.conf
с блокировкой адресов хостинг-провайдеров, которые были замечены в логах сайта.
Информация предоставлена для ознакомления. Дополнения приветствуются 😄