Restrict Grafana anonymous access #28

Closed
opened 2026-07-25 19:37:15 +00:00 by lab · 0 comments
Owner

Grafana currently allows anonymous viewer access:

auth.anonymous:
  enabled: true
  org_role: Viewer

Since Grafana is behind Caddy but has no forward_auth, it's technically internet-exposed.

Options

  1. Disable anonymous auth entirely (recommended while Grafana still runs)
  2. Add forward_auth to the Grafana Caddy route
  3. Keep anonymous but restrict to internal IPs only

Steps

  1. Update monitoring/values.yaml to set auth.anonymous.enabled: false
  2. helm upgrade kube-prometheus-stack prometheus-community/kube-prometheus-stack -n monitoring -f monitoring/values.yaml

Update (2026-08-01)

Grafana is being retired in favor of Beszel + Uptime Kuma (see #11). This issue is short-term only: apply the minimal fix (option 1) while the stack runs in parallel, and it becomes moot on teardown (step 9 of #11) -- no need to invest in forward_auth for a service that's leaving.

Grafana currently allows anonymous viewer access: ```yaml auth.anonymous: enabled: true org_role: Viewer ``` Since Grafana is behind Caddy but has no `forward_auth`, it's technically internet-exposed. ## Options 1. Disable anonymous auth entirely (recommended while Grafana still runs) 2. Add `forward_auth` to the Grafana Caddy route 3. Keep anonymous but restrict to internal IPs only ## Steps 1. Update `monitoring/values.yaml` to set `auth.anonymous.enabled: false` 2. `helm upgrade kube-prometheus-stack prometheus-community/kube-prometheus-stack -n monitoring -f monitoring/values.yaml` ## Update (2026-08-01) Grafana is being **retired** in favor of Beszel + Uptime Kuma (see #11). This issue is short-term only: apply the minimal fix (option 1) while the stack runs in parallel, and it becomes **moot on teardown** (step 9 of #11) -- no need to invest in forward_auth for a service that's leaving.
lab added this to the Security Hardening milestone 2026-07-25 19:37:15 +00:00
lab closed this issue 2026-08-01 20:08:16 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lab/homelab#28
No description provided.