Ensure that your Amazon Network Load Balancers (NLBs) are configured with a secure listener protocol – TLS or QUIC – in order to encrypt the communication between the load balancer and the associated targets (i.e. server instances). A TLS listener terminates the connection at the load balancer, offloading the encryption and decryption work from the backend servers. A QUIC listener, by contrast, passes QUIC traffic through to the targets unmodified – but the traffic remains encrypted end-to-end regardless, since the QUIC protocol itself mandates TLS 1.3 encryption as part of its handshake.
This rule can help you with the following compliance standards:
- PCI
- APRA
- MAS
For further details on compliance standards supported by TrendAI Vision One™ Cloud Risk Management, see here.
When Transport Layer Security (TLS) termination is enabled, you can offload the encryption and decryption of the TLS traffic from your backend application servers to your Amazon Network Load Balancer, enhancing the performance of your backend servers while keeping the workload secure. Also, by using built-in security policies with optimal TLS versions and ciphers, the application or service behind your Network Load Balancer (NLB) can achieve PCI and FedRAMP compliance.
QUIC listeners are a secure alternative to TLS listeners: the Network Load Balancer passes QUIC traffic through to the targets without decrypting it, similarly to how a plain TCP listener would, but because the QUIC protocol mandates TLS 1.3 encryption as part of its transport handshake, traffic sent over a QUIC listener is guaranteed to be encrypted end-to-end, unlike a plain TCP listener where encryption cannot be verified.
Audit
To determine if your Network Load Balancers (NLBs) are configured with a secure (TLS or QUIC) listener, perform the following actions:
Remediation / Resolution
To enable a secure listener protocol for your Amazon Network Load Balancers, update their listener configuration to support the TLS or QUIC protocol. A TLS listener requires an X.509 SSL certificate, which the load balancer uses to terminate and decrypt incoming connections. A QUIC listener does not use a certificate, since the Network Load Balancer passes QUIC traffic through to the targets without decrypting it (QUIC connections remain encrypted end-to-end because the protocol mandates TLS 1.3 encryption). To add a TLS or QUIC listener to your Network Load Balancer, perform the following actions:
To create a QUIC listener instead of a TLS listener, using any of the methods below, set the protocol value to QUIC and omit the certificate and security policy configuration (the SslPolicy/Certificates CloudFormation properties, the ssl_policy/certificate_arn Terraform arguments, the Security policy/Default SSL/TLS certificate console fields, or the--ssl-policy/--certificates CLI parameters), since QUIC listeners do not use a certificate. The target group forwarded to by a QUIC listener must also use the QUIC protocol – a listener creation request fails with an IncompatibleProtocols error if it points to a TCP (or other non-QUIC) target group. For Terraform, this requires an AWS provider version recent enough to support the QUIC protocol value – newer than the ~> 4.0 constraint used in the example below – so check the aws_lb_listener resource documentation for your provider version if the QUIC protocol value is rejected. Only one QUIC listener is allowed per Network Load Balancer, and QUIC listeners cannot be added to dualstack load balancers, load balancers with associated security groups, or load balancers that already have a UDP or TCP_UDP listener. References
- AWS Documentation
- Elastic Load Balancing FAQs
- Listeners for Your Network Load Balancers
- Create a Listener for Your Network Load Balancer
- TLS Listeners for Your Network Load Balancer
- Update a Listener for Your Network Load Balancer
- Target Groups for Your Network Load Balancers
- AWS Command Line Interface (CLI) Documentation
- elbv2
- describe-load-balancers
- describe-listeners
- create-listener
- list-certificates
- list-server-certificates
- AWS Blog(s)
- New – TLS Termination for Network Load Balancers
- Network Load Balancer Now Supports TLS Termination
- CloudFormation Documentation
- Elastic Load Balancing V2 resource type reference
- Terraform Documentation
- AWS Provider