在Linux上配置Kafka的安全策略主要包括以下几个方面:
keytool
工具生成密钥库(keystore)和信任库(truststore)。openssl req -new -x509 -nodes -keyout ca.key -out ca.crt -days 3650 -subj "/C=CN/ST=GuangDong/L=GuangZhou/CN=Kafka Root CA"
keytool -keystore kafka.server.truststore.p12 -storetype PKCS12 -alias CARoot -import -file ca.crt -storepass truststore_password -noprompt
server.properties
),指定密钥库和信任库的位置以及密码。ssl.keystore.location=/path/to/kafka.server.truststore.p12
ssl.keystore.password=truststore_password
ssl.truststore.location=/path/to/kafka.server.truststore.p12
ssl.truststore.password=truststore_password
listeners=SSL://:9093
advertised.listeners=SSL://your_kafka_broker_ip:9093
kafka_server_jaas.conf
),指定Kafka服务器和客户端的身份验证信息。KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret";
};
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAINTEXT
sasl.login.class.name=org.apache.kafka.common.security.plain.PlainLoginModule
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.plain.username=admin
sasl.plain.password=admin-secret