首页/安全/渗透测试与安全评估速查/Kafka 未授权访问检查
内网评估60 条

Kafka 未授权访问检查

Kafka 集群在无认证场景下可被任意读取与投递:核查监听器配置、认证与 ACL 启用情况。

Kafka 未授权访问是什么样

Kafka 早期部署常默认不开启认证:只要能连上代理端口,就可以列出主题、查看分区、消费消息甚至投递数据。它承载的多是业务事件流,包含订单、行为与同步数据。检查的核心是三件事:监听配置暴露给了谁、是否启用认证机制、是否用授权列表限制主题级访问。

基本信息

服务端口客户端默认 9092,含 TLS 与 SASL 的部署端口不同
监听配置监听地址与对外广播地址决定暴露范围
认证方式常用 SASL 机制,集群内部通信需单独配置
授权主题级授权列表,用于限制读写范围
判定信号无凭据即可获取主题元数据

典型使用场景

  • 内网数据流盘点:确认哪些集群未启用认证
  • 数据面评估:结合主题内容判断泄露影响范围
  • 迁移核查:集群迁移过程中是否短暂放宽了访问控制
  • 自查复核:验证开发声称已启用认证的集群现状
  • 报告取证:只保留元数据层面的证据,不消费业务消息

只读检查示例

只读检查示例
# 能列出主题即说明未授权可访问元数据
kafka-topics.sh --bootstrap-server 10.0.20.9:9092 --list 2>&1 | head
# 记录主题数量与命名,不消费任何消息
# 集群有多个节点时逐个确认,避免只测一个入口
# 启用认证的集群会返回认证失败,这本身就是可用的对照结论

检查项与判定

检查项正常情况异常信号
监听与广播地址仅业务网段可达对外或办公网可达
客户端认证启用认证机制无凭据即可获取元数据
主题授权按业务划分读写范围任意账号可读写全部主题
集群内部通信单独配置并隔离与客户端端口混用且暴露
运维工具端口不对业务网段开放管理类接口可被业务网段访问
消息内容常包含业务事件与个人数据:定级时要结合主题内容与数据流影响面,而不是只看能否连接。
不要消费真实业务消息作为证据:元数据层面的未授权访问已经足以说明问题,消费消息会触碰数据红线。

易错点

  • 消费真实消息作为证据,触碰数据红线
  • 只测一个节点,漏掉集群其他节点
  • 忽略消费组偏移量变化对业务的影响
  • 把认证失败当作无发现,未记录为对照结论

数据来源与参考

  • Apache Kafka 官方文档(安全)
  • CIS Benchmarks(通用服务)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌