温馨提示×

Kafka在Debian上的安全审计要点有哪些

小樊
44
2025-12-27 22:22:48
栏目: 智能运维

Kafka在Debian上的安全审计要点

一 身份与访问控制

  • 认证机制与监听器
    • 核查是否启用SASL,优先使用SASL/SCRAM-SHA-256/512;如为明文传输,仅允许在受控内网且必须配合SSL/TLS
    • 检查 listeners 配置,生产环境应优先使用SASL_SSL://SSL://,避免暴露PLAINTEXT。示例:listeners=SASL_SSL://:9093;security.inter.broker.protocol=SASL_SSL;sasl.enabled.mechanisms=SCRAM-SHA-256。
  • JAAS 与凭据管理
    • 核查JAAS文件路径与权限(如**/etc/kafka/kafka_server_jaas.conf**),文件属主应为kafka:kafka,权限不高于600
    • 避免将明文密码硬编码在配置中;如使用 SCRAM,建议通过kafka-configs.sh集中管理用户与迭代次数(如 iterations=8192)。
  • 授权与默认策略
    • 确认启用ACL并关闭默认放行:authorizer.class.name=kafka.security.authorizer.AclAuthorizer;allow.everyone.if.no.acl.found=false;super.users=User:admin
    • 抽查关键资源(如业务TopicGroupCluster)的 ACL,遵循最小权限(Read/Write/Create/Delete 等按需授予)。

二 加密与传输安全

  • TLS 配置核查
    • 确认启用SSL/TLS,仅允许TLSv1.2/TLSv1.3;配置强加密套件(如TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384)。
    • 核对证书与密钥库路径与权限:ssl.keystore.location、ssl.keystore.password、ssl.key.password、ssl.truststore.location、ssl.truststore.password;证书有效期与签发链(生产建议CA 签发)。
  • 监听器与端口
    • 核查未使用的端口(如9092)是否已关闭或仅限本地回环;对外暴露端口必须为SSLSASL_SSL
    • 客户端与 Broker、Broker 与 Broker 之间均应走加密通道

三 网络与主机加固

  • 防火墙与网络隔离
    • 使用ufw/iptables仅放行受信网段对9093(或实际加密端口)的访问;默认拒绝其他来源。
    • 对管理口与数据口进行网段隔离(如生产网/管理网分离),减少攻击面。
  • 系统账户与权限
    • Kafka 进程以非 root专用用户运行(如kafka:kafka),安装与数据目录(如**/opt/kafka**、/var/lib/kafka/data)属主与权限正确,禁止登录 shell。
    • 核查 systemd 服务文件(如**/etc/systemd/system/kafka.service**)的 User/Group、ProtectKernelTunables、NoNewPrivileges、PrivateTmp 等安全选项。
  • SSH 与系统基线
    • 禁止root远程登录,强制SSH 密钥认证,禁用空密码;定期应用Debian 安全更新(apt update/upgrade)。

四 日志、监控与补丁

  • 日志与审计
    • 核查 Kafka 与 JVM 日志(如server.logcontroller.log、GC 日志)是否开启并落盘;在 log4j/log4j2 中提升安全相关日志级别(如org.apache.kafka.security=INFO),记录认证/授权成功与失败事件。
    • 建立日志集中与留存策略(如rsyslog/ELK),对异常模式(频繁认证失败、越权访问)设置告警。
  • 监控与告警
    • 通过JMX暴露关键指标,结合Prometheus+Grafana监控 Broker 可用性、请求延迟、分区/副本异常、磁盘与网络;对Broker 宕机、磁盘空间不足等设定阈值告警。
  • 变更与补丁
    • 核查配置变更审计(版本化配置、变更单与回滚方案);保持KafkaDebian的安全补丁及时更新,关注官方与发行版安全通告。

五 快速核查清单

检查项 期望状态/要点
listeners 与 security.inter.broker.protocol 仅启用 SSL://SASL_SSL://;Broker 间通信加密
sasl.enabled.mechanisms 仅保留 SCRAM-SHA-256/512(必要时 Kerberos),无 PLAINTEXT
JAAS 文件 路径正确、权限 600、属主 kafka:kafka,无明文密码散落
ACL 启用与默认策略 AclAuthorizer 启用;allow.everyone.if.no.acl.found=false;super.users 最小化
TLS 版本与套件 TLSv1.2/1.3;强套件;证书有效且由可信 CA 签发
端口与防火墙 关闭或限制 9092;仅放通受信网段到 9093
运行账户与目录权限 进程以 kafka 运行;安装与数据目录属主 kafka:kafka,权限最小化
日志与监控 安全事件日志开启并集中;JMX 指标与告警到位;定期审计与复盘

0