Grafana 的暴露风险
Grafana 控制台暴露在公网时,几个配置项会叠加放大风险:未修改的初始管理员口令、开启的匿名访问、允许自助注册的开关。仪表盘通常聚合了基础设施与业务的核心指标,而数据源里往往还保存着数据库与云账号凭据。因此它既是信息泄露点,也是横向访问的跳板。
基本信息
| 组件 | Grafana 可视化与告警平台 |
|---|---|
| 默认端口 | 3000 |
| 配置文件 | /etc/grafana/grafana.ini,也可用环境变量覆盖 |
| 关键配置 | [auth.anonymous] 的 enabled、[users] 的 allow_sign_up、管理员初始口令 |
| 主要风险 | 匿名访问、自助注册、弱口令、数据源凭据集中存放 |
| 加固方向 | 强口令或 SSO、关闭匿名与注册、限制来源、跟进插件与版本公告 |
| 检查方式 | 查看配置文件与登录页面行为 |
核查项与期望
| 核查项 | 配置位置 | 期望状态 |
|---|---|---|
| 匿名访问 | [auth.anonymous] enabled | false |
| 自助注册 | [users] allow_sign_up | false |
| 管理员口令 | 配置或数据库中的管理账号 | 已改为强随机值 |
| 数据源凭据 | 数据源配置 | 按密级管理,使用只读账号 |
| 来源限制 | 反向代理与防火墙 | 仅内网可访问,公网走 VPN |
| 插件管理 | 插件列表 | 无来源不明的第三方插件 |
配置核查
配置核查
# 检查匿名访问配置块与注册开关
grep -n -A2 '\[auth.anonymous\]' /etc/grafana/grafana.ini # enabled 应为 false
grep -n 'allow_sign_up' /etc/grafana/grafana.ini # 应为 false
grep -n 'admin_password' /etc/grafana/grafana.ini # 初始口令必须已修改
# 未登录访问首页应跳转登录页
curl -s -o /dev/null -w '%{http_code}\n' https://grafana.example.com/收敛要点
收敛要点
1. 管理员口令强随机,或接入 SSO/LDAP 统一认证
2. 关闭匿名访问与自助注册
3. 控制台不对公网开放,访问走 VPN;需要公网展示时用只读快照方案
4. 插件与版本跟随安全公告更新,第三方数据源凭据按密级管理
5. 数据源使用只读账号,避免仪表盘成为改数据的入口典型使用场景
- 监控可视化平台上线的安全检查
- 季度巡检中的匿名访问与注册开关核查
- 渗透测试报告里未授权访问问题的整改
- 数据源凭据密级复核
- 公网展示需求评估:是否可以用只读快照替代
- 审计举证:给出访问控制配置与账号清单
Grafana 数据源中常保存数据库与云账号凭据,能读仪表盘的人可能通过 Explore 直接查询底层数据,所以匿名访问的风险不止于图表本身。
只关了注册入口,匿名访问配置仍为启用状态时,未登录用户依然能看到仪表盘内容。两个开关要一起核查。