Как мы обращаемся / каковы хорошие практики для "безсерверного" злоупотребления ресурсами? - PullRequest
0 голосов
/ 30 августа 2018

Если я создаю общедоступную конечную точку с помощью AWS API Gateway, весь мир сможет получить к ней доступ. Это было бы проблемой, потому что конечная точка запускала бы функцию AWS Lambda. Если предположить, что я не могу запросить источник данных, чтобы определить частоту, с которой входящий IP-адрес запрашивал ресурс в прошлом, что было бы наилучшим способом защиты этой конечной точки от злоупотребления? Есть ли у меня другие варианты безопасности?

Я понимаю, что могу использовать reCaptcha, но это все равно вызовет лямбда-функцию AWS и приведет к затратам, если будет сделано миллион раз за короткое время.

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Возможно, вы ищете конфигурацию ограничения регулирования или определение плана использования:

Чтобы ваш API не перегружался слишком большим количеством запросов, Amazon API Gateway регулирует запросы к вашему API с помощью токена алгоритм ведра, где токен считается для запроса. В частности, API-шлюз устанавливает ограничение на стационарную скорость и пакет запросов представления против всех API в вашем аккаунте. В ведро В алгоритме пакет является максимальным размером сегмента.

Когда количество запросов на отправку превышает установленную частоту запросов и пакетные ограничения, API Gateway не выполняет запросы превышения лимита и возвращает 429 Too Many Requests сообщений об ошибках клиенту. на перехватывая такие исключения, клиент может повторно отправить неудавшиеся запросы в режиме ограничения скорости при соблюдении API-шлюза пределы дросселирования.

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

Ссылки:

https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html

https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-usage-plans-with-console.html#api-gateway-usage-plan-create

0 голосов
/ 30 августа 2018

Очень простой способ защиты вашего шлюза API

  1. Использование AWS Cloudfront с TTL 0 и передача пользовательских заголовков из AWS Cloudfront на шлюз API
  2. Использование AWS WAF с AWS Cloudfront

AWS API Gateway также обрабатывает некоторые базовые уровни DDOS-атак.

Просьба также просмотреть эти блоги для обеспечения безопасности AWS API Gateway

https://aws.amazon.com/blogs/compute/protecting-your-api-using-amazon-api-gateway-and-aws-waf-part-i/

https://aws.amazon.com/blogs/compute/protecting-your-api-using-amazon-api-gateway-and-aws-waf-part-2/

...