| name | cis-aws-foundations-4.10 |
| description | Ensure all AWS-managed web front-end services have access logging enabled |
| category | cis-logging |
| version | 7.0.0 |
| author | cyberstrike-official |
| tags | ["cis","aws","logging","cloudfront","alb","nlb","api-gateway","access-logging","web"] |
| cis_id | 4.10 |
| cis_benchmark | CIS AWS Foundations Benchmark v7.0.0 |
| tech_stack | ["aws"] |
| cwe_ids | [] |
| chains_with | ["cis-aws-foundations-4.1","cis-aws-foundations-4.4"] |
| prerequisites | [] |
| severity_boost | {} |
Ensure all AWS-managed web front-end services have access logging enabled
Description
Ensure that access logging is enabled for all AWS-managed web front-end services that terminate or front HTTP(S) traffic, including Amazon CloudFront distributions, Application Load Balancers (ALB), Network Load Balancers (NLB), and Amazon API Gateway REST/HTTP API stages with public endpoints. Access logs must be enabled with delivery to a designated S3 bucket or CloudWatch Logs destination that is protected with appropriate access controls.
This control requires logging of request details such as client IP address, timestamp, HTTP method, requested URI, response status code, bytes transferred, and user agent for every request processed by these services. CloudTrail provides management event logging for these resources, but access logs are required to capture the actual HTTP request/response activity at the network edge layers.
Rationale
AWS-managed web front-end services (CloudFront, ALB/NLB, API Gateway) represent the primary HTTP(S) ingress points into AWS accounts and are the first line of defense against web attacks, reconnaissance, and abuse attempts. CloudTrail logs management actions (create/update/delete) and data events but does not capture the content of HTTP requests/responses or client activity, leaving a critical visibility gap for security monitoring and incident response.
Access logs from these services enable reconstruction of all web traffic, detection of anomalous patterns, forensic analysis of incidents, and compliance proof that internet-facing entry points were monitored. Without these logs, security teams cannot distinguish legitimate traffic from attacks or prove access patterns during audits.
Impact
Enabling access logging incurs additional storage costs for log delivery and retention, as well as minor configuration overhead for creating dedicated logging buckets, IAM roles, and retention policies. Costs can be managed through lifecycle policies, log sampling, and tiered storage classes.
Audit Procedure
Using AWS Console
As an example with CloudFront, verify following the below steps if access logging is enabled:
- Open the CloudFront console from the AWS Management Console.
- Click Distributions in the left navigation.
- For each Distribution ID (e.g., E123ABC...), click the Distribution ID and go to the "Logging" tab
- Check if one or more "Access log destinations" are present with a destination type of S3 or CloudWatch log group.
Using AWS CLI
N/A - This control requires checking multiple services (CloudFront, ALB, NLB, API Gateway) through their respective console interfaces or service-specific CLI commands.
Expected Result
All AWS-managed web front-end services (CloudFront distributions, ALBs, NLBs, API Gateway stages) with public endpoints have access logging enabled and delivering logs to a designated S3 bucket or CloudWatch Logs destination.