CIS Apache Kafka Benchmark

Secure configuration guidelines for Apache Kafka distributed event streaming platform

v1.0.0 October 2024

Overview

▶

This CIS Benchmark provides prescriptive guidance for establishing a secure configuration posture for Apache Kafka. Recommendations cover installation hardening, authentication and authorization, network security, encryption, topic and cluster management, and monitoring and logging.

~80Recommendations
6Sections
2Profile Levels
SectionAreaFocus
1InstallationSetup, ZooKeeper/KRaft
2AuthenticationSASL, ACLs
3NetworkListeners, firewall
4EncryptionTLS, data at rest
5Topics/ClusterReplication, retention
6MonitoringLogging, JMX metrics

Profile Definitions

▶
ProfileDescriptionIntended Use
L1Level 1 — StandardEssential security for all Apache Kafka deployments; minimal performance impact.
L2Level 2 — HardenedAdvanced hardening for PCI-DSS, HIPAA, or high-security environments.

1 — Installation & Configuration

▶

1.1 Installation

▶
1.1.1 Ensure Kafka Is Installed from Official Distributions (Manual)
L1 Manual
Description

This recommendation verifies that Kafka Is Installed from Official Distributions on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Kafka Is Installed from Official Distributions. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Kafka Is Installed from Official Distributions. Restart the broker to apply changes.

1.1.2 Ensure Kafka Runs Under a Dedicated Non-Root User (Automated)
L1 Auto
Description

This recommendation verifies that Kafka Runs Under a Dedicated Non-Root User on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Kafka Runs Under a Dedicated Non-Root User. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Kafka Runs Under a Dedicated Non-Root User. Restart the broker to apply changes.

1.1.3 Ensure Latest Stable Version Is Installed (Manual)
L1 Manual
Description

This recommendation verifies that Latest Stable Version Is Installed on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Latest Stable Version Is Installed. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Latest Stable Version Is Installed. Restart the broker to apply changes.

1.1.4 Ensure Kafka Configuration File Permissions Are Restricted (Automated)
L1 Auto
Description

This setting ensures that Kafka Configuration File Permissions Are Restricted on the Apache Kafka event streaming platform. Restricting this capability limits potential abuse and enforces the principle of least privilege across the environment.

Rationale

Unrestricted access to this capability could allow unauthorized users or processes to perform actions beyond their intended scope. Applying least-privilege principles to the Apache Kafka event streaming platform is essential for defense in depth.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Kafka Configuration File Permissions Are Restricted. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Kafka Configuration File Permissions Are Restricted. Restart the broker to apply changes.

1.2 ZooKeeper & KRaft

▶
1.2.1 Ensure ZooKeeper Authentication Is Enabled (Automated)
L1 Auto
Description

This recommendation verifies that ZooKeeper Authentication Is Enabled on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that ZooKeeper Authentication Is Enabled. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure ZooKeeper Authentication Is Enabled. Restart the broker to apply changes.

1.2.2 Ensure ZooKeeper ACLs Are Configured (Automated)
L1 Auto
Description

This recommendation verifies that ZooKeeper ACLs Are Configured on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that ZooKeeper ACLs Are Configured. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure ZooKeeper ACLs Are Configured. Restart the broker to apply changes.

1.2.3 Ensure KRaft Mode Is Used for New Deployments (Manual)
L2 Manual
Description

This recommendation verifies that KRaft Mode Is Used for New Deployments on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that KRaft Mode Is Used for New Deployments. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure KRaft Mode Is Used for New Deployments. Restart the broker to apply changes.

1.2.4 Ensure ZooKeeper TLS Is Enabled (Automated)
L2 Auto
Description

This recommendation verifies that ZooKeeper TLS Is Enabled on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that ZooKeeper TLS Is Enabled. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure ZooKeeper TLS Is Enabled. Restart the broker to apply changes.

2 — Authentication & Authorization

▶

2.1 Authentication

▶
2.1.1 Ensure SASL Authentication Is Enabled for Brokers (Automated)
L1 Auto
Description

This recommendation verifies that SASL Authentication Is Enabled for Brokers on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that SASL Authentication Is Enabled for Brokers. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure SASL Authentication Is Enabled for Brokers. Restart the broker to apply changes.

2.1.2 Ensure SASL Authentication Is Enabled for Clients (Automated)
L1 Auto
Description

This recommendation verifies that SASL Authentication Is Enabled for Clients on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that SASL Authentication Is Enabled for Clients. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure SASL Authentication Is Enabled for Clients. Restart the broker to apply changes.

2.1.3 Ensure SASL Mechanism Is SCRAM-SHA-512 or OAUTHBEARER (Automated)
L1 Auto
Description

This recommendation verifies that SASL Mechanism Is SCRAM-SHA-512 or OAUTHBEARER on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that SASL Mechanism Is SCRAM-SHA-512 or OAUTHBEARER. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure SASL Mechanism Is SCRAM-SHA-512 or OAUTHBEARER. Restart the broker to apply changes.

2.1.4 Ensure Inter-Broker Authentication Is Configured (Automated)
L1 Auto
Description

This recommendation verifies that Inter-Broker Authentication Is Configured on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Inter-Broker Authentication Is Configured. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Inter-Broker Authentication Is Configured. Restart the broker to apply changes.

2.2 Authorization

▶
2.2.1 Ensure ACL Authorizer Is Enabled (Automated)
L1 Auto
Description

This recommendation verifies that ACL Authorizer Is Enabled on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that ACL Authorizer Is Enabled. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure ACL Authorizer Is Enabled. Restart the broker to apply changes.

2.2.2 Ensure Super Users Are Minimized (Manual)
L1 Manual
Description

This recommendation verifies that Super Users Are Minimized on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Super Users Are Minimized. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Super Users Are Minimized. Restart the broker to apply changes.

2.2.3 Ensure Default Allow Is Disabled (Automated)
L1 Auto
Description

This recommendation verifies that Default Allow Is Disabled on the Apache Kafka event streaming platform. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the Apache Kafka event streaming platform increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Default Allow Is Disabled. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Default Allow Is Disabled. Restart the broker to apply changes.

2.2.4 Ensure Topic-Level ACLs Are Configured (Manual)
L1 Manual
Description

This recommendation verifies that Topic-Level ACLs Are Configured on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Topic-Level ACLs Are Configured. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Topic-Level ACLs Are Configured. Restart the broker to apply changes.

3 — Network Security

▶

3.1 Listener Configuration

▶
3.1.1 Ensure Listeners Are Bound to Specific Interfaces (Automated)
L1 Auto
Description

This recommendation verifies that Listeners Are Bound to Specific Interfaces on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Listeners Are Bound to Specific Interfaces. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Listeners Are Bound to Specific Interfaces. Restart the broker to apply changes.

3.1.2 Ensure Separate Listeners for Internal and External Traffic (Automated)
L1 Auto
Description

This recommendation verifies that Separate Listeners for Internal and External Traffic on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Separate Listeners for Internal and External Traffic. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Separate Listeners for Internal and External Traffic. Restart the broker to apply changes.

3.1.3 Ensure Plaintext Listeners Are Disabled (Automated)
L1 Auto
Description

This recommendation verifies that Plaintext Listeners Are Disabled on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Plaintext Listeners Are Disabled. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Plaintext Listeners Are Disabled. Restart the broker to apply changes.

3.2 Firewall & Network Isolation

▶
3.2.1 Ensure Broker Ports Are Firewalled (Automated)
L1 Auto
Description

This recommendation verifies that Broker Ports Are Firewalled on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Broker Ports Are Firewalled. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Broker Ports Are Firewalled. Restart the broker to apply changes.

3.2.2 Ensure JMX Port Is Not Publicly Accessible (Automated)
L1 Auto
Description

This recommendation verifies that JMX Port Is Not Publicly Accessible on the Apache Kafka event streaming platform. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the Apache Kafka event streaming platform increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that JMX Port Is Not Publicly Accessible. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure JMX Port Is Not Publicly Accessible. Restart the broker to apply changes.

3.2.3 Ensure Network Segmentation Isolates Kafka Cluster (Manual)
L2 Manual
Description

This recommendation verifies that Network Segmentation Isolates Kafka Cluster on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Network Segmentation Isolates Kafka Cluster. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Network Segmentation Isolates Kafka Cluster. Restart the broker to apply changes.

4 — Encryption

▶

4.1 TLS Configuration

▶
4.1.1 Ensure TLS Is Enabled for Client Connections (Automated)
L1 Auto
Description

This recommendation verifies that TLS Is Enabled for Client Connections on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that TLS Is Enabled for Client Connections. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure TLS Is Enabled for Client Connections. Restart the broker to apply changes.

4.1.2 Ensure TLS Is Enabled for Inter-Broker Communication (Automated)
L1 Auto
Description

This recommendation verifies that TLS Is Enabled for Inter-Broker Communication on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that TLS Is Enabled for Inter-Broker Communication. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure TLS Is Enabled for Inter-Broker Communication. Restart the broker to apply changes.

4.1.3 Ensure TLS 1.2 Is the Minimum Version (Automated)
L1 Auto
Description

This recommendation verifies that TLS 1.2 Is the Minimum Version on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that TLS 1.2 Is the Minimum Version. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure TLS 1.2 Is the Minimum Version. Restart the broker to apply changes.

4.1.4 Ensure Client Certificate Authentication Is Configured (Automated)
L2 Auto
Description

This recommendation verifies that Client Certificate Authentication Is Configured on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Client Certificate Authentication Is Configured. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Client Certificate Authentication Is Configured. Restart the broker to apply changes.

4.2 Data Encryption

▶
4.2.1 Ensure Log Directories Use Encrypted Filesystems (Manual)
L2 Manual
Description

This recommendation verifies that Log Directories Use Encrypted Filesystems on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Log Directories Use Encrypted Filesystems. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Log Directories Use Encrypted Filesystems. Restart the broker to apply changes.

4.2.2 Ensure Sensitive Configuration Values Are Stored Securely (Automated)
L1 Auto
Description

This recommendation verifies that Sensitive Configuration Values Are Stored Securely on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Sensitive Configuration Values Are Stored Securely. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Sensitive Configuration Values Are Stored Securely. Restart the broker to apply changes.

5 — Topic & Cluster Management

▶

5.1 Topic Configuration

▶
5.1.1 Ensure Auto Topic Creation Is Disabled (Automated)
L1 Auto
Description

This recommendation verifies that Auto Topic Creation Is Disabled on the Apache Kafka event streaming platform. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the Apache Kafka event streaming platform increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Auto Topic Creation Is Disabled. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Auto Topic Creation Is Disabled. Restart the broker to apply changes.

5.1.2 Ensure Topic Replication Factor Is 3 or More (Automated)
L1 Auto
Description

This recommendation verifies that Topic Replication Factor Is 3 or More on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Topic Replication Factor Is 3 or More. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Topic Replication Factor Is 3 or More. Restart the broker to apply changes.

5.1.3 Ensure Minimum In-Sync Replicas Is Set to 2 or More (Automated)
L1 Auto
Description

This recommendation verifies that Minimum In-Sync Replicas Is Set to 2 or More on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Minimum In-Sync Replicas Is Set to 2 or More. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Minimum In-Sync Replicas Is Set to 2 or More. Restart the broker to apply changes.

5.1.4 Ensure Unclean Leader Election Is Disabled (Automated)
L1 Auto
Description

This recommendation verifies that Unclean Leader Election Is Disabled on the Apache Kafka event streaming platform. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the Apache Kafka event streaming platform increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Unclean Leader Election Is Disabled. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Unclean Leader Election Is Disabled. Restart the broker to apply changes.

5.2 Cluster Hardening

▶
5.2.1 Ensure Broker Rack Awareness Is Configured (Automated)
L2 Auto
Description

This recommendation verifies that Broker Rack Awareness Is Configured on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Broker Rack Awareness Is Configured. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Broker Rack Awareness Is Configured. Restart the broker to apply changes.

5.2.2 Ensure Log Retention Policies Are Configured (Automated)
L1 Auto
Description

This recommendation verifies that Log Retention Policies Are Configured on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Log Retention Policies Are Configured. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Log Retention Policies Are Configured. Restart the broker to apply changes.

5.2.3 Ensure Controlled Shutdown Is Enabled (Automated)
L1 Auto
Description

This recommendation verifies that Controlled Shutdown Is Enabled on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Controlled Shutdown Is Enabled. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Controlled Shutdown Is Enabled. Restart the broker to apply changes.

6 — Monitoring & Logging

▶

6.1 Logging

▶
6.1.1 Ensure Kafka Logging Level Is Appropriately Set (Automated)
L1 Auto
Description

This recommendation verifies that Kafka Logging Level Is Appropriately Set on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Kafka Logging Level Is Appropriately Set. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Kafka Logging Level Is Appropriately Set. Restart the broker to apply changes.

6.1.2 Ensure Log4j Configuration Is Hardened (Automated)
L1 Auto
Description

This recommendation verifies that Log4j Configuration Is Hardened on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Log4j Configuration Is Hardened. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Log4j Configuration Is Hardened. Restart the broker to apply changes.

6.1.3 Ensure Audit Logging Is Enabled (Automated)
L2 Auto
Description

This recommendation verifies that Audit Logging Is Enabled on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Audit Logging Is Enabled. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Audit Logging Is Enabled. Restart the broker to apply changes.

6.2 Monitoring

▶
6.2.1 Ensure JMX Metrics Are Collected (Automated)
L1 Auto
Description

This recommendation verifies that JMX Metrics Are Collected on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that JMX Metrics Are Collected. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure JMX Metrics Are Collected. Restart the broker to apply changes.

6.2.2 Ensure Broker Health Is Monitored (Automated)
L1 Auto
Description

This recommendation verifies that Broker Health Is Monitored on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Broker Health Is Monitored. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Broker Health Is Monitored. Restart the broker to apply changes.

6.2.3 Ensure Consumer Lag Is Monitored (Automated)
L1 Auto
Description

This recommendation verifies that Consumer Lag Is Monitored on the Apache Kafka event streaming platform. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the Apache Kafka event streaming platform vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Review the Apache Kafka broker configuration (server.properties) and verify that Consumer Lag Is Monitored. Use kafka-configs.sh to confirm runtime settings.

Remediation

Update the Kafka broker configuration (server.properties) to ensure Consumer Lag Is Monitored. Restart the broker to apply changes.