Как регулировать AWS Lambda или API Gateway по IP? - PullRequest
2 голосов
/ 05 июня 2019

В настоящее время я пытаюсь разработать приложение без сервера, используя статический веб-сайт S3, API Gateway и AWS Lambda.Я хочу сделать этот сайт общедоступным, чтобы у каждого пользователя не было ключа API.

Я хочу предотвратить злоупотребление этими конечными точками до очень низкого уровня, например, 1 запрос каждые 5 секунд для данного общедоступного IP-адреса.

Возможно ли это с помощью AWS Shield или внутри какой-либо из этих служб?

Ответы [ 2 ]

5 голосов
/ 05 июня 2019

К сожалению, если у вас есть требование Я хочу предотвратить злоупотребление этими конечными точками до очень низкого уровня, например, 1 запрос каждые 5 секунд для данного общедоступного IP-адреса. , тогда AWS WAF не подойдет.

Минимальное пороговое значение, которое вы можете установить для правила на основе тарифа WAF, составляет 2000 запросов в течение 5 минут.

enter image description here

Если вы хотите внедрить агрессивные правила, основанные на тарифах, основанные на IP, вам нужно написать собственное решение, которое либо:

  • Проверяет журналы доступа CloudFront и задним числом блокирует неверные IP-адреса
  • Используйте Lambda @ Edge для оценки запросов в реальном времени + забаньте соответственно

Что может быть более подходящим для вашего варианта использования, так это использование регулирования на этапе API, но не на основе IP. Что вы можете сделать, так это установить максимальное количество запросов в секунду в среднем, и заставить API возвращать 429, слишком много запросов, когда это число превышено. Вы можете быть очень агрессивными с этим или более расслабленными, используя десятичное значение:

enter image description here

1 голос
/ 05 июня 2019

С AWS объявляет правила на основе ставок для AWS WAF :

Сегодня объявлено AWS Правила на основе ставок для AWS WAF .Этот новый тип правил защищает веб-сайты клиентов и API-интерфейсы от таких угроз, как DDoS-атаки веб-уровня, попытки входа в систему методом подбора и плохие боты.Правила на основе тарифов автоматически запускаются, когда веб-запросы от клиента превышают определенный настраиваемый порог .

С помощью правил на основе оценок клиенты также могут блокировать будущие запросы от клиента, пытающегося отправитьбольшой объем запросов к определенным частям их сайта, например, к странице входа.Заказчик также может интегрировать это новое правило с CloudWatch Alarms и AWS Lambda, чтобы настраивать действия клиентов, выполняющих необычно высокие вызовы по своим конечным точкам API.Клиенты также могут использовать правила на основе тарифов для уменьшения количества нежелательных ботов, комбинируя правило на основе тарифов с условием для идентификации определенных вредоносных пользовательских агентов, связанных с плохими ботами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...