Помогите забанить бота (грабер)

1 23
Coolteams
На сайте с 02.05.2014
Offline
58
#21
Julia-V:
ТС, фрихостеру написали жалобу? Клон так и болтается?

клон отвалился, я уже стопиццот раз написал что все благополучно забанили

dns тут прописаны, хост-провайдера определить не удалось, там дедик.

telemax
На сайте с 24.06.2013
Offline
32
#22

У меня проблема проще оказалась: какой-то скрипт стоял на этом же фри-хостинге и подгружал с моего сайта всё, включая дизайн и картинки. Забанил его IP и клон отвалился, а у него сейчас подгружается предупреждение с моего сайта, что IP забанен. Ни разу такого не видел, интересно что за скрипт такой. Может кто знает?

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#23
Ни разу такого не видел, интересно что за скрипт такой. Может кто знает?

Никакого скрипта, простое проксирование через apache

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
-SkyLord-
На сайте с 08.08.2014
Offline
18
#24

Поставьте модуль IPSET

В конфиг IPTABLES перед началом правил:

ipset -N banip iphash

iptables -A INPUT -m set --set banip src -j DROP

Далее необходимо написать скрипт, я покажу свой на примере NGINX :

$cat ddos.sh

#!/bin/sh

cat /dev/null > /root/botnet.blacklist

cat /var/log/nginx/cache.log | grep "HTTP/1.1" | grep "404 366" | awk '{print $1}'| awk -F"," '{print $1}'| sort | uniq -c | sort -nr > /root/botnet.blacklist

cat /dev/null > /root/iptables_ban.sh

awk '{print "/usr/sbin/ipset -A banip " $2 "" }' botnet.blacklist | head -n 500 >> /root/iptables_ban.sh

sh /root/iptables_ban.sh

cat /dev/null > /var/log/nginx/cache.log

[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`

Соответственно создаем так же файлы botnet.blacklist и iptables_ban.sh

Скрипт вешаем раз в минуту на крон.

В строке:

cat /var/log/nginx/cache.log | grep "HTTP/1.1" | grep "404 366" | awk '{print $1}'| awk -F"," '{print $1}'| sort | uniq -c | sort -nr > /root/botnet.blacklist

Меняем критерии выборки на свои : grep "HTTP/1.1" | grep "404 366"

Судя по вашему логу попробуйте:

grep "200 127011" | grep "AppleWebKit/537.36"

zexis
На сайте с 09.08.2005
Offline
388
#25

-SkyLord-, не очень хорошее решение.

Так как администратору придется постоянно смотреть логи, смотреть есть ли атака и вносить изменения в скрипт.

-SkyLord-
На сайте с 08.08.2014
Offline
18
#26
zexis:
-SkyLord-, не очень хорошее решение.
Так как администратору придется постоянно смотреть логи, смотреть есть ли атака и вносить изменения в скрипт.

Другое решение заключается лишь в том, чтоб выкидывать при запросе алерт на который нужно нажать, чтобы попасть на сайт, либо проверка по кукам. Но при этих 2-х вариантах будут футболиться поисковые боты поисковиков.

Если же у Вас есть решение получше, позволяющее миновать просмотр логов, то предложите его здесь.

zexis
На сайте с 09.08.2005
Offline
388
#27
-SkyLord-:

Если же у Вас есть решение получше, позволяющее миновать просмотр логов, то предложите его здесь.

У меня есть решение на основе анализа логов access.log.

Логи анализируются программой написанной на С.

Писал и отлаживал пол года. Результатом доволен.

Реализовано много разных алгоритмов для поиска HTTP флуда.

Например, на основе текущей нагрузки (количество кликов в последнюю минуту) Все остальные лимиты автоматически повышаются или понижаются.

Это позволяет снизить вероятность ложных срабатываний, когда нет ддос атаки.

G
На сайте с 13.02.2014
Offline
5
#28

хочу отметить, что бот может полностью эмулировать пользователя: поведение, куки, скрипты, даже нюансы пола\возраста, на то он и бот. Поэтому залочить можно лишь ошибки написания бота. Легче встроить в сайт автодобавление статей в поисковики, чтобы бот получал уже малоценную статью и т.п так сказать привлекать к борьбе с ним и других. Шелл вы грамотному боту не зальете, если классы меняются, то в пределах диапазона или сохраняется ближайшие родительские\братья\*, да и можно выцепить только текст и сгенерировать остальное, слабое место - это скрипты, но и их можно эмулировать, создав прослойку из "браузера" или прямо отправлять через запрос их значение, смотря что там. по ип, ну, можно запускать бота не с сервера, тогда диапазон его ип неисчерпаем внутри сети провайдера. Поэтому, теоретически, возможности забанить бота я не вижу, т.к. бот в своей сути является программируемым пользователем, можно лишь отследить отличие его поведения от человека - жадность, тупость, скорость и т.п.

zexis
На сайте с 09.08.2005
Offline
388
#29
gidiu:
хочу отметить, что бот может полностью эмулировать пользователя: поведение, куки, скрипты, даже нюансы пола\возраста, на то он и бот.

Gidiu, вы много видели интеллектуальных ботов? Мне такие редко встречаются.

Простейшие боты примерно равномерно кликающие длительное время, по моему опыту, встречаются существенно чаще.

K
На сайте с 21.11.2007
Offline
80
kRt
#30
Dram:
Сделать невидимую ссылку - и за переход по ней - сразу бан. В белый список добавить подсети поисковых ботов.

зачем поисковиков добавлять в белый список, они все равно забанят за скрытый текст 😕

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий