Skip to content

Elastic load balancers do not use SSL Certificates provided by AWS Certificate Manager

Description

SSL helps protect your data from unauthorized access or tampering by encrypting the data that is streamed via your ELB By enabling SSL, you can help ensure that only authorized users with the correct keys can access and decrypt the data, and that the data is protected while in transit.

Code Example

go
resource "aws_elb" "test" {
  ...
  listener {
    instance_port      = 8000
    instance_protocol  = "http"
    lb_port            = 443
    lb_protocol        = "https"
+   ssl_certificate_id = "arn:aws:iam::123456789012:server-certificate/certName"
  }           
}

Remediation

Terraform

  • Resource: aws_elb
  • Arguments: ssl_certificate_id

Rule Details

FieldValue
IDIAC-0179
SeverityHIGH
IaC TypeTerraform
FrameworksTerraform, TerraformPlan
Checkov IDCKV_AWS_127

References