Как защитить API от брутфорса через Nginx rate limiting?

Для защиты API от брутфорса через Nginx можно использовать модуль rate limiting, который ограничивает количество запросов от одного клиента за определённый промежуток времени.

Короткий ответ

Что ответить на собеседовании

Для защиты API от брутфорса через Nginx можно использовать модуль rate limiting, который ограничивает количество запросов от одного клиента за определённый промежуток времени.

Подробный разбор

Ответ с пояснениями

Для защиты API от брутфорса через Nginx можно использовать модуль rate limiting, который ограничивает количество запросов от одного клиента за определённый промежуток времени.

Пример конфигурации:

http {
    # Определяем зону для хранения состояния лимитов
    limit_req_zone $binary_remote_addr zone=one:10m rate=10r/m;

    server {
        location /api/ {
            limit_req zone=one burst=5 nodelay;
            proxy_pass http://backend;
        }
    }
}

Здесь:

  • limit_req_zone задаёт лимит 10 запросов в минуту на IP-адрес клиента.
  • burst=5 позволяет кратковременно превысить лимит на 5 запросов.
  • nodelay отключает задержку при превышении burst.

Это эффективно ограничит скорость запросов и затруднит брутфорс-атаки. Для более сложных сценариев можно комбинировать с блокировками по User-Agent, IP, использовать fail2ban и другие инструменты.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку