All checks
Medium ELB · regional

Classic Load Balancer should be configured with defensive or strictest desync mitigation mode

Ensures Classic Load Balancers use defensive or strictest desync mitigation mode to protect against HTTP desync attacks. Monitor mode fails: it forwards every request, however malformed, and only counts the ones that do not comply with RFC 7230.

service
ELB
severity
Medium
scope
evaluated in every region

How to fix it

  • Can break clients: Strictest also blocks requests that break RFC 7230 but pose no known threat, so a client sending them fails; Defensive lets them through.

In the console

EC2 → Load balancers → the load balancer → Attributes → Traffic configuration

Desync mitigation mode
Defensive - recommended (AWS's default), or Strictest

With the AWS CLI

aws elb modify-load-balancer-attributes --load-balancer-name <load-balancer-name> --load-balancer-attributes AdditionalAttributes=[{Key=elb.http.desyncmitigationmode,Value=defensive}] --region <region>

With Terraform

resource "aws_elb" "this" {
  desync_mitigation_mode = "defensive"

  listener {
    lb_port           = 80
    lb_protocol       = "http"
    instance_port     = 80
    instance_protocol = "http"
  }
}

See which of your accounts this check is failing on.

Book a live scan