centos

kafka在centos上如何进行安全配置

小樊
40
2025-10-07 02:48:16
栏目: 智能运维

在CentOS上对Kafka进行安全配置,可以遵循以下步骤:

1. 更新系统

首先,确保你的CentOS系统是最新的。

sudo yum update -y

2. 安装Java

Kafka需要Java运行环境。你可以安装OpenJDK或Oracle JDK。

sudo yum install java-1.8.0-openjdk-devel -y

3. 下载并解压Kafka

从Apache Kafka官网下载最新版本的Kafka,并解压到指定目录。

wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz
tar -xzf kafka_2.13-3.4.0.tgz -C /opt
cd /opt/kafka_2.13-3.4.0

4. 配置Kafka服务器

编辑server.properties文件进行安全配置。

4.1 启用SSL/TLS

listeners=SSL://:9093
ssl.keystore.location=/path/to/keystore.jks
ssl.keystore.password=your_keystore_password
ssl.key.password=your_key_password
ssl.truststore.location=/path/to/truststore.jks
ssl.truststore.password=your_truststore_password
ssl.enabled.protocols=TLSv1.2
ssl.cipher.suites=TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384

4.2 启用SASL

listeners=SASL_SSL://:9094
security.inter.broker.protocol=SASL_SSL
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";

4.3 启用ACL

authorizer.class.name=kafka.security.authorizer.AclAuthorizer
allow.everyone.if.no.acl.found=false
super.users=User:admin

5. 生成SSL证书和密钥

使用keytool生成SSL证书和密钥。

keytool -genkey -alias kafka -keystore /path/to/keystore.jks -storepass your_keystore_password -validity 3650 -keyalg RSA
keytool -export -alias kafka -file kafka.crt -keystore /path/to/keystore.jks -storepass your_keystore_password
keytool -import -alias kafka -file kafka.crt -keystore /path/to/truststore.jks -storepass your_truststore_password

6. 启动Kafka服务器

启动Kafka服务器并确保配置生效。

bin/kafka-server-start.sh config/server.properties

7. 配置防火墙

确保防火墙允许Kafka使用的端口。

sudo firewall-cmd --permanent --zone=public --add-port=9093/tcp
sudo firewall-cmd --permanent --zone=public --add-port=9094/tcp
sudo firewall-cmd --reload

8. 验证配置

使用Kafka客户端工具验证配置是否生效。

bin/kafka-console-producer.sh --broker-list localhost:9093 --topic test --property security.protocol=SSL --property ssl.truststore=/path/to/truststore.jks --property ssl.truststore.password=your_truststore_password
bin/kafka-console-consumer.sh --bootstrap-server localhost:9093 --topic test --property security.protocol=SSL --property ssl.truststore=/path/to/truststore.jks --property ssl.truststore.password=your_truststore_password

通过以上步骤,你可以在CentOS上对Kafka进行基本的安全配置,包括SSL/TLS加密、SASL认证和ACL授权。根据实际需求,你可能还需要进一步调整和优化配置。

0
看了该问题的人还看了