Я разрабатываю модуль атаки на уровне прикладного уровня для NGINX, и мне приходится подсчитывать запрос в секунду (каждую секунду). Идея состоит в том, чтобы сделать автоматический детектор атак, который включает фильтрацию при увеличении скорости запроса.Запросы количества запросов NGINX в секунду
В это время это происходит с помощью скрипта оболочки, который читает журнал доступа каждую секунду и вычисляет скорость запроса. Проблема в том, что это не очень эффективно.
Если у вас есть идея о том, как я могу достичь этого, делитесь своими мыслями.
Спасибо!
Привет! Спасибо за ответ, но я не думаю, что это очень помогло бы мне. Этот модуль ограничивает запросы на пользователя ... и я не хочу этого. Мне нужно подсчитывать запросы в секунду, и я хочу добавить это в свой модуль (nginx должен быть как можно более легким) (может быть какая-то увеличиваемая переменная, которая сбрасывается каждую секунду), но каков метод, чтобы поймать эти запросы так Я могу увеличить эту переменную? Спасибо. – jimbo
Я бы пошел с предложением выше. Вы хотите удалить весь трафик, который исходит от определенных IP-адресов, а не блокировать ваш сервис! Второй подход заключается в использовании fail2ban, как в этом решении https://rtcamp.com/tutorials/nginx/fail2ban/ –