В течении примерно двух недель, некоторые наши сервера вдруг начинают алекртить и ругаться на высокую нагрузку. Проверка server-status ничего не давала. Решили немного посмотреть логи сайтов, на которые попали под подозрения. Всех сайты объединяло то, что всех их очень, очень часто посещал бот 80legs.com. Во время еще одного такого скачка я заблокировал бот таким правилом в .htaccess
SetEnvIfNoCase ^User-Agent$ .*(80legs) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
В логах сразу появились 403 для этого бота и нагрузка начала падать, что меня очень порадовало. Теперь же я хотел закрыть доступ данному боту на уровне Firewall и для этого я использовал правило:
iptables -I INPUT -p tcp -s 0.0.0.0/0 -m string —string «80legs.com» —algo bm -j DROP
И сразу же были попадания:
4895 1309K DROP tcp — any any anywhere anywhere STRING match «80legs.com» ALGO name bm TO 65535
Мы в своей сети используем Mikrotik в качестве маршрутизатора и поэтому было принято решения заблокировать доступ для 80legs.com на уровне маршрутизатора. Правило, которое необходимо добавить выглядит так:
/ip firewall add chain=forward src-address=0.0.0.0/0 protocol=tcp content=80legs.com action=drop disabled=no
после чего опять таки попадания были и мы дальше продолжаем следить за нагрузкой.