关闭代理 API 访问

Close proxy API access

关闭代理API访问

大家好,

Grafana 8.2.5

我们有一个 Grafana 系统 8.2.5。他进行了安全审核,其中 API 访问权限受到批评。 我们为没有登录的用户启用了匿名访问。

[auth.anonymous]
enabled =true
org_name = IT.NRW
org_role = Viewer

当我尝试访问 Grafana 时:

curl http://<fqdn>:3000/api/datasources   -> {"message":"Permission denied"}

curl http://admin:<password>@<fqdn>:3000/api/datasources -> a valid json object with the datasource etc....

但是安全审计也发现了对数据源代理的访问? API.

curl http://<fqdn>:3000/api/datasources/proxy/3/query?db=<db>\&q=SELECT+*+FROM+<ts>\&epoch=ms

所以无论有无凭据,我都可以查询 API。

安全审计:拒绝服务 (DoS) 是可能的,可能是一些 SQL 注入。 我不想在这里讨论这个话题。

我必须关闭通过 API 的访问。至少来自其他网段。

有什么提示吗?

提前致谢。

我是grafana初学者!

我不抱怨,安全审核列出了两个主题(DoS/SQL 注入)。 我没有发现任何关于关闭代理 API 接口(仅 data_source_whitelist-ing)的配置可能性(grafana.ini)。

所以,我在 grafana 服务器前面的 NGIX 配置中添加了一些规则 禁止代理 API 访问 -> 抛出 40x 错误。 现在网络 UI 无法再获取和呈现 UI.

中的数据

我的结论:

  • grafana 架构定义:代理 API 将被网络 UIs 使用。
  • 有或没有凭据:用户可以使用代理触发查询 (DoS) API
  • 有或没有凭据:查询通过代理 API 传递到数据源,潜在 sql 注入是可能的