Back to Checks
e2enetworks

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 Cloud
Run
prowler e2enetworks --checks loadbalancer_alb_https_uses_ssl_certificate

Recommendation

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