Check provider logo

ELBv2 Application Load Balancer listeners use HTTPS or redirect HTTP to HTTPS

elbv2_ssl_listeners

Severitymedium
Serviceelbv2
by Prowler

Application Load Balancer listeners are assessed for encrypted ingress: either only HTTPS listeners are present, or any HTTP listener redirects to HTTPS.

Risk

Exposed HTTP paths allow traffic to travel in plaintext, enabling interception, credential theft, session hijacking, and response tampering. This weakens confidentiality and integrity and makes MITM on public or shared networks feasible.

Run this check with Prowler CLI

prowler aws --checks elbv2_ssl_listeners

Recommendation

Enforce TLS everywhere: use HTTPS listeners and make all HTTP listeners redirect to HTTPS only. Do not forward plaintext. Apply defense in depth with strong TLS policies and managed certificates, and consider HSTS to prevent users from reaching http.

Remediation

CLI

aws elbv2 modify-listener --listener-arn <listener_arn> --default-actions '[{"Type":"redirect","RedirectConfig":{"Protocol":"HTTPS","Port":"443","StatusCode":"HTTP_301"}}]'

Native IaC
Terraform
Other
  1. Open the EC2 console and go to Load Balancers
  2. Select the Application Load Balancer and open the Listeners tab
  3. Select the HTTP:80 listener and choose Edit (or View/edit rules)
  4. Set the default action to Redirect to, Protocol: HTTPS, Port: 443, Status code: HTTP_301
  5. Save changes

Source Code

Resource Type

AwsElbv2LoadBalancer

References