Недавно у нас начались проблемы с веб-парсером / службой DDoS 80leg, которые пару раз в неделю выключали наши серверы из-за их злонамеренных методов сканирования. Изначально мы просто добавляли следующие в конец списка затронутых сайтов. .htaccess
файлы:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*80legs
RewriteRule .* - [F,L]
</IfModule>
Однако дело доходит до того, что нам просто нужно заблокировать их на уровне сервера на всех серверах.
Согласно документации Apache, эту конфигурацию можно разместить в разделе конфигурации сервера, также известном как httpd.conf
, но это не имеет никакого эффекта. Есть ли какой-то конкретный подход, который мы можем применить для блокировки / отклонения / перенаправления запросов на основе User-Agent на уровне сервера на сервере Apache с включенными виртуальными хостами?
Примечание: это невозможно заблокировать на уровне брандмауэра, потому что:
Извините, но я не понимаю, что вы имеете в виду под we just need to block them at the server level across all servers
если это не block this at the firewall
.
Действительно, именно здесь я бы их заблокировал. Использование fail2ban.
Их последний «инцидент» затронул 5250 уникальных IP-адресов из примерно 900 различных сетей / IP-блоков со всего мира.
Не имеет значения - просто написать сценарий действия для установки блока (скажем) на 8-битную сеть - или, если вы чувствуете себя авантюристом, составьте карту ASN и заблокируйте это. Использование очень длинных цепочек правил может повлиять на производительность (но гораздо меньше, чем пропуск трафика по звуку вещей), но вы просто регулируете продолжительность запрета, чтобы предотвратить это.
В настоящее время у нас нет возможности выполнять глубокую проверку пакетов.
Не требуется - вы используете Apache для обработки HTTP-трафика и перенаправления на сценарий, который запускает fail2ban для реализации своего действия.
В соответствии с http://www.80legs.com/spider.html их строка пользовательского агента 008
а не "80legs", которые вы использовали.
Кроме того, они говорят, что их сканер уважает robots.txt
файл, так что вам стоит попробовать.
Обновите свой robots.txt, чтобы он содержал:
User-agent: 008
Disallow: /