Check provider logo

Kafka cluster requires authentication

kafka_cluster_unrestricted_access_disabled

Severitycritical
Servicekafka
by Prowler

Amazon MSK clusters are evaluated for unauthenticated client access. Serverless clusters inherently require authentication; provisioned clusters are checked for configurations that allow unrestricted connections rather than authenticated clients.

Risk

Allowing unauthenticated access lets anyone connect and:

  • Read sensitive topics (confidentiality)
  • Publish or alter data (integrity)
  • Overload brokers and consumers (availability)

This enables message exfiltration, stream poisoning, and abuse of trusted data pipelines.

Run this check with Prowler CLI

prowler aws --checks kafka_cluster_unrestricted_access_disabled

Recommendation

Disable unauthenticated access and require strong client authentication (mTLS or IAM/SASL).

  • Enforce least privilege with scoped ACLs
  • Restrict network paths via private connectivity and tight security groups
  • Encrypt in transit, monitor access, and rotate credentials regularly

Remediation

CLI

aws kafka update-security --cluster-arn <example_resource_arn> --current-version <example_current_version> --client-authentication 'Unauthenticated={Enabled=false}'

Native IaC
Terraform
Other
  1. Open the AWS Console and go to Amazon MSK
  2. Select your cluster and open the Security tab
  3. Click Edit under Client authentication
  4. Turn off/clear Unauthenticated access
  5. Save changes to apply the update

Source Code

Resource Type

AwsMskCluster

References