0.11.0.0版本Kafka集群如何判断是否开启传输中加密?
Kafka 0.11.0.0版本判断传输中加密是否启用的方法
你可以通过以下几种方式验证集群是否开启传输中加密:
方法1:检查Broker服务端配置
这是最直接的判断方式,你可以查看Broker加载的server.properties配置文件,或者通过运维脚本查询运行时配置:
- 检查
listeners配置项:如果配置值中包含SSL://前缀的监听地址,说明集群开放了SSL加密传输端口,示例配置:listeners=SSL://0.0.0.0:9093,PLAINTEXT://0.0.0.0:9092表示同时支持明文和加密两种传输方式,若仅保留SSL://开头的配置则集群全部流量走加密传输。 - 检查
security.inter.broker.protocol配置项:值为SSL则表示Broker节点之间的内部通信也走加密传输,值为PLAINTEXT则内部通信为明文。 - 检查
ssl.keystore.location、ssl.truststore.location配置项:如果两个配置均填写了有效的证书文件路径,说明集群已完成SSL加密的基础配置。
你也可以通过Kafka自带脚本查询运行时的Broker配置,命令如下:kafka-configs.sh --describe --entity-type brokers --entity-name <BrokerID> --zookeeper <ZooKeeper连接地址>
方法2:端口连接验证
你可以使用openssl工具直接连接Kafka端口验证是否开启加密:openssl s_client -connect <Kafka节点IP>:<端口号>
如果命令返回完整的SSL证书链信息,说明该端口启用了加密传输;如果连接报错无证书返回,说明该端口为明文传输端口。
方法3:流量抓包验证
如果你有节点的服务器权限,可以通过tcpdump抓包确认流量是否加密:tcpdump -i any port <Kafka端口号> -X
如果抓包结果中可以直接看到明文的主题名、消息内容等信息,说明传输未加密;如果仅能看到乱码的加密数据,说明已开启传输加密。
注意:Kafka 0.11.0.0版本仅支持最高TLS 1.2版本的加密传输,且存在多个SSL相关的已知安全漏洞,建议后续尽快完成版本升级。
内容的提问来源于stack exchange,提问作者user2691652
相关产品推荐
相关产品推荐

