Back to Checks
E2E Networks ALB HTTPS load balancers use an SSL certificate
loadbalancer_alb_https_uses_ssl_certificate
Service: loadbalancerSeverity: high
OfficialBuilt-inVerified
Categories:encryption
Resource Type:NotDefined
E2E Networks application load balancers serving HTTPS traffic should have a valid SSL certificate configured so client connections are encrypted and authenticated.
Risk
HTTPS load balancers without a valid SSL certificate expose traffic to interception and downgrade attacks, weakening confidentiality and integrity for client connections.
Run this check with Prowler
Run in Prowler CloudRun
prowler e2enetworks --checks loadbalancer_alb_https_uses_ssl_certificateRecommendation
Attach a valid SSL certificate to every load balancer that serves HTTPS traffic.
Check Code
from prowler.lib.check.models import Check, CheckReportE2eNetworks
from prowler.providers.e2enetworks.services.loadbalancer.loadbalancer_client import (
loadbalancer_client,
)
class loadbalancer_alb_https_uses_ssl_certificate(Check):
"""Check that HTTPS load balancers have an SSL certificate configured."""
def execute(self) -> list[CheckReportE2eNetworks]:
findings = []
for lb in loadbalancer_client.load_balancers:
if not lb.is_alb_https:
continue
report = CheckReportE2eNetworks(metadata=self.metadata(), resource=lb)
report.status = "PASS"
report.status_extended = (
f"Load balancer {lb.name} uses an SSL certificate for HTTPS traffic."
)
if not lb.ssl_certificate_id:
report.status = "FAIL"
report.status_extended = f"Load balancer {lb.name} does not have an SSL certificate configured for HTTPS traffic."
findings.append(report)
return findings