All checks
Medium RDS · regional

RDS for MySQL DB instances should be encrypted in transit

Checks that RDS for MySQL DB instances set require_secure_transport to 1 in their DB parameter group. With it on, the database refuses any connection that does not use SSL/TLS, so credentials and query data do not cross the network in clear text.

service
RDS
severity
Medium
scope
evaluated in every region

How to fix it

  • Interrupts service: If the instance is on a default parameter group, which cannot be edited, attach a custom group holding this value; it applies only after a reboot, though this check passes before then.
  • Can break clients: Once it applies, MySQL refuses any connection without SSL/TLS (error 3159), so move every application, job and agent onto SSL/TLS first.

In the console

RDS → Parameter groups → the group attached to the DB instance

require_secure_transport
1

With the AWS CLI

aws rds modify-db-parameter-group --db-parameter-group-name <parameter-group-name> --parameters ParameterName=require_secure_transport,ParameterValue=1,ApplyMethod=immediate --region <region>

With Terraform

resource "aws_db_parameter_group" "this" {
  name   = var.parameter_group_name
  family = var.family

  parameter {
    name  = "require_secure_transport"
    value = "1"
  }
}

See which of your accounts this check is failing on.

Book a live scan