debian

Kafka在Debian上的安全认证配置

小樊
42
2025-08-11 05:45:09
栏目: 智能运维

Kafka在Debian上的安全认证配置主要包括SSL/TLS加密和SASL认证,步骤如下:

一、SSL/TLS加密配置

  1. 生成证书和密钥库
    使用keytool生成服务器证书和信任库(需先安装Java):

    keytool -genkeypair -alias kafka -keyalg RSA -keystore kafka.server.keystore.jks -validity 3650 -storepass 123456  
    keytool -export -alias kafka -file kafka.server.crt -keystore kafka.server.keystore.jks  
    keytool -import -alias kafka -file kafka.server.crt -keystore kafka.server.truststore.jks -storepass 123456  
    

    (若需客户端证书,重复上述步骤生成客户端密钥库)

  2. 配置Kafka服务器
    编辑/etc/kafka/server.properties

    listeners=SSL://:9093  
    security.inter.broker.protocol=SSL  
    ssl.keystore.location=/path/to/kafka.server.keystore.jks  
    ssl.keystore.password=123456  
    ssl.truststore.location=/path/to/kafka.server.truststore.jks  
    ssl.truststore.password=123456  
    ssl.enabled.protocols=TLSv1.2,TLSv1.3  
    

    (若启用双向认证,需配置ssl.client.auth=required

  3. 配置Kafka客户端
    客户端需指定信任库路径和密码:

    security.protocol=SSL  
    ssl.truststore.location=/path/to/kafka.server.truststore.jks  
    ssl.truststore.password=123456  
    

二、SASL认证配置

  1. 创建JAAS配置文件
    /etc/kafka/下创建kafka_server_jaas.conf,例如使用PLAIN机制:

    KafkaServer {  
        org.apache.kafka.common.security.plain.PlainLoginModule required  
        username="admin"  
        password="admin-secret";  
    };  
    

    (若需SCRAM机制,替换为ScramLoginModule并配置用户名密码)

  2. 启用SASL认证
    修改server.properties

    listeners=SASL_SSL://:9093  # 或SASL_PLAINTEXT  
    security.inter.broker.protocol=SASL_SSL  
    sasl.mechanism.inter.broker.protocol=PLAIN  
    sasl.enabled.mechanisms=PLAIN  
    sasl.jaas.config=/etc/kafka/kafka_server_jaas.conf  
    

    (客户端需在配置中指定相同的机制和凭据)

  3. 客户端配置示例

    security.protocol=SASL_SSL  
    sasl.mechanism=PLAIN  
    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";  
    

三、其他安全设置

验证配置

  1. 重启Kafka服务:
    sudo systemctl restart kafka  
    
  2. 使用客户端测试连接:
    kafka-console-producer --broker-list localhost:9093 --topic test --producer.config client.properties  
    

注意:生产环境中需使用有效证书、强密码,并定期轮换密钥。详细配置可参考Kafka官方文档。

0
看了该问题的人还看了