一 安全目标与总体架构
二 操作系统与网络加固
firewall-cmd --permanent --add-port=9092/tcpfirewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'firewall-cmd --reload三 传输加密 SSL TLS
listeners=SSL://your.host:9093security.inter.broker.protocol=SSLssl.keystore.location=/path/to/kafka.keystore.jksssl.keystore.password=YourKeystorePassssl.key.password=YourKeyPassssl.truststore.location=/path/to/kafka.truststore.jksssl.truststore.password=YourTruststorePasssecurity.protocol=SSLssl.truststore.location=/path/to/client.truststore.jksssl.truststore.password=YourTruststorePass四 身份认证 SASL
KafkaServer { org.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="admin-secret" user_admin="admin-secret" user_producer="producer-secret" user_consumer="consumer-secret"; };listeners=SASL_PLAINTEXT://:9092(或 SASL_SSL://:9093)security.inter.broker.protocol=SASL_PLAINTEXT(或 SASL_SSL)sasl.enabled.mechanisms=SCRAM-SHA-256sasl.mechanism.inter.broker.protocol=SCRAM-SHA-256listener.name.sasl_plaintext.scram-sha-256.sasl.jaas.config=file:/path/to/kafka_server_jaas.confbin/kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[password=producer-secret]' --entity-type users --entity-name producer--producer-property security.protocol=SASL_PLAINTEXT --producer-property sasl.mechanism=SCRAM-SHA-256 --producer-property sasl.jaas.config='org.apache.kafka.common.security.scram.ScramLoginModule required username="producer" password="producer-secret";'security.protocol、sasl.mechanism、sasl.jaas.configlisteners=SASL_SSL://:9093security.inter.broker.protocol=SASL_SSLsasl.enabled.mechanisms=GSSAPIsasl.kerberos.service.name=kafkasecurity.protocol=SASL_SSL 与 sasl.mechanism=GSSAPI 并提供 JAAS 配置。五 授权与审计 ACL
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server your.host:9093 --partitions 1 --replication-factor 1bin/kafka-acls.sh --bootstrap-server your.host:9093 --add --allow-principal User:producer --operation Write --topic test-topicbin/kafka-acls.sh --bootstrap-server your.host:9093 --add --allow-principal User:consumer --operation Read --topic test-topic--group Group:console-consumer