debian

Kafka在Debian上的安全认证如何配置

小樊
37
2025-05-17 15:39:30
栏目: 智能运维

在Debian上配置Kafka的安全认证,通常涉及SSL加密和SASL认证两种主要方式。以下是详细的配置步骤:

一、SSL加密配置

  1. 生成CA证书和密钥库
openssl req -new -x509 -nodes -keyout ca.key -out ca.crt -days 3650 -subj "/C=CN/ST=GuangDong/L=GuangZhou/CN=Kafka Root CA"
  1. 将CA证书导入PKCS#12格式的truststore
keytool -keystore kafka.server.truststore.p12 -storetype PKCS12 -alias CARoot -import -file ca.crt -storepass truststore_password -noprompt
  1. 生成服务器密钥库
keytool -keystore kafka.server.keystore.p12 -storetype PKCS12 -alias localhost -validity 3650 -genkey -keyalg RSA -keysize 2048 -storepass keystore_password -dname "C=CN/ST=GuangDong/L=GuangZhou/CN=kafka-server"
  1. 生成证书签名请求(CSR)
keytool -keystore kafka.server.keystore.p12 -storetype PKCS12 -alias localhost -certreq -file server.csr -storepass keystore_password
  1. 使用CA签名服务器证书
openssl x509 -req -CA ca.crt -CAkey ca.key -in server.csr -out server-signed.crt -days 3650 -CAcreateserial -extfile <(printf "subjectAltName=IP:172.139.20.17,IP:172.139.20.81,IP:172.139.20.177")
  1. 将CA证书和签名后的证书导入服务器
keytool -keystore kafka.server.keystore.p12 -storetype PKCS12 -alias CARoot -import -file ca.crt -storepass truststore_password -noprompt
keytool -keystore kafka.server.keystore.p12 -storetype PKCS12 -alias localhost -import -file server-signed.crt -storepass keystore_password -noprompt
  1. 配置Kafka监听器和SSL
listeners=SSL://:9093
advertised.listeners=SSL://your_kafka_broker_ip:9093
ssl.keystore.location=/path/to/kafka.server.keystore.p12
ssl.keystore.password=keystore_password
ssl.key.password=keystore_password
ssl.truststore.location=/path/to/kafka.server.truststore.p12
ssl.truststore.password=truststore_password

二、SASL认证配置

  1. JAAS配置文件

/etc/kafka/conf/kafka_server_jaas.conf文件中配置JAAS,例如:

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

server.properties文件中启用SASL_SSL并指定JAAS配置文件:

listeners=SASL_SSL://:9093
advertised.listeners=SASL_SSL://your_kafka_broker_ip: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
  1. 配置Kafka客户端

在客户端的producer.propertiesconsumer.properties文件中配置SASL认证:

security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.username=admin
sasl.password=admin-secret

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

0
看了该问题的人还看了