温馨提示×

Kafka在Ubuntu上如何进行安全配置

小樊
112
2025-04-28 14:15:21
栏目: 智能运维

在Ubuntu上对Kafka进行安全配置,主要涉及开启认证机制和配置SSL证书。以下是详细步骤:

开启认证机制

  1. 配置server.properties文件
  • 修改listeners参数以启用SASL_PLAINTEXT监听器。
  • 设置security.inter.broker.protocolsasl.mechanism.inter.broker.protocolSASL_PLAINTEXT
  • 启用sasl.enabled.mechanismsSCRAM-SHA-512(或其他支持的认证机制)。
  1. 添加JAAS配置文件
  • /opt/kafka_2.12-2.4.0/config/目录下创建kafka_server_jaas.conf文件,指定用户名和密码信息。
  • 示例配置:
KafkaServer {
    org.apache.kafka.common.security.scram.ScramLoginModule required
    username="root"
    password="Root@123";
};
  1. 修改Kafka启动脚本
  • kafka-server-start.sh中添加JVM参数,指定JAAS配置文件路径。
  • 示例:
EXTRA_ARGS=${EXTRA_ARGS-'-name kafkaServer -loggc'}
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/kafka_2.12-2.4.0/config/kafka_server_jaas.conf"
  1. 使用kafka-configs.sh添加认证配置
  • 运行以下命令以添加SCRAM-SHA-512认证配置:
./bin/kafka-configs.sh --zookeeper 172.16.1.102:2181 \
    --alter \
    --add-config "SCRAM-SHA-256=[password=Root@123],SCRAM-SHA-512=[password=Root@123]" \
    --entity-type users \
    --entity-name root
  1. 客户端工具配置
  • 在使用客户端工具(如kafka-topics.shkafka-configs.sh等)时,通过--command-config参数指定JAAS配置属性文件。

配置SSL证书

  1. 创建SSL证书
  • 创建存储目录:
mkdir -p $KAFKA_HOME/config/certificates
  • 使用keytool生成密钥库(keystore)和证书签名请求(CSR):
keytool -genkey -alias mykey -keyalg RSA -keystore $KAFKA_HOME/config/certificates/keystore.jks -validity 3650
  1. 配置Kafka Broker使用SSL
  • 编辑server.properties文件,添加或修改以下配置:
listeners=SASL_SSL://:9093
security.inter.broker.protocol=SASL_SSL
ssl.keystore.location=/path/to/keystore.jks
ssl.keystore.password=your_keystore_password
ssl.key.password=your_key_password
ssl.enabled.protocols=TLSv1.2
ssl.client.auth=required
  1. 重启Kafka服务
  • 使用配置好的server.properties文件启动Kafka服务。

通过以上步骤,您可以在Ubuntu上为Kafka配置基本的安全措施,包括认证和SSL加密,以保护数据传输的安全性。

0