vitalix, я уже как то писал альтернативный способ по борьбой с ботами правообладателей, на данный момент после его использования за последние пол года получил одну обузу от ООО «МЕГОФИЛЬМ»
Я делаю так: ставлю fail2ban (у него широкий функционал можно использовать по разному), указываю путь к файлу с логами, указываю страницу на которую пришла обуза в настройках своего фильтра и после этого при заходе на эту страницу ip банится на 1000 дней (у меня так). Кол-во дней ставим сами. Можно сделать что бы после первого захода по "нужному" url ip банился, или после второго и т.д.
Если интересно вот пример:
это нужно добавить в конец файла jail.local
Spoiler content hidden.
После создаем фильтр nazvanie-filtra.conf
Spoiler content hidden.
Где указываем урл страниц на которые пришли абузы.
После через консоль смотрим кого отловил фильтр
iptables -L --line-numbers
где ищем секцию nazvanie-filtra там и будут ip тех кто попался.
Если по ошибке попался яндекс бот или гугл бот то разбанить можно так:
iptables -D nazvanie-filtra 10 // 10 - это номер строки где ip адрес для разбана
или
iptables -D nazvanie-filtra -s xxx.xxx.xxx.xxx -j DROP
где xxx.xxx.xxx.xxx - ip адрес который надо разблокировать.
Так же будет не лишним установить iptables-persistent (с учетом того, что iptables уже установлена).
persistent понадобится для сохранения правил, так как после перезугрузки сервера или после перезагрузки fail2bana все ранее выданные баны - будут сняты автоматически.
После установки iptables-persistent вам нужно будет изредка заходить и сохранять правила (а именно забаненые ip)
командой
iptables-save > /etc/iptables/rules.v4
что бы при необходимости в дальнейшем вернуть правила.
Возврат правил происходит командой:
iptables-restore < /etc/iptables/rules.v4
ВСЕ ВЫШЕПЕРЕЧИСЛЕННОЕ
Работает на debian 8, для других линух могут отличаться команды но принцип останется тот же.