【问题标题】:Close proxy API access关闭代理 API 访问
【发布时间】:2022-01-02 00:55:59
【问题描述】:

关闭代理 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? Grafana 中的 SQL 注入永无止境的故事community.grafana.com/t/how-to-avoid-sql-injection-in-grafana/… 尝试购买昂贵的 Web 应用程序防火墙以避免 SQL 注入/DoS,您将永远享受白名单的乐趣。

标签: grafana grafana-api


【解决方案1】:

我是 grafana 初学者!

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

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

我的结论:

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

【讨论】:

    猜你喜欢
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 2020-01-05
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多