es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Acceso API de proxy limitado.

Cierre el acceso de la API del proxy

Hola comunidad,

Grafana 8.2.5

Tenemos un sistema Grafana 8.2.5 que ha pasado por una auditoría de seguridad, en la que se ha criticado el acceso a la API. Hemos habilitado un acceso anónimo para usuarios sin inicio de sesión.

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

Cuando intento acceder a Grafana como:

curl http://<fqdn>:3000/api/datasources   -> {"message":"Permiso denegado"}

curl http://admin:<password>@<fqdn>:3000/api/datasources -> un objeto json válido con la fuente de datos, etc...

Pero la auditoría de seguridad también encontró acceso al API del proxy de la fuente de datos.

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

Por lo tanto, puedo consultar la API siempre, con o sin credenciales.

Auditoría de seguridad: existe la posibilidad de un Denegación de Servicio (DoS), tal vez algunas inyecciones SQL. No quiero discutir este tema aquí.

Tengo que cerrar el acceso a través de la API. Al menos desde otros segmentos de red.

¿Alguna sugerencia?

Gracias de antemano.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Solución para cerrar el acceso de Proxy API en Grafana

    Para cerrar el acceso a través de la API, se pueden seguir los siguientes pasos:

    1. Deshabilitar el acceso anónimo en Grafana agregando lo siguiente al archivo de configuración de Grafana.
      [auth.anonymous]
      enabled = false
      

      Esto obligará a los usuarios a iniciar sesión con credenciales válidas en lugar de poder acceder a la API de forma anónima.

    2. Restringir el acceso al punto final de la API a direcciones IP o segmentos de red específicos utilizando un proxy inverso o un firewall.

      Por ejemplo, si está utilizando un proxy inverso de Nginx, puede agregar una lista blanca de IP al archivo de configuración del proxy:

      ubicación /api/datasources/proxy/ {
          allow 10.0.0.0/16;
          deny all;
          proxy_pass http://localhost:3000/;
      }
      

      Esto solo permite solicitudes desde el rango de direcciones IP 10.0.0.0/16 para acceder al punto final /api/datasources/proxy/. Todas las demás solicitudes serán denegadas.

    3. Actualizar Grafana a la última versión disponible, ya que puede contener correcciones y mejoras de seguridad que aborden las preocupaciones de seguridad mencionadas en la auditoría.

    Es importante tener en cuenta que deshabilitar el acceso anónimo y restringir el acceso a la API puede afectar la funcionalidad de las integraciones y complementos que dependen del acceso a la API. Por lo tanto, se recomienda probar estos cambios en un entorno no productivo antes de implementarlos en el entorno de producción.

Comments are closed.