首页/安全/漏洞与攻击面速查/Kibana 未认证访问核查
主机与服务风险面53 条

Kibana 未认证访问核查

Kibana 在未启用 Elastic 安全功能时默认不校验登录,5601 端口暴露后,仪表盘、索引模式与部分数据可被匿名浏览;Dev Tools 控制台还能直接向 Elasticsearch 发起查询。

漏洞与攻击面速查安全更新于 2026-10-13

Kibana 未认证访问的问题

Kibana 在未启用 Elastic Stack 安全功能时默认不校验登录,5601 端口一旦可达,仪表盘、索引模式与部分数据就能被匿名浏览。内置的 Dev Tools 控制台还能直接向 Elasticsearch 发起查询,等于把数据读取能力一并放出去。这个问题通常与 Elasticsearch 9200 同样缺少认证一起出现,两者要同时核查。

基本信息

组件Kibana 与后端 Elasticsearch
默认端口5601 Kibana,9200 Elasticsearch
主要风险未启用认证时可匿名访问、Dev Tools 可直接查询、9200 直连无认证
加固方向启用安全功能(TLS 加账号体系)、反向代理加认证、限制来源、收敛 Dev Tools 权限
检查方式未认证请求 /api/status 与 /app/kibana 观察返回码
关联检查Kibana 与 Elasticsearch 一起核查,避免只挡住一端

核查项与期望

核查项检查方式期望状态
匿名访问请求 /api/status返回 401
应用页面请求 /app/kibana跳转登录页
Dev Tools界面中的开发工具入口仅授权角色可见
后端 Elasticsearch直连 9200 根路径需要认证
来源限制反向代理与防火墙规则仅内网或指定网段可访问
索引敏感度检查索引中的字段敏感字段已脱敏或受限

匿名访问测试

匿名访问测试
# 未认证请求 Kibana,期望 401
curl -s -o /dev/null -w '%{http_code}\n' http://kibana.example.com:5601/api/status
curl -s -o /dev/null -w '%{http_code}\n' http://kibana.example.com:5601/app/kibana
# 顺带核查后端 Elasticsearch 是否也需要认证
curl -s -o /dev/null -w '%{http_code}\n' http://es.example.com:9200/
# 期望 401;返回 200 表示未启用认证

收敛要点

收敛要点
1. 启用 Elastic Stack 安全功能(TLS 加账号体系)
2. 无法启用时置于带认证的反向代理之后,并限制来源网段
3. 关闭或收敛 Dev Tools 的使用权限,按角色授予
4. 关注 Elastic 安全公告中的 Kibana 与 Elasticsearch 修复版本
5. 审计异常查询与批量导出行为,监控索引访问

典型使用场景

  • 日志与可观测平台上线前的访问控制核查
  • 季度巡检中的未认证服务排查
  • 渗透测试报告里未授权访问问题的整改
  • 内网数据平台对外提供访问前的复核
  • 应急时确认是否存在异常查询与数据导出
  • 审计举证:给出访问控制配置与账号清单
Kibana 匿名可读往往意味着 Elasticsearch 同样缺少认证。两个组件要一起核查,只给 Kibana 加认证而 9200 仍可直连,等于留了后门。
通过 Dev Tools 可以直接执行查询语句,读取数据的门槛与登录用户相同。把 Dev Tools 开放给只读角色,也会扩大数据暴露面。

易错点

  • 只给 Kibana 加了反向代理认证,Elasticsearch 9200 仍可直连
  • 启用认证只覆盖查询端,数据摄取与采集通道未同步调整,业务中断后又被整体回退
  • Dev Tools 对所有角色开放,只读账号也能执行复杂查询拉取数据
  • 索引中保存敏感字段(身份信息、日志里的凭据),未做字段级脱敏
  • 匿名可读长期存在且没有访问告警,数据被批量导出无人发现

数据来源与参考

  • Elastic 文档(Kibana 安全与访问控制)
  • Elastic 安全公告
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌