確保Ubuntu上的Kafka安全配置是一個多層面的過程,涉及認證、加密、防火墻配置和權限管理。以下是一些關鍵步驟和最佳實踐:
server.properties 中,添加以下配置來啟用SASL認證:security.protocol=sasl_plaintext
sasl.mechanism=plain
kafka_client_jaas.conf),并配置Kafka服務器和客戶端的身份驗證信息。KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret";
}
server.properties 中啟用SASL認證并指定JAAS配置文件的位置:sasl.login.config=/path/to/kafka_client_jaas.conf
keytool 工具生成密鑰庫(keystore)和信任庫(truststore):keytool -genkey -alias kafka -keyalg RSA -keystore kafka.server.keystore.jks
keytool -export -alias kafka -file kafka.server.certificate.jks -keystore kafka.server.keystore.jkskeytool -import -alias kafka -file kafka.server.certificate.jks -keystore kafka.client.truststore.jks
server.properties,指定密鑰庫和信任庫的位置以及密碼:ssl.keystore.location=/path/to/kafka.server.keystore.jks
ssl.keystore.password=password
ssl.truststore.location=/path/to/kafka.client.truststore.jks
ssl.truststore.password=password
ufw 配置防火墻規則,僅允許必要的端口(如Kafka的默認端口9092)通過:sudo ufw allow 9092
通過上述配置,可以顯著提高Kafka服務在Ubuntu上的安全性,確保數據傳輸和存儲的安全。建議定期審查和更新安全配置,以應對不斷變化的安全威脅。