All checks
Medium ElastiCache · regional

ElastiCache (Redis OSS) replication groups of earlier versions should have Redis OSS AUTH enabled

Checks that ElastiCache (Redis OSS) replication groups on engine versions below 6.0 have Redis OSS AUTH enabled, so clients must send a token before running commands. A group on 6.0 or later can use role-based access control instead and passes whatever its authentication, so upgrading the engine also clears this.

service
ElastiCache
severity
Medium
scope
evaluated in every region

How to fix it

  • Replaces the resource: A token needs encryption in transit, which below Redis OSS 7 cannot be turned on in place: upgrade to 6.0 or later, or restore a backup into a new group with both, repoint, delete.
  • Can break clients: ROTATE still lets clients connect without the token; once all of them send it, repeat the call with SET, after which clients without it are refused.

In the console

ElastiCache → Redis OSS caches → the cache → Actions → Modify

Access control
Redis OSS AUTH default user access
Redis OSS AUTH token
A new token of 16 to 128 printable characters
Engine Version Compatibility
Or 6.0 or later instead, where role-based access control replaces AUTH

With the AWS CLI

  • Interrupts service: --apply-immediately also applies any pending change to the group now, such as a node type or engine version change, which can replace nodes.
aws elasticache modify-replication-group --replication-group-id <replication-group-id> --auth-token <auth-token> --auth-token-update-strategy ROTATE --apply-immediately --region <region>

With Terraform

resource "aws_elasticache_replication_group" "this" {
  replication_group_id       = var.replication_group_id
  description                = var.description
  transit_encryption_enabled = true
  auth_token                 = var.auth_token
  auth_token_update_strategy = "ROTATE"
}

See which of your accounts this check is failing on.

Book a live scan