More Info:
Encrypt traffic to HTTPS load balancers using TLS certificates.Risk Level
LowAddress
SecurityCompliance Standards
- APRA CPS 234 (Australia)
- AWS Startup Security Baseline
- BSI C5 (Germany)
- Brazil LGPD
- CCPA / CPRA (California)
- CIS Critical Security Controls v8
- CIS EKS
- CMMC 2.0
- CSA Cloud Controls Matrix v4
- DPDPA
- Digital Operational Resilience Act (EU)
- ISO/IEC 27017
- ISO/IEC 27018
- ISO/IEC 27701
- KSA PDPL
- MAS Technology Risk Management (Singapore)
- MITRE ATT&CK (Cloud)
- NIST SP 800-171
- NYDFS 23 NYCRR 500
- SWIFT Customer Security Controls Framework
- Sarbanes-Oxley IT General Controls
- Securities and Exchange Board of India (SEBI) - Cloud Security Adoption Framework
- UK NCSC Cyber Assessment Framework
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Inventory all external load balancers
- On any machine with access to your cloud CLI, list load balancers fronting Kubernetes services / APIs:
- AWS (ELB/NLB/ALB):
- GCP (GCLB):
- Azure (ALB):
- AWS (ELB/NLB/ALB):
- Correlate these with Kubernetes Services of type
LoadBalancer(run from any machine with kubectl configured):
- On any machine with access to your cloud CLI, list load balancers fronting Kubernetes services / APIs:
-
Identify which listeners are using HTTPS/TLS vs plaintext
- For each external load balancer identified, inspect its listeners:
- AWS:
Check
Protocol(must beHTTPSorTLS, notHTTPorTCPfor HTTP apps). - GCP:
Ensure public-facing rules use
target-https-proxies, nottarget-http-proxies. - Azure:
For Application Gateway/WAF:Verify listeners are
Https.
- AWS:
- For each external load balancer identified, inspect its listeners:
-
Verify TLS certificate presence and validity
- For each HTTPS/TLS listener, confirm a certificate is configured and valid:
- AWS:
- GCP:
- Azure:
- AWS:
- Check certificate CN/SAN matches the public hostname, is not expired, and is issued by a trusted CA.
- For each HTTPS/TLS listener, confirm a certificate is configured and valid:
-
Reconfigure non-encrypted or misconfigured listeners to use HTTPS with TLS
- For any public-facing endpoint using
HTTP/plaintext, change it toHTTPSand attach a valid certificate using your provider’s documented steps (console, CLI, or IaC). Examples (adapt to your environment):- AWS – switch an ALB listener to HTTPS:
- GCP – create HTTPS proxy and bind certificate:
- Azure – configure HTTPS listener on Application Gateway:
- AWS – switch an ALB listener to HTTPS:
- For any public-facing endpoint using
-
Enforce HTTPS-only access and redirect HTTP if needed
- For endpoints that must remain reachable on HTTP for legacy reasons, configure an HTTP listener only to redirect to HTTPS (provider-specific redirect rules).
- Ensure security groups / firewall rules only expose HTTPS ports (e.g., 443) externally where feasible:
- AWS example:
Review rules allowing
0.0.0.0/0on ports 80/443 and restrict HTTP where possible.
- AWS example:
-
Verify remediation and document the decision
- Re-run the earlier listing commands to confirm all public-facing load balancer listeners are
HTTPS/TLSand have certificates attached. - Optionally, test from a client:
Confirm
SSL connection usingis shown and no certificate errors occur. - Record which endpoints are intentionally HTTP (if any), with risk justification and planned migration path to TLS.
- Re-run the earlier listing commands to confirm all public-facing load balancer listeners are
Using kubectl
Using kubectl
kubectl cannot configure TLS or HTTPS on cloud load balancers; this must be done in your cloud provider’s load balancer or ingress configuration (console, CLI, or IaC). Refer to the Manual Steps section for provider‑specific guidance on enabling TLS and attaching certificates to your HTTPS load balancers.Automation
Automation

