Автоматическая блокировка пользователей по IP в Nginx

PF
На сайте с 30.11.2016
Offline
42
488

Как настроить nginx, или поставить что-то перед ним, чтобы блокировать IP-адреса, с которых было больше определенного количества визитов на сайт?

Уже почти неделю кто-то гадит на один из моих сайтов. Притом, если бы просто парсили - я бы не парился, а тут заходят с браузера (предполагаю, что используют selenium или phantom), ждут 1-2 секунды, или вообще не ждут и закрывают страницу. Метрика это видит и фиксирует, соответственно поведенческие факторы ухудшаются. В Метрике это отражается как всплеск прямых заходов на сайт.

Сейчас я поставил https://goaccess.io/, классная вещь для анализа логов, с помощью этого инструмента я делаю так: вижу аномальное количество запросов с какого-то ip и блокирую его в Nginx. Вот, нужен инструмент, который бы это автоматом делал. Я уверен, что есть такой.

lonelywoolf
На сайте с 23.12.2013
Offline
151
#1

PendalF89, Ну, во-первых, если это один и тот же IP - забанить файрволлом. Во-вторых, если на уровне Nginx - почитайте тут: https://habr.com/ru/post/61759/

А так - ну ухудшаются у вас отчёты в метрике, это же не проблема, абсолютно. Всем на это пофиг должно быть.

Платный и бесплатный хостинг с защитой от DDoS (http://aquinas.su)
Оптимизайка
На сайте с 11.03.2012
Offline
396
#2

PendalF89, к сожалению в nginx можно только dos-еров заблокировать, т.е. с помощью директивы limit_req, которая не даст настроить например, 100 запросов в час. 1 в секунду только :) Поэтому от таких ребят лучше ставить специализированное решение по блокировке ботов. BotGuard, например, позволяет ограничить число запросов в час.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
PF
На сайте с 30.11.2016
Offline
42
#3

Спасибо за ответы. Мне также, посоветовали fail2ban. Ну, и порекомендовали "забить" на это дело, т.к. это же прямые заходы и по идее Яндексу должно быть пофиг что я делаю с трафиком на сайте.

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