Compare commits
3 Commits
ab58cde4d6
...
66d712c05b
| Author | SHA1 | Date | |
|---|---|---|---|
| 66d712c05b | |||
| 755de7c164 | |||
| feaa5069c4 |
186
IT_Abteilung/Wireguard.md
Normal file
186
IT_Abteilung/Wireguard.md
Normal file
@@ -0,0 +1,186 @@
|
||||
---
|
||||
title: Wireguard VPN Profice Dokumentation
|
||||
description:
|
||||
published: true
|
||||
date: 2026-02-23T09:19:08.176Z
|
||||
tags:
|
||||
editor: markdown
|
||||
dateCreated: 2026-02-23T09:18:36.441Z
|
||||
---
|
||||
|
||||
# 🛡️ WireGuard VPN Dokumentation: Zentraler Sicherheits-Gateway
|
||||
|
||||
Diese Dokumentation beschreibt die Installation und Verwaltung des WireGuard VPN-Servers, der als exklusiver Zugangspunkt für unsere internen Dienste fungiert. Aktuell sichert dieser den Zugriff auf **wiki.profice.de** und **n8n.profice.de**.
|
||||
|
||||
---
|
||||
|
||||
## 1. Funktionsprinzip und Architektur
|
||||
|
||||
WireGuard agiert als "Türsteher" für unser Netzwerk. Anstatt Dienste direkt dem öffentlichen Internet auszusetzen, lauscht der WireGuard-Container auf einem einzelnen UDP-Port. Nur Geräte mit einem gültigen kryptografischen Schlüssel können einen Tunnel aufbauen.
|
||||
|
||||
* **Modus:** Docker-basiertes Deployment.
|
||||
* **Zweck:** Verschlüsselter Zugriff auf das interne Docker-Netzwerk und IP-Whitelisting für Traefik.
|
||||
* **Abgedeckte Domains:** * `wiki.profice.de`
|
||||
* `n8n.profice.de`
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 2. Installation (Docker Compose)
|
||||
|
||||
Wir nutzen das bewährte Image von **linuxserver/wireguard**, da es eine einfache Verwaltung von Peers (Clients) über Umgebungsvariablen ermöglicht.
|
||||
|
||||
### 2.1 Docker Compose Konfiguration
|
||||
Die Datei befindet sich auf dem Server unter `/opt/wireguard/docker-compose.yml`.
|
||||
|
||||
```yaml
|
||||
version: "3.8"
|
||||
services:
|
||||
wireguard:
|
||||
image: lscr.io/linuxserver/wireguard:latest
|
||||
container_name: wireguard
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- SYS_MODULE
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Berlin
|
||||
- SERVERURL=vpn.profice.de # Deine öffentliche IP oder DynDNS
|
||||
- SERVERPORT=51820
|
||||
- PEERS=AdminHandy,AdminLaptop,Mitarbeiter1 # Namen der Endgeräte
|
||||
- PEERDNS=1.1.1.1 # Optionaler DNS
|
||||
- INTERNAL_SUBNET=10.13.13.0
|
||||
- ALLOWEDIPS=0.0.0.0/0 # Oder spezifische interne IPs
|
||||
volumes:
|
||||
- /opt/wireguard/config:/config
|
||||
- /lib/modules:/lib/modules
|
||||
ports:
|
||||
- 51820:51820/udp
|
||||
sysctls:
|
||||
- net.ipv4.conf.all.src_valid_mark=1
|
||||
restart: always
|
||||
```
|
||||
## 3. Geräte-Verbindung (Client Setup)
|
||||
|
||||
Sobald der Container gestartet ist, erstellt WireGuard automatisch die notwendigen Konfigurationsprofile für alle in der `PEERS`-Variable definierten Endgeräte.
|
||||
|
||||
### 3.1 Smartphone (iOS / Android)
|
||||
Die einfachste Methode für mobile Geräte ist die Verwendung des QR-Codes.
|
||||
1. Installieren Sie die **WireGuard App** aus dem offiziellen App Store oder Google Play Store.
|
||||
2. Öffnen Sie ein Terminal auf dem Server und lassen Sie sich den QR-Code anzeigen:
|
||||
```bash
|
||||
docker logs -f wireguard
|
||||
### 3.1 Mobile Verbindung (Smartphone/Tablet)
|
||||
Die einfachste Methode für mobile Geräte ist die Verwendung des QR-Codes.
|
||||
|
||||
1. **App installieren:** Installieren Sie die offizielle **WireGuard App** aus dem Google Play Store oder Apple App Store.
|
||||
2. **QR-Code anzeigen:** Öffnen Sie ein Terminal auf dem Server und lassen Sie sich den Code in den Logs anzeigen:
|
||||
```bash
|
||||
docker logs wireguard
|
||||
```
|
||||
3. **Hinzufügen:** Wählen Sie in der App das **"+" Icon** -> **Scan from QR code**.
|
||||
4. **Verbindung:** Scannen Sie den Code für Ihren Peer (z. B. `peer_AdminHandy`) und aktivieren Sie den Tunnel.
|
||||
|
||||
---
|
||||
|
||||
### 3.2 Desktop-Verbindung (Windows / macOS / Linux)
|
||||
Für Desktop-Rechner verwenden wir die Konfigurationsdateien (`.conf`).
|
||||
|
||||
1. **Konfiguration finden:** Navigieren Sie auf dem Server in den Ordner des jeweiligen Peers:
|
||||
```bash
|
||||
cd /opt/wireguard/config/peer_<NAME>/
|
||||
```
|
||||
2. **Download:** Kopieren Sie die Datei `peer_<NAME>.conf` sicher auf Ihren Computer (z. B. via SCP oder SFTP).
|
||||
3. **Import:** * Installieren Sie den Client von [wireguard.com](https://www.wireguard.com).
|
||||
* Wählen Sie **Tunnel aus Datei importieren** und wählen Sie die `.conf`-Datei aus.
|
||||
4. **Aktivieren:** Klicken Sie auf **Aktivieren**, um die gesicherte Verbindung herzustellen.
|
||||
|
||||
---
|
||||
|
||||
## 4. Integration mit Traefik & Domain-Schutz
|
||||
|
||||
Der Schutz der Domains `wiki.profice.de` und `n8n.profice.de` erfolgt durch eine Kombination aus verschlüsseltem Tunnel und **IP-Whitelisting** auf Proxy-Ebene.
|
||||
|
||||
### 4.1 IP-Whitelisting in Traefik
|
||||
Damit nur VPN-Nutzer auf die Weboberflächen zugreifen können, wird eine Middleware definiert. Diese lässt ausschließlich Traffic aus dem WireGuard-Subnetz zu.
|
||||
|
||||
**Beispiel für die Traefik-Konfiguration (Dynamic File Config):**
|
||||
```yaml
|
||||
http:
|
||||
middlewares:
|
||||
vpn-only-access:
|
||||
ipWhiteList:
|
||||
sourceRange:
|
||||
- "10.13.13.0/24" # Das interne WireGuard-Subnetz
|
||||
- "172.18.0.0/16" # Optional: Das interne Docker-Netzwerk
|
||||
```
|
||||
### 4.2 Zuweisung zu den Diensten
|
||||
|
||||
Damit die Sicherheits-Middleware aktiv wird, muss sie in den Docker-Labels der jeweiligen Dienste (**n8n** und **Wiki.js**) hinterlegt werden. Dies teilt Traefik mit, dass jede Anfrage an diese Domains zuerst die IP-Whitelist-Prüfung bestehen muss.
|
||||
|
||||
Fügen Sie folgende Zeilen zu den entsprechenden Containern in Ihrer `docker-compose.yml` hinzu:
|
||||
|
||||
**Für n8n:**
|
||||
```yaml
|
||||
labels:
|
||||
- "traefik.http.routers.n8n.middlewares=vpn-only-access@file"
|
||||
```
|
||||
**Für Wiki.js:**
|
||||
```yaml
|
||||
labels:
|
||||
- "traefik.http.routers.wiki.middlewares=vpn-only-access@file"
|
||||
```
|
||||
## 5. Verwaltung neuer Benutzer (Peers)
|
||||
|
||||
Die Verwaltung von Benutzern und Geräten erfolgt zentral über die Konfiguration des WireGuard-Docker-Containers. Der Prozess ist hochgradig automatisiert:
|
||||
|
||||
### 5.1 Einen neuen Peer hinzufügen
|
||||
Um einen neuen Mitarbeiter oder ein weiteres Gerät (z. B. ein Tablet) hinzuzufügen, gehen Sie wie folgt vor:
|
||||
|
||||
1. **Konfigurationsdatei öffnen:** Öffnen Sie die `docker-compose.yml` im WireGuard-Installationsverzeichnis (meist `/opt/wireguard/`).
|
||||
2. **Peer-Liste erweitern:** Suchen Sie unter `environment:` die Variable `PEERS=`. Fügen Sie den neuen Namen durch ein Komma getrennt hinzu.
|
||||
* *Wichtig:* Keine Leerzeichen verwenden und nur alphanumerische Zeichen nutzen.
|
||||
* *Beispiel:* `PEERS=AdminPC,ChefHandy,Mitarbeiter_A`
|
||||
3. **Änderungen anwenden:** Starten Sie den Stack neu. WireGuard erkennt die Änderung und generiert im Hintergrund automatisch neue Schlüsselpaare und Konfigurationsdateien:
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### 5.2 Zugriff auf die Zugangsdaten
|
||||
Nach dem Neustart erstellt der Container für jeden Peer einen eigenen Unterordner. Diese finden Sie auf dem Host-Server unter:
|
||||
` /opt/wireguard/config/peer_<Name>/`
|
||||
|
||||
In diesem Ordner befinden sich:
|
||||
* **peer_<Name>.conf:** Die Konfigurationsdatei für Desktop-Clients.
|
||||
* **peer_<Name>.png:** Der QR-Code für die schnelle Einrichtung auf mobilen Endgeräten.
|
||||
|
||||
---
|
||||
|
||||
## 6. Fehlerbehebung (Troubleshooting)
|
||||
|
||||
Falls Probleme bei der Verbindung oder beim Zugriff auf die geschützten Domains auftreten, nutzen Sie bitte die folgende Tabelle zur Diagnose:
|
||||
|
||||
| Problem | Mögliche Ursache | Lösung |
|
||||
| :--- | :--- | :--- |
|
||||
| **Kein Handshake möglich** | Der UDP-Port 51820 ist durch eine Firewall blockiert. | Stellen Sie sicher, dass Port **51820/UDP** am Router und in der Server-Firewall (z.B. UFW) für externe Anfragen geöffnet ist. |
|
||||
| **VPN steht, aber kein Internet** | Das IP-Forwarding am Host-System ist deaktiviert. | Prüfen Sie dies mit `sysctl net.ipv4.ip_forward`. Der Wert muss auf `1` stehen. Aktivieren Sie es ggf. in der `/etc/sysctl.conf`. |
|
||||
| **Domains nicht auflösbar** | Die DNS-Konfiguration im VPN-Profil ist inkorrekt. | Prüfen Sie die `PEERDNS`-Einstellung in der Docker-Konfiguration. Empfohlen ist ein stabiler DNS wie `1.1.1.1` oder der interne DNS des Netzwerks. |
|
||||
| **Traefik meldet "403 Forbidden"** | Die IP-Adresse des VPN-Clients ist nicht in der Whitelist der Traefik-Middleware. | Kontrollieren Sie die Traefik-Konfiguration. Das Subnetz des VPNs (z. B. `10.13.13.0/24`) muss explizit in der `ipWhiteList`-Middleware erlaubt sein. |
|
||||
| **Verbindung bricht häufig ab** | Instabile Internetverbindung oder MTU-Probleme. | Testen Sie eine geringere MTU-Größe in der Client-Konfiguration (z. B. `MTU = 1280`). |
|
||||
|
||||
---
|
||||
|
||||
## 7. Sicherheitsrevisions-Log
|
||||
Sämtliche Änderungen an der Peer-Liste oder den Firewall-Regeln müssen im Git-Repository des Infrastruktur-Teams dokumentiert werden, um die Nachvollziehbarkeit des Zugriffsmanagements zu gewährleisten.
|
||||
|
||||
---
|
||||
|
||||
**Dokumentationsstatus:** Aktiv ✅
|
||||
**Abteilung:** IT-Security / DevOps
|
||||
**Verantwortlich:** Systemadministrator
|
||||
**Letzte Aktualisierung:** 23.02.2026
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
title: n8n Dokumentation
|
||||
title: N8N Profice Dokumentation
|
||||
description:
|
||||
published: true
|
||||
date: 2026-02-23T08:50:38.634Z
|
||||
date: 2026-02-23T09:19:32.266Z
|
||||
tags:
|
||||
editor: markdown
|
||||
dateCreated: 2026-02-23T08:44:20.329Z
|
||||
|
||||
Reference in New Issue
Block a user