Files
michaelschiemer/docs/deployment/GRAFANA-VPN-NEXT-STEPS.md

3.2 KiB

Grafana VPN - N?chste Schritte

Aktueller Status ?

Grafana ist erreichbar - sowohl mit als auch ohne VPN

  • ? Tempor?re L?sung aktiv: ?ffentliche IP (89.246.96.244) ist in der IP-Allowlist
  • ?? Sicherheitsrisiko: Grafana ist ?ffentlich erreichbar

Ziel ??

Grafana sollte nur ?ber VPN erreichbar sein:

  • ? Mit VPN: Grafana erreichbar
  • ? Ohne VPN: 403-Fehler

Problem

Der Traffic l?uft nicht ?ber VPN, auch wenn VPN verbunden ist:

  • Traefik sieht die ?ffentliche Client-IP (89.246.96.244) statt der VPN-IP (10.8.0.7)
  • Ursache: DNS-Aufl?sung verwendet ?ffentliche DNS-Server statt VPN-DNS (10.8.0.1)

L?sung: VPN-Routing fixen

Option 1: DNS auf VPN-DNS setzen (EMPFOHLEN)

Pr?fe deine WireGuard-Config:

[Interface]
DNS = 10.8.0.1

Falls nicht gesetzt:

  1. ?ffne deine WireGuard-Config
  2. F?ge hinzu: DNS = 10.8.0.1
  3. Speichere und starte VPN neu

Test:

dig +short grafana.michaelschiemer.de
# Sollte zur?ckgeben: 10.8.0.1 (nicht 94.16.110.151!)

Browser testen:

  1. Browser-Cache leeren (oder Inkognito-Modus)
  2. ?ffne: https://grafana.michaelschiemer.de
  3. Sollte funktionieren, wenn DNS auf 10.8.0.1 zeigt

Option 2: Hosts-Datei verwenden (TEMPOR?R)

Linux/Mac:

echo "10.8.0.1 grafana.michaelschiemer.de" | sudo tee -a /etc/hosts

Windows:

# C:\Windows\System32\drivers\etc\hosts (als Administrator bearbeiten)
10.8.0.1 grafana.michaelschiemer.de

Pr?fen ob Traffic ?ber VPN l?uft

Nach dem Fix kannst du pr?fen:

# Auf dem Server
ssh deploy@94.16.110.151
cd ~/deployment/stacks/traefik
tail -5 logs/access.log | grep grafana | grep -oP '"ClientHost":"[^"]*"'

Erwartet:

  • Mit VPN: "ClientHost":"10.8.0.7" (VPN-IP) ?
  • Ohne VPN: Keine Logs oder 403-Fehler ?

Aktuell:

  • Mit VPN: "ClientHost":"89.246.96.244" (?ffentliche IP) ?
  • Ohne VPN: "ClientHost":"89.246.96.244" (?ffentliche IP) ?

Tempor?re IP-Erlaubnis entfernen

Sobald das VPN-Routing funktioniert (Traffic kommt ?ber VPN), entferne die tempor?re IP-Erlaubnis:

Automatisch (via Ansible)

cd deployment/ansible
ansible-playbook -i inventory/production.yml playbooks/remove-temporary-grafana-ip.yml

Manuell

# Auf dem Server
ssh deploy@94.16.110.151
cd ~/deployment/stacks/traefik/dynamic

# Entferne tempor?re IP
sed -i '/89.246.96.244\/32/d' middlewares.yml

# Restart Traefik
cd ~/deployment/stacks/traefik
docker compose restart traefik

Test nach Entfernung

  1. Mit VPN: https://grafana.michaelschiemer.de sollte funktionieren ?
  2. Ohne VPN: https://grafana.michaelschiemer.de sollte 403-Fehler geben ?

Zusammenfassung

JETZT:

  1. ? Grafana funktioniert (tempor?re IP-Erlaubnis)
  2. ?? Funktioniert auch ohne VPN (Sicherheitsrisiko)

N?CHSTE SCHRITTE:

  1. Fixe VPN-Routing (DNS auf 10.8.0.1 oder Hosts-Datei)
  2. Pr?fe dass Traffic ?ber VPN kommt (ClientHost: 10.8.0.7)
  3. Entferne tempor?re IP-Erlaubnis (via Playbook oder manuell)
  4. Teste: Mit VPN = OK, Ohne VPN = 403

Dokumentation:

  • docs/deployment/GRAFANA-VPN-SECURITY-PLAN.md - Detaillierter Plan
  • docs/deployment/VPN-ROUTING-FIX-DETAILED.md - VPN-Routing Fix
  • docs/deployment/VPN-ROUTING-CLIENT-CHECK.md - Client-Side Checks