CloudFront distribution does not have geo-restrictions specified Affecting CloudFront service in AWS
Severity Framework
Snyk CCSS
Rule category
Network / Settings
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
ISO-27001
NIST-800-53
- Snyk ID SNYK-CC-00117
- credit Snyk Research Team
Description
CloudFront distributions should enable geo-restriction when an organization needs to prevent users in specific geographic locations from accessing content, or allow only users in specific geographic locations to access content.
How to fix?
Set restrictions.geo_restriction.restriction_type
to whitelist
or blacklist
and specify countries to allow or block in restrictions.geo_restriction.locations
.
Example Configuration
resource "aws_cloudfront_distribution" "s3_distribution" {
origin {
domain_name = "${aws_s3_bucket.b.bucket_regional_domain_name}"
origin_id = "${aws_s3_bucket.b.id}"
s3_origin_config {
origin_access_identity = "${aws_cloudfront_origin_access_identity.origin_access_identity.cloudfront_access_identity_path}"
}
}
enabled = true
restrictions {
geo_restriction {
restriction_type = "whitelist"
locations = ["US", "CA", "GB", "DE"]
}
}
viewer_certificate {
cloudfront_default_certificate = true
}
default_cache_behavior {
allowed_methods = ["DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT"]
cached_methods = ["GET", "HEAD"]
target_origin_id = "${aws_s3_bucket.b.id}"
forwarded_values {
query_string = false
cookies {
forward = "none"
}
}
viewer_protocol_policy = "redirect-to-https"
min_ttl = 0
default_ttl = 3600
max_ttl = 86400
}
}