More Info:
Configure HTTPS load balancers with TLS certificates so that traffic to the cluster is encrypted in transit.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS EKS
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Inventory all external-facing load balancers
- On any machine with cloud CLI access, list load balancers that front your EKS cluster (adjust region):
- AWS:
- From each returned LB, identify those used by the cluster (via tags or target groups):
-
Determine listener protocols and TLS configuration
- For each Application/Network Load Balancer ARN:
Review each listener: confirm that internet-facing listeners use
Protocol: HTTPS(orTLSfor NLB) with a certificate (SslPolicyandCertificatesset). - For each Classic Load Balancer name:
Confirm at least one
ListenerhasProtocol: HTTPSandSSLCertificateIdset.
- For each Application/Network Load Balancer ARN:
-
Verify certificates and TLS policies
- For each HTTPS/TLS listener, list the referenced certificate from ACM:
Ensure:
- Certificate is
ISSUED, not expired, and covers the LB DNS name or custom domain. SslPolicyon listeners is a modern one (e.g.,ELBSecurityPolicy-TLS13-1-2-Ext1-2021-06or similar per your security standard).
- Certificate is
- For each HTTPS/TLS listener, list the referenced certificate from ACM:
-
Remediate non-encrypted or misconfigured listeners
- For any internet-facing listener using HTTP/TCP without TLS:
- Create or import a valid certificate in ACM (if not already present).
- Modify or add an HTTPS/TLS listener and (optionally) redirect HTTP to HTTPS:
- For Classic ELB:
- For any internet-facing listener using HTTP/TCP without TLS:
-
Update IaC definitions (if used)
- In Terraform/CloudFormation/CDK, ensure:
aws_lb_listener/AWS::ElasticLoadBalancingV2::ListenerusesHTTPS/TLSwith ACM certificate ARNs and secure SSL policies.- Any
HTTPlistener has aredirectaction to HTTPS.
- Re-apply your IaC so the configuration is managed declaratively and not drift-prone.
- In Terraform/CloudFormation/CDK, ensure:
-
Verification (post-change)
- Re-run listener inspection to confirm only HTTPS/TLS is exposed externally and certificates are attached:
- From a client, test that the endpoint negotiates TLS and matches the expected certificate:
- Re-run listener inspection to confirm only HTTPS/TLS is exposed externally and certificates are attached:
Using kubectl
Using kubectl
kubectl cannot be used to configure TLS on HTTPS load balancers, because this setting is managed at the cloud provider / managed control-plane level (console, cloud CLI, or IaC). To remediate this finding, follow the provider-specific guidance in the Manual Steps section for configuring TLS certificates on your load balancers.
Automation
Automation

