在Debian系统上配置Kafka以使用SSL涉及几个步骤,包括生成SSL证书和密钥、配置Kafka服务器以及配置Kafka客户端。以下是详细的步骤:
生成SSL证书和密钥
首先,你需要生成SSL证书和密钥。你可以使用OpenSSL来完成这个任务。
# 生成密钥
keytool -genkey -alias kafka-server -keyalg RSA -keystore kafka.server.keystore.jks -storepass password -validity 365 -keysize 2048
# 生成证书签名请求(CSR)
keytool -certreq -alias kafka-server -file kafka.server.csr -keystore kafka.server.keystore.jks -storepass password
# 使用CA签发证书(如果你有CA证书和密钥)
keytool -x509 -alias kafka-server -file kafka.server.crt -keystore kafka.server.keystore.jks -storepass password -ext SAN=dns:kafka.example.com -validity 365
配置Kafka服务器
编辑Kafka服务器的配置文件server.properties,通常位于/etc/kafka/目录下。
# 启用SSL
listeners=SSL://:9093
ssl.keystore.location=/etc/kafka/kafka.server.keystore.jks
ssl.keystore.password=password
ssl.key.password=password
ssl.truststore.location=/etc/kafka/kafka.server.truststore.jks
ssl.truststore.password=password
# 其他SSL相关配置
ssl.enabled.protocols=TLSv1.2
ssl.cipher.suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
ssl.protocol=ECDHE_RSA
配置Kafka客户端
编辑Kafka客户端的配置文件client.properties,通常位于/etc/kafka/目录下。
# 启用SSL
security.protocol=SSL
ssl.truststore.location=/etc/kafka/kafka.client.truststore.jks
ssl.truststore.password=password
ssl.keystore.location=/etc/kafka/kafka.client.keystore.jks
ssl.keystore.password=password
ssl.enabled.protocols=TLSv1.2
ssl.protocol=ECDHE_RSA
配置SASL(可选)
如果你还需要配置SASL认证,可以按照以下步骤进行:
-
创建JAAS配置文件:例如,创建
/etc/kafka/kafka_server_jaas.conf文件,内容如下:KafkaServer { org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret" user_admin="/home/admin"; } -
修改Kafka配置文件:在
server.properties中添加以下配置:listeners=SASL_SSL://:9093 security.inter.broker.protocol=SASL_SSL sasl.mechanism.inter.broker.protocol=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret" user_admin="/home/admin"; -
重启服务:重启Kafka服务以应用配置更改。
sudo systemctl restart kafka
验证SSL连接
你可以使用kafkacat或其他Kafka客户端工具来验证SSL连接。
kafkacat -b localhost:9093 -L -t test_topic -Z
如果一切配置正确,你应该能够看到Kafka集群的详细信息。
以上步骤涵盖了在Debian系统上配置Kafka的安全认证,包括SSL/TLS和SASL。确保在生产环境中使用有效的证书和强密码,并根据需要调整配置。
以上就是关于“Kafka在Debian上如何使用SSL”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm