温馨提示×

Debian系统下Kafka如何安全配置

小樊
49
2025-08-05 04:02:58
栏目: 智能运维

在Debian系统下对Kafka进行安全配置,主要包括SSL/TLS加密和SASL认证两种方式。以下是详细的配置步骤:

一、SSL/TLS加密配置

  1. 生成SSL证书和密钥
  • 创建一个目录来存储证书和密钥:

    mkdir -p /etc/kafka/ssl
    
  • 生成服务器证书和密钥:

    openssl req -newkey rsa:2048 -nodes -keyout /etc/kafka/ssl/server.key -x509 -days 365 -out /etc/kafka/ssl/server.crt
    
  • 生成客户端证书和密钥(可选):

    openssl req -newkey rsa:2048 -nodes -keyout /etc/kafka/ssl/client.key -x509 -days 365 -out /etc/kafka/ssl/client.crt
    
  1. 配置Kafka服务器
  • 编辑Kafka服务器配置文件server.properties,添加或修改以下配置:
    listeners=SSL://:9093
    advertised.listeners=SSL://your_kafka_host:9093
    ssl.keystore.location=/etc/kafka/ssl/server.jks
    ssl.keystore.password=your_keystore_password
    ssl.key.password=your_key_password
    ssl.truststore.location=/etc/kafka/ssl/server.jks
    ssl.truststore.password=your_truststore_password
    ssl.enabled.protocols=TLSv1.2,TLSv1.3
    ssl.cipher.suites=TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384
    
  1. 配置Kafka客户端
  • 编辑客户端的配置文件client.properties,添加或修改以下配置:
    security.protocol=SSL
    ssl.truststore.location=/etc/kafka/ssl/client.jks
    ssl.keystore.location=/etc/kafka/ssl/client.jks
    ssl.key.password=your_key_password
    
  1. 重启Kafka服务
  • 完成配置后,重启Kafka服务以应用更改:
    sudo systemctl restart kafka
    

二、SASL认证配置

  1. 创建JAAS配置文件
  • /etc/kafka/conf目录下创建一个JAAS配置文件,例如kafka_server_jaas.conf
    KafkaServer {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="admin"
        password="admin-secret";
    };
    
  1. 配置Kafka服务器
  • 编辑Kafka服务器配置文件server.properties,添加或修改以下配置:
    listeners=SASL_SSL://:9093
    advertised.listeners=SASL_SSL://your_kafka_host:9093
    security.inter.broker.protocol=SASL_SSL
    sasl.mechanism.inter.broker.protocol=PLAIN
    sasl.enabled.mechanisms=PLAIN,SCRAM-SHA-256
    sasl.client.mechanism.list=PLAIN,SCRAM-SHA-256
    sasl.jaas.config=/etc/kafka/conf/kafka_server_jaas.conf
    
  1. 配置Kafka客户端
  • 在客户端的producer.propertiesconsumer.properties文件中配置SASL认证:
    security.protocol=SASL_SSL
    sasl.mechanism=PLAIN
    sasl.username=admin
    sasl.password=admin-secret
    
  1. 重启Kafka服务
  • 完成配置后,重启Kafka服务以应用更改:
    sudo systemctl restart kafka
    

以上步骤提供了在Debian系统上为Kafka配置SSL加密和SASL认证的基本流程。请根据实际环境和需求调整配置细节。

0