3.8 KiB
Grafana VPN-Sicherheit - Plan zur Entfernung der tempor?ren IP-Erlaubnis
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
?? Ziel: Grafana sollte nur ?ber VPN erreichbar sein
Problem
Der Traffic l?uft nicht ?ber VPN, auch wenn VPN verbunden ist:
- Traefik sieht die ?ffentliche IP (
89.246.96.244) statt der VPN-IP (10.8.0.7) - Deshalb funktioniert Grafana auch ohne VPN (wegen tempor?rer IP-Erlaubnis)
Warum funktioniert Traffic nicht ?ber VPN?
Problem: DNS-Aufl?sung
Wenn du grafana.michaelschiemer.de aufrufst:
- Mit ?ffentlichem DNS: Wird auf
94.16.110.151(?ffentliche IP) aufgel?st - Mit VPN-DNS (
10.8.0.1): Wird auf10.8.0.1(VPN-IP) aufgel?st
Aktuell: Dein System verwendet ?ffentliche DNS ? Traffic geht direkt ?ber Internet (nicht ?ber VPN)
L?sung: DNS auf VPN-DNS setzen
Schritt 1: Pr?fe deine WireGuard-Config
?ffne deine WireGuard-Config und pr?fe:
[Interface]
DNS = 10.8.0.1
Schritt 2: WireGuard neu starten
- Trenne die VPN-Verbindung
- Starte sie neu
- Pr?fe ob DNS jetzt
10.8.0.1ist
Schritt 3: DNS-Test
# Teste DNS-Aufl?sung
dig +short grafana.michaelschiemer.de
# Sollte zur?ckgeben:
# - 10.8.0.1 (wenn VPN-DNS verwendet wird) ?
# - 94.16.110.151 (wenn ?ffentliche DNS verwendet wird) ?
Schritt 4: Browser testen
- Browser-Cache leeren (oder Inkognito-Modus)
- ?ffne:
https://grafana.michaelschiemer.de - Sollte funktionieren, wenn DNS auf
10.8.0.1zeigt
Alternative: Hosts-Datei verwenden
Falls DNS nicht automatisch funktioniert:
Linux/Mac:
echo "10.8.0.1 grafana.michaelschiemer.de" | sudo tee -a /etc/hosts
Windows:
# C:\Windows\System32\drivers\etc\hosts (als Administrator)
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 pr?fen
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 (weil 403-Fehler) ?
Aktuell:
- Mit VPN:
"ClientHost":"89.246.96.244"(?ffentliche IP) ? - Ohne VPN:
"ClientHost":"89.246.96.244"(?ffentliche IP) ?
Plan: Tempor?re IP-Erlaubnis entfernen
Sobald das VPN-Routing funktioniert (Traffic kommt ?ber VPN), entferne die tempor?re IP-Erlaubnis:
Schritt 1: Pr?fe dass Traffic ?ber VPN kommt
# Auf dem Server pr?fen
ssh deploy@94.16.110.151
cd ~/deployment/stacks/traefik
# Mache einen Zugriff auf Grafana (mit VPN verbunden)
# Dann pr?fe:
tail -5 logs/access.log | grep grafana | grep -oP '"ClientHost":"[^"]*"'
# Sollte zeigen: "ClientHost":"10.8.0.7" (VPN-IP)
Schritt 2: Entferne tempor?re IP-Erlaubnis
# Auf dem Server
cd ~/deployment/stacks/traefik/dynamic
# Entferne die Zeile: - "89.246.96.244/32"
sed -i '/89.246.96.244\/32/d' middlewares.yml
Schritt 3: Traefik neu starten
cd ~/deployment/stacks/traefik
docker compose restart traefik
Schritt 4: Test
- Mit VPN: Grafana sollte erreichbar sein ?
- Ohne VPN: Grafana sollte 403-Fehler geben ?
Zusammenfassung
JETZT:
- ? Grafana funktioniert (tempor?re IP-Erlaubnis)
- ?? Funktioniert auch ohne VPN (Sicherheitsrisiko)
N?CHSTE SCHRITTE:
- Fixe VPN-Routing (DNS auf
10.8.0.1oder Hosts-Datei) - Pr?fe dass Traffic ?ber VPN kommt (ClientHost: 10.8.0.7)
- Entferne tempor?re IP-Erlaubnis
- Teste: Mit VPN = OK, Ohne VPN = 403
Script zum Entfernen der tempor?ren IP
Ich kann ein Ansible-Playbook erstellen, das:
- Pr?ft ob Traffic ?ber VPN kommt
- Tempor?re IP-Erlaubnis entfernt (wenn Traffic ?ber VPN kommt)
- Traefik neu startet
Soll ich das Playbook erstellen?