在Ubuntu上对Kafka进行安全配置,主要涉及开启认证机制和配置SSL证书。以下是详细步骤:
server.properties
文件:listeners
参数以启用SASL_PLAINTEXT监听器。security.inter.broker.protocol
和sasl.mechanism.inter.broker.protocol
为SASL_PLAINTEXT
。sasl.enabled.mechanisms
为SCRAM-SHA-512
(或其他支持的认证机制)。/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";
};
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"
kafka-configs.sh
添加认证配置:./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
kafka-topics.sh
、kafka-configs.sh
等)时,通过--command-config
参数指定JAAS配置属性文件。mkdir -p $KAFKA_HOME/config/certificates
keytool
生成密钥库(keystore)和证书签名请求(CSR):keytool -genkey -alias mykey -keyalg RSA -keystore $KAFKA_HOME/config/certificates/keystore.jks -validity 3650
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
server.properties
文件启动Kafka服务。通过以上步骤,您可以在Ubuntu上为Kafka配置基本的安全措施,包括认证和SSL加密,以保护数据传输的安全性。