API Gateway Missing Rate Limiting and Throttling Controls Affecting API Gateway (REST APIs) service in AWS
Severity Framework
Snyk CCSS
Rule category
Availability / APIs
Is your enviroment affected by this misconfiguration?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsFrameworks
- Snyk ID SNYK-CC-00754
- credit Snyk Research Team
Description
Absence of rate limiting and throttling on API Gateway allows unrestricted request rates, potentially leading to denial of service or resource exhaustion. Implementing these controls helps to mitigate abusive behaviors and ensures fair usage by enforcing request quotas and limits.
How to fix?
Set the throttle_settings
and api_stages.throttle
attributes in the aws_api_gateway_usage_plan
resource.
Example Configuration
resource "aws_api_gateway_usage_plan" "usage_plan_754" {
name = "UsagePlan754"
api_stages {
api_id = aws_api_gateway_rest_api.api754.id
stage = aws_api_gateway_stage.stage754.stage_name
throttle {
path = "/path1/GET"
burst_limit = 5
rate_limit = 10
}
}
throttle_settings {
burst_limit = 5
rate_limit = 10
}
}