erster commit nach bestandsaufnahme
This commit is contained in:
commit
c5fb4daf0f
10 changed files with 930 additions and 0 deletions
101
VPS/backup.md
Normal file
101
VPS/backup.md
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
# Backup Dokumentation
|
||||||
|
|
||||||
|
## Backup Strategie
|
||||||
|
|
||||||
|
Die VPS wird per restic auf eine Hetzner Storage Box gesichert.
|
||||||
|
|
||||||
|
Transport:
|
||||||
|
- SFTP
|
||||||
|
|
||||||
|
Backup Tool:
|
||||||
|
- restic
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Gesicherte Verzeichnisse
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt
|
||||||
|
/etc/wireguard
|
||||||
|
/etc/ssh
|
||||||
|
/etc/letsencrypt
|
||||||
|
```
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Backup Ziel
|
||||||
|
|
||||||
|
## Hetzner Storage Box
|
||||||
|
|
||||||
|
Repository Struktur:
|
||||||
|
|
||||||
|
```text
|
||||||
|
backups/vps
|
||||||
|
```
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Retention Policy
|
||||||
|
|
||||||
|
| Typ | Anzahl |
|
||||||
|
|—|—|
|
||||||
|
| Daily | 7 |
|
||||||
|
| Weekly | 4 |
|
||||||
|
| Monthly | 6 |
|
||||||
|
|
||||||
|
Zusätzlich:
|
||||||
|
- regelmäßiges prune
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Backup Zeitplan
|
||||||
|
|
||||||
|
## systemd timer
|
||||||
|
|
||||||
|
Nächster Lauf:
|
||||||
|
- täglich um 02:30 UTC
|
||||||
|
|
||||||
|
Timer:
|
||||||
|
- restic-backup.timer
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Ziele der Backupstrategie
|
||||||
|
|
||||||
|
- vollständige Wiederherstellbarkeit der VPS
|
||||||
|
- schnelle Recovery
|
||||||
|
- Schutz vor Fehlkonfigurationen
|
||||||
|
- Schutz vor Datenverlust
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Wiederherstellungsziele
|
||||||
|
|
||||||
|
Die folgenden Bereiche müssen wiederherstellbar sein:
|
||||||
|
|
||||||
|
| Bereich | Wichtigkeit |
|
||||||
|
|—|—|
|
||||||
|
| Docker Stacks | kritisch |
|
||||||
|
| Reverse Proxy | kritisch |
|
||||||
|
| authentik | kritisch |
|
||||||
|
| WireGuard | kritisch |
|
||||||
|
| Zertifikate | kritisch |
|
||||||
|
| SSH Zugriff | kritisch |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Verbesserungspotenzial
|
||||||
|
|
||||||
|
## Noch offen
|
||||||
|
|
||||||
|
- Restore-Test dokumentieren
|
||||||
|
- Backup Monitoring ergänzen
|
||||||
|
- Backup Erfolg automatisch prüfen
|
||||||
|
- Alerting bei Fehlern
|
||||||
|
- Dokumentierte Recovery-Anleitung
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Langfristiges Ziel
|
||||||
|
|
||||||
|
Die VPS soll vollständig reproduzierbar und innerhalb kurzer Zeit wiederherstellbar sein.
|
||||||
128
VPS/docker.md
Normal file
128
VPS/docker.md
Normal file
|
|
@ -0,0 +1,128 @@
|
||||||
|
# Docker Übersicht
|
||||||
|
|
||||||
|
## Docker Netzwerke
|
||||||
|
|
||||||
|
| Netzwerk | Zweck |
|
||||||
|
|—|—|
|
||||||
|
| proxy | Hauptnetzwerk für Reverse Proxy und Dienste |
|
||||||
|
| authentik_authentik | internes authentik Netzwerk |
|
||||||
|
| nextcloud_internal | internes Nextcloud Netzwerk |
|
||||||
|
| teamspeak_default | isoliertes TeamSpeak Netzwerk |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Hauptnetzwerk „proxy“
|
||||||
|
|
||||||
|
## Netzwerk
|
||||||
|
|
||||||
|
- Name: proxy
|
||||||
|
- Subnetz: 172.20.0.0/16
|
||||||
|
|
||||||
|
Das proxy-Netzwerk dient als zentrale Kommunikationsschicht zwischen:
|
||||||
|
- Nginx Proxy Manager
|
||||||
|
- öffentlichen Diensten
|
||||||
|
- internen Reverse-Proxy-Zielen
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Container
|
||||||
|
|
||||||
|
| Container | Aufgabe | Netzwerk |
|
||||||
|
|—|—|—|
|
||||||
|
| npm | Reverse Proxy | proxy |
|
||||||
|
| authentik-server | SSO Frontend | proxy |
|
||||||
|
| authentik-worker | Hintergrundprozesse | authentik_authentik |
|
||||||
|
| authentik-postgresql | Datenbank | authentik_authentik |
|
||||||
|
| authentik-redis | Cache | authentik_authentik |
|
||||||
|
| nextcloud | Cloud-Plattform | proxy |
|
||||||
|
| nextcloud-db | MariaDB | nextcloud_internal |
|
||||||
|
| nextcloud-redis | Redis Cache | nextcloud_internal |
|
||||||
|
| vaultwarden | Passwortmanager | proxy |
|
||||||
|
| forgejo | Git Hosting | proxy |
|
||||||
|
| collabora | Office Integration | proxy |
|
||||||
|
| uptime-kuma | Verfügbarkeitsmonitoring | proxy |
|
||||||
|
| netdata | Monitoring | proxy |
|
||||||
|
| adguardhome | DNS | proxy |
|
||||||
|
| teamspeak | Voice Server | teamspeak_default |
|
||||||
|
| site | Statische Webseite | proxy |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Öffentlich erreichbare Ports
|
||||||
|
|
||||||
|
| Port | Dienst |
|
||||||
|
|—|—|
|
||||||
|
| 80 | NPM HTTP |
|
||||||
|
| 443 | NPM HTTPS |
|
||||||
|
| 9000 | authentik |
|
||||||
|
| 3000 | Forgejo |
|
||||||
|
| 2222 | Forgejo SSH |
|
||||||
|
| 9987/UDP | TeamSpeak |
|
||||||
|
| 10011 | TeamSpeak ServerQuery |
|
||||||
|
| 30033 | TeamSpeak Dateitransfer |
|
||||||
|
| 51820/UDP | WireGuard |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Localhost-only Bindings
|
||||||
|
|
||||||
|
| Port | Dienst |
|
||||||
|
|—|—|
|
||||||
|
| 81 | NPM Admin |
|
||||||
|
| 3001 | Uptime Kuma |
|
||||||
|
| 3002 | AdGuard UI |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Docker Speicherstruktur
|
||||||
|
|
||||||
|
## Basisverzeichnis
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt/
|
||||||
|
```
|
||||||
|
|
||||||
|
Jeder Dienst besitzt aktuell ein eigenes Verzeichnis.
|
||||||
|
|
||||||
|
Beispiele:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt/authentik
|
||||||
|
/opt/nextcloud
|
||||||
|
/opt/npm
|
||||||
|
```
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Persistenzstrategie
|
||||||
|
|
||||||
|
Die VPS nutzt überwiegend:
|
||||||
|
- Bind Mounts
|
||||||
|
- lokale persistente Verzeichnisse
|
||||||
|
|
||||||
|
anstatt vieler benannter Docker-Volumes.
|
||||||
|
|
||||||
|
Vorteile:
|
||||||
|
- einfachere Backups
|
||||||
|
- einfachere Migration
|
||||||
|
- einfachere Wiederherstellung
|
||||||
|
- bessere Übersichtlichkeit
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Aktuelle Beobachtungen
|
||||||
|
|
||||||
|
## Positiv
|
||||||
|
|
||||||
|
- saubere Trennung der Dienste
|
||||||
|
- wenige Netzwerke
|
||||||
|
- kaum Docker-Müll
|
||||||
|
- minimale Anzahl ungenutzter Volumes
|
||||||
|
- strukturierter Aufbau
|
||||||
|
|
||||||
|
## Verbesserungspotenzial
|
||||||
|
|
||||||
|
- unnötige öffentliche Portfreigaben reduzieren
|
||||||
|
- Compose-Strukturen vereinheitlichen
|
||||||
|
- Labels und Restart Policies standardisieren
|
||||||
|
- Netzwerk-Namenskonventionen vereinheitlichen
|
||||||
47
VPS/known-issues.md
Normal file
47
VPS/known-issues.md
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Bekannte Themen / Verbesserungspotenzial
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
- authentik aktuell direkt öffentlich erreichbar
|
||||||
|
- Forgejo öffentlich exposed
|
||||||
|
- öffentliche Ports teilweise historisch gewachsen
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
## Dokumentation
|
||||||
|
|
||||||
|
- WireGuard Peers noch nicht vollständig benannt
|
||||||
|
- Domains/Subdomains noch nicht dokumentiert
|
||||||
|
- Compose Standards noch nicht vereinheitlicht
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
## Monitoring
|
||||||
|
|
||||||
|
- kein zentrales Alerting
|
||||||
|
- Backup Monitoring fehlt
|
||||||
|
- VPN Monitoring ausbaufähig
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
## Docker
|
||||||
|
|
||||||
|
- Compose-Dateien unterschiedlich aufgebaut
|
||||||
|
- Netzwerk-Namenskonventionen uneinheitlich
|
||||||
|
- Logging noch nicht standardisiert
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
## Backups
|
||||||
|
|
||||||
|
- Restore-Prozess noch nicht dokumentiert
|
||||||
|
- kein regelmäßiger Restore-Test
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
## Langfristige Themen
|
||||||
|
|
||||||
|
- Matrix Server
|
||||||
|
- zentrale Benachrichtigungen
|
||||||
|
- vollständige Infrastructure-as-Code Struktur
|
||||||
|
- automatische Inventarisierung
|
||||||
65
VPS/maintenance.md
Normal file
65
VPS/maintenance.md
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
# Wartung und Betrieb
|
||||||
|
|
||||||
|
## Regelmäßige Aufgaben
|
||||||
|
|
||||||
|
### Täglich
|
||||||
|
|
||||||
|
- Monitoring prüfen
|
||||||
|
- Uptime Kuma Alerts prüfen
|
||||||
|
- CrowdSec Events prüfen
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
### Wöchentlich
|
||||||
|
|
||||||
|
- Docker Container Status prüfen
|
||||||
|
- verfügbare Updates prüfen
|
||||||
|
- Backup Logs prüfen
|
||||||
|
- freien Speicherplatz prüfen
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
### Monatlich
|
||||||
|
|
||||||
|
- Restore-Prozess testen
|
||||||
|
- ungenutzte Docker Images entfernen
|
||||||
|
- Logs prüfen
|
||||||
|
- Sicherheitsreview durchführen
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Automatische Wartung
|
||||||
|
|
||||||
|
## Bereits vorhanden
|
||||||
|
|
||||||
|
| Funktion | Status |
|
||||||
|
|—|—|
|
||||||
|
| apt Updates | aktiv |
|
||||||
|
| Security Updates | aktiv |
|
||||||
|
| restic Backup | aktiv |
|
||||||
|
| logrotate | aktiv |
|
||||||
|
| CrowdSec Updates | aktiv |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Geplante Automatisierung
|
||||||
|
|
||||||
|
| Funktion | Status |
|
||||||
|
|—|—|
|
||||||
|
| Docker Cleanup | geplant |
|
||||||
|
| Journal Cleanup | geplant |
|
||||||
|
| Backup Validation | geplant |
|
||||||
|
| Health Reports | geplant |
|
||||||
|
| Matrix Alerts | geplant |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Wartungsziele
|
||||||
|
|
||||||
|
Die VPS soll möglichst:
|
||||||
|
- wartungsarm
|
||||||
|
- stabil
|
||||||
|
- nachvollziehbar
|
||||||
|
- automatisiert
|
||||||
|
|
||||||
|
betrieben werden.
|
||||||
121
VPS/monitoring.md
Normal file
121
VPS/monitoring.md
Normal file
|
|
@ -0,0 +1,121 @@
|
||||||
|
# Monitoring Dokumentation
|
||||||
|
|
||||||
|
## Monitoring Stack
|
||||||
|
|
||||||
|
Die VPS nutzt aktuell mehrere Monitoring-Lösungen mit unterschiedlichen Aufgabenbereichen.
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Verwendete Systeme
|
||||||
|
|
||||||
|
| Dienst | Aufgabe |
|
||||||
|
|—|—|
|
||||||
|
| Netdata | Live-Systemmonitoring |
|
||||||
|
| Uptime Kuma | Verfügbarkeitsmonitoring |
|
||||||
|
| CrowdSec | Sicherheitsmonitoring |
|
||||||
|
| Ubuntu Timer | Wartung / Updates |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Netdata
|
||||||
|
|
||||||
|
## Aufgabe
|
||||||
|
|
||||||
|
Netdata überwacht:
|
||||||
|
- CPU
|
||||||
|
- RAM
|
||||||
|
- Prozesse
|
||||||
|
- Netzwerk
|
||||||
|
- Docker
|
||||||
|
- Festplatten
|
||||||
|
- Systemmetriken
|
||||||
|
|
||||||
|
Container:
|
||||||
|
- netdata
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Uptime Kuma
|
||||||
|
|
||||||
|
## Aufgabe
|
||||||
|
|
||||||
|
Uptime Kuma überwacht:
|
||||||
|
- externe Erreichbarkeit
|
||||||
|
- HTTPS Checks
|
||||||
|
- Zertifikate
|
||||||
|
- Dienste
|
||||||
|
- Domains
|
||||||
|
|
||||||
|
Container:
|
||||||
|
- uptime-kuma
|
||||||
|
|
||||||
|
Localhost Binding:
|
||||||
|
|
||||||
|
```text
|
||||||
|
127.0.0.1:3001
|
||||||
|
```
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# CrowdSec
|
||||||
|
|
||||||
|
## Aufgabe
|
||||||
|
|
||||||
|
CrowdSec überwacht:
|
||||||
|
- Loginversuche
|
||||||
|
- Angriffe
|
||||||
|
- bekannte Bad IPs
|
||||||
|
|
||||||
|
Integration:
|
||||||
|
- nftables
|
||||||
|
- Docker
|
||||||
|
- Reverse Proxy
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Systemd Timer
|
||||||
|
|
||||||
|
## Aktive Wartungstimer
|
||||||
|
|
||||||
|
| Timer | Aufgabe |
|
||||||
|
|—|—|
|
||||||
|
| apt-daily.timer | Paketupdates |
|
||||||
|
| apt-daily-upgrade.timer | Sicherheitsupdates |
|
||||||
|
| restic-backup.timer | Backups |
|
||||||
|
| logrotate.timer | Logrotation |
|
||||||
|
| crowdsec-hub-update.timer | CrowdSec Updates |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Aktuelle Beobachtungen
|
||||||
|
|
||||||
|
## Positiv
|
||||||
|
|
||||||
|
- mehrere Monitoring-Ebenen vorhanden
|
||||||
|
- Backups automatisiert
|
||||||
|
- CrowdSec integriert
|
||||||
|
- geringe Systemlast
|
||||||
|
- ausreichende Leistungsreserven
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Verbesserungspotenzial
|
||||||
|
|
||||||
|
## Noch offen
|
||||||
|
|
||||||
|
- zentrales Alerting
|
||||||
|
- Matrix Integration
|
||||||
|
- Backup Fehler Monitoring
|
||||||
|
- Zertifikatswarnungen
|
||||||
|
- VPN Health Checks
|
||||||
|
- Docker Health Alerts
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Langfristiges Ziel
|
||||||
|
|
||||||
|
Das Monitoring soll:
|
||||||
|
- frühzeitig Probleme erkennen
|
||||||
|
- automatisch benachrichtigen
|
||||||
|
- Fehlkonfigurationen sichtbar machen
|
||||||
|
- möglichst wartungsarm funktionieren
|
||||||
97
VPS/networking.md
Normal file
97
VPS/networking.md
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
# VPS Netzwerk
|
||||||
|
|
||||||
|
## Öffentliches Netzwerk
|
||||||
|
|
||||||
|
| Interface | Adresse |
|
||||||
|
|—|—|
|
||||||
|
| eth0 | 46.225.176.170 |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# VPN
|
||||||
|
|
||||||
|
## WireGuard
|
||||||
|
|
||||||
|
Die VPS dient als zentraler WireGuard-Hub zwischen:
|
||||||
|
- VPS
|
||||||
|
- Heimnetz
|
||||||
|
- zusätzlichen Clients
|
||||||
|
|
||||||
|
Interface:
|
||||||
|
- wg0
|
||||||
|
|
||||||
|
Listening Port:
|
||||||
|
- 51820/UDP
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Heimnetz Routing
|
||||||
|
|
||||||
|
Folgende Route wird aktuell über WireGuard bereitgestellt:
|
||||||
|
|
||||||
|
```text
|
||||||
|
192.168.0.0/24
|
||||||
|
```
|
||||||
|
|
||||||
|
Dadurch kann die VPS interne Dienste im Heimnetz sicher über VPN erreichen.
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Firewall / Paketfilterung
|
||||||
|
|
||||||
|
## Aktueller Zustand
|
||||||
|
|
||||||
|
UFW ist nicht aktiv.
|
||||||
|
|
||||||
|
Stattdessen nutzt die VPS:
|
||||||
|
- nftables
|
||||||
|
- Docker-verwaltete Firewallregeln
|
||||||
|
- CrowdSec Integration
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Sicherheitslayer
|
||||||
|
|
||||||
|
| Layer | Aufgabe |
|
||||||
|
|—|—|
|
||||||
|
| Docker nftables Regeln | Container-Isolation |
|
||||||
|
| CrowdSec | Dynamische Blockierung |
|
||||||
|
| WireGuard | Sicherer privater Zugriff |
|
||||||
|
| NPM | TLS Terminierung |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Docker Netzwerkarchitektur
|
||||||
|
|
||||||
|
## proxy Netzwerk
|
||||||
|
|
||||||
|
Subnetz:
|
||||||
|
|
||||||
|
```text
|
||||||
|
172.20.0.0/16
|
||||||
|
```
|
||||||
|
|
||||||
|
Wichtige Dienste:
|
||||||
|
- NPM
|
||||||
|
- authentik
|
||||||
|
- Nextcloud
|
||||||
|
- Vaultwarden
|
||||||
|
- Forgejo
|
||||||
|
- Monitoring-Dienste
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Aktuelle Sicherheitsbeobachtungen
|
||||||
|
|
||||||
|
## Positiv
|
||||||
|
|
||||||
|
- interne Docker-Segmentierung vorhanden
|
||||||
|
- RAW nftables Isolationsregeln aktiv
|
||||||
|
- Localhost Bindings bereits genutzt
|
||||||
|
- CrowdSec in INPUT Chain integriert
|
||||||
|
|
||||||
|
## Mögliche Verbesserungen
|
||||||
|
|
||||||
|
- direkten öffentlichen Zugriff auf authentik entfernen
|
||||||
|
- öffentliche Erreichbarkeit von Forgejo prüfen
|
||||||
|
- Rolle von AdGuard auf der VPS bewerten
|
||||||
101
VPS/overview.md
Normal file
101
VPS/overview.md
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
# VPS Übersicht
|
||||||
|
|
||||||
|
## Allgemeine Informationen
|
||||||
|
|
||||||
|
| Eigenschaft | Wert |
|
||||||
|
|—|—|
|
||||||
|
| Hostname | ubuntu-8gb-nbg1-1 |
|
||||||
|
| Anbieter | Hetzner Cloud |
|
||||||
|
| Standort | nbg1 (Nürnberg) |
|
||||||
|
| Betriebssystem | Ubuntu 24.04.4 LTS |
|
||||||
|
| Kernel | 6.8.0-117-generic |
|
||||||
|
| Öffentliche IP | 46.225.176.170 |
|
||||||
|
| Hauptbenutzer | mbyte |
|
||||||
|
| Container Runtime | Docker |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Aufgabe der VPS
|
||||||
|
|
||||||
|
Die VPS dient als öffentliche Edge-Infrastruktur des Homelabs.
|
||||||
|
|
||||||
|
Hauptaufgaben:
|
||||||
|
|
||||||
|
- Öffentlicher Reverse Proxy
|
||||||
|
- Authentifizierung / SSO
|
||||||
|
- VPN-Gateway
|
||||||
|
- Sicherheitslayer
|
||||||
|
- Öffentlicher Einstiegspunkt für interne Dienste
|
||||||
|
- Externes Monitoring
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Hauptdienste
|
||||||
|
|
||||||
|
| Dienst | Aufgabe |
|
||||||
|
|—|—|
|
||||||
|
| Nginx Proxy Manager | Reverse Proxy und TLS |
|
||||||
|
| authentik | SSO / Identity Provider |
|
||||||
|
| CrowdSec | Intrusion Prevention |
|
||||||
|
| WireGuard | VPN-Tunnel ins Heimnetz |
|
||||||
|
| Nextcloud | Cloud / Kollaboration |
|
||||||
|
| Vaultwarden | Passwortmanager |
|
||||||
|
| Forgejo | Git Hosting |
|
||||||
|
| Uptime Kuma | Verfügbarkeitsmonitoring |
|
||||||
|
| Netdata | Systemmonitoring |
|
||||||
|
| AdGuard Home | DNS-Dienst |
|
||||||
|
| Collabora | Office-Integration |
|
||||||
|
| TeamSpeak | Voice-Server |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Infrastruktur-Architektur
|
||||||
|
|
||||||
|
Internet
|
||||||
|
↓
|
||||||
|
VPS
|
||||||
|
├── Nginx Proxy Manager
|
||||||
|
├── authentik
|
||||||
|
├── CrowdSec
|
||||||
|
├── WireGuard
|
||||||
|
├── Öffentliche Dienste
|
||||||
|
└── Monitoring
|
||||||
|
↓ VPN
|
||||||
|
Heimnetz
|
||||||
|
├── Unraid
|
||||||
|
├── internes NPM
|
||||||
|
├── Home Assistant
|
||||||
|
├── Seafile
|
||||||
|
├── Immich
|
||||||
|
└── interne Dienste
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Ressourcenverbrauch
|
||||||
|
|
||||||
|
## Aktueller Status (2026-05-26)
|
||||||
|
|
||||||
|
| Ressource | Nutzung |
|
||||||
|
|—|—|
|
||||||
|
| CPU Load | niedrig |
|
||||||
|
| RAM Nutzung | ~34% |
|
||||||
|
| Festplattennutzung | ~17% |
|
||||||
|
| Swap | 0% |
|
||||||
|
|
||||||
|
Die VPS besitzt aktuell deutliche Leistungsreserven.
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Zielbild
|
||||||
|
|
||||||
|
Die VPS soll langfristig:
|
||||||
|
|
||||||
|
- stabil
|
||||||
|
- selbstwartend
|
||||||
|
- dokumentiert
|
||||||
|
- leicht wiederherstellbar
|
||||||
|
- sicher
|
||||||
|
- wartungsarm
|
||||||
|
- vollständig überwacht
|
||||||
|
|
||||||
|
sein.
|
||||||
107
VPS/security.md
Normal file
107
VPS/security.md
Normal file
|
|
@ -0,0 +1,107 @@
|
||||||
|
# Sicherheitsdokumentation
|
||||||
|
|
||||||
|
## Sicherheitsarchitektur
|
||||||
|
|
||||||
|
Die VPS nutzt mehrere Sicherheitslayer.
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Sicherheitskomponenten
|
||||||
|
|
||||||
|
| Komponente | Aufgabe |
|
||||||
|
|—|—|
|
||||||
|
| CrowdSec | Dynamische Angriffsblockierung |
|
||||||
|
| nftables | Paketfilterung |
|
||||||
|
| Docker Netzwerkisolierung | Segmentierung |
|
||||||
|
| WireGuard | Sicherer Fernzugriff |
|
||||||
|
| Nginx Proxy Manager | TLS Terminierung |
|
||||||
|
| authentik | Zentrale Authentifizierung |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Firewall
|
||||||
|
|
||||||
|
## Aktueller Zustand
|
||||||
|
|
||||||
|
UFW ist deaktiviert.
|
||||||
|
|
||||||
|
Die VPS nutzt stattdessen:
|
||||||
|
- nftables
|
||||||
|
- Docker-verwaltete Regeln
|
||||||
|
- CrowdSec Integration
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Docker Isolation
|
||||||
|
|
||||||
|
Die Docker-Netzwerke sind durch nftables-Regeln segmentiert.
|
||||||
|
|
||||||
|
Vorhanden:
|
||||||
|
- RAW Regeln
|
||||||
|
- Netzwerkisolation
|
||||||
|
- Interface-basierte Filterung
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Öffentlich erreichbare Dienste
|
||||||
|
|
||||||
|
| Dienst | Port |
|
||||||
|
|—|—|
|
||||||
|
| NPM | 80 / 443 |
|
||||||
|
| Forgejo | 3000 |
|
||||||
|
| Forgejo SSH | 2222 |
|
||||||
|
| authentik | 9000 |
|
||||||
|
| TeamSpeak | 9987 / 10011 / 30033 |
|
||||||
|
| WireGuard | 51820 |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Lokale Bindings
|
||||||
|
|
||||||
|
Folgende Dienste sind nur lokal erreichbar:
|
||||||
|
|
||||||
|
| Dienst | Binding |
|
||||||
|
|—|—|
|
||||||
|
| NPM Admin | 127.0.0.1:81 |
|
||||||
|
| Uptime Kuma | 127.0.0.1:3001 |
|
||||||
|
| AdGuard UI | 127.0.0.1:3002 |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Sicherheitsbeobachtungen
|
||||||
|
|
||||||
|
## Positiv
|
||||||
|
|
||||||
|
- CrowdSec aktiv
|
||||||
|
- Docker Netzwerksegmentierung
|
||||||
|
- Localhost Bindings vorhanden
|
||||||
|
- VPN sauber getrennt
|
||||||
|
- geringe Angriffsfläche des Hosts
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Verbesserungspotenzial
|
||||||
|
|
||||||
|
## Hohe Priorität
|
||||||
|
|
||||||
|
- authentik nicht direkt öffentlich exposen
|
||||||
|
- Forgejo Exposure prüfen
|
||||||
|
- öffentliche Ports reduzieren
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Mittlere Priorität
|
||||||
|
|
||||||
|
- Compose Standards vereinheitlichen
|
||||||
|
- zentrale Loggingstrategie
|
||||||
|
- automatische Sicherheitsbenachrichtigungen
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Langfristige Ziele
|
||||||
|
|
||||||
|
- minimale Angriffsfläche
|
||||||
|
- vollständig dokumentierte Infrastruktur
|
||||||
|
- automatisierte Sicherheitsüberwachung
|
||||||
|
- reproduzierbare Konfiguration
|
||||||
|
- wartungsarme Architektur
|
||||||
71
VPS/services.md
Normal file
71
VPS/services.md
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
# Dienste Übersicht
|
||||||
|
|
||||||
|
## Reverse Proxy
|
||||||
|
|
||||||
|
| Dienst | Beschreibung |
|
||||||
|
|—|—|
|
||||||
|
| Nginx Proxy Manager | Öffentlicher Reverse Proxy |
|
||||||
|
| authentik | Zentrale Authentifizierung |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
## Cloud / Produktivität
|
||||||
|
|
||||||
|
| Dienst | Beschreibung |
|
||||||
|
|—|—|
|
||||||
|
| Nextcloud | Cloud Plattform |
|
||||||
|
| Collabora | Office Integration |
|
||||||
|
| Vaultwarden | Passwortmanager |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
## Infrastruktur
|
||||||
|
|
||||||
|
| Dienst | Beschreibung |
|
||||||
|
|—|—|
|
||||||
|
| WireGuard | VPN |
|
||||||
|
| CrowdSec | Angriffsschutz |
|
||||||
|
| AdGuard Home | DNS |
|
||||||
|
| Forgejo | Git Hosting |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
## Monitoring
|
||||||
|
|
||||||
|
| Dienst | Beschreibung |
|
||||||
|
|—|—|
|
||||||
|
| Netdata | Live Monitoring |
|
||||||
|
| Uptime Kuma | Uptime Monitoring |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
## Kommunikation
|
||||||
|
|
||||||
|
| Dienst | Beschreibung |
|
||||||
|
|—|—|
|
||||||
|
| TeamSpeak | Voice Server |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# SSO Status
|
||||||
|
|
||||||
|
| Dienst | SSO |
|
||||||
|
|—|—|
|
||||||
|
| Nextcloud | aktiv |
|
||||||
|
| Vaultwarden | aktiv |
|
||||||
|
| Immich | aktiv |
|
||||||
|
| Forgejo | geplant |
|
||||||
|
| Matrix | geplant |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Bekannte Abhängigkeiten
|
||||||
|
|
||||||
|
| Dienst | Abhängigkeit |
|
||||||
|
|—|—|
|
||||||
|
| Nextcloud | MariaDB |
|
||||||
|
| Nextcloud | Redis |
|
||||||
|
| authentik | PostgreSQL |
|
||||||
|
| authentik | Redis |
|
||||||
|
| Collabora | Nextcloud |
|
||||||
|
| NPM | proxy Netzwerk |
|
||||||
92
VPS/wireguard.md
Normal file
92
VPS/wireguard.md
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
# WireGuard Dokumentation
|
||||||
|
|
||||||
|
## Allgemein
|
||||||
|
|
||||||
|
Die VPS dient als zentraler WireGuard-Hub zwischen:
|
||||||
|
- VPS
|
||||||
|
- Heimnetz
|
||||||
|
- mobilen Clients
|
||||||
|
- zusätzlichen Geräten
|
||||||
|
|
||||||
|
Interface:
|
||||||
|
- wg0
|
||||||
|
|
||||||
|
Listening Port:
|
||||||
|
- 51820/UDP
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# VPN Netzwerk
|
||||||
|
|
||||||
|
## WireGuard Subnetz
|
||||||
|
|
||||||
|
```text
|
||||||
|
10.100.0.0/24
|
||||||
|
```
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Heimnetz Routing
|
||||||
|
|
||||||
|
Folgende Route wird über den Heimnetz-Peer bereitgestellt:
|
||||||
|
|
||||||
|
```text
|
||||||
|
192.168.0.0/24
|
||||||
|
```
|
||||||
|
|
||||||
|
Dadurch kann die VPS interne Dienste zuhause sicher erreichen.
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Aktuelle Peers
|
||||||
|
|
||||||
|
| Peer | Allowed IPs | Beschreibung |
|
||||||
|
|—|—|—|
|
||||||
|
| 10.100.0.4 | 10.100.0.4/32 | Client |
|
||||||
|
| 10.100.0.6 | 10.100.0.6/32 | Client |
|
||||||
|
| 10.100.0.55 | 10.100.0.55/32 | Client |
|
||||||
|
| 10.100.0.2 | 10.100.0.2/32 | Client |
|
||||||
|
| 10.100.0.3 | 10.100.0.3/32 | Client |
|
||||||
|
| 10.100.0.5 | 10.100.0.5/32 | Client |
|
||||||
|
| 10.100.0.10 | 10.100.0.10/32 + 192.168.0.0/24 | Heimnetz Gateway |
|
||||||
|
| 10.100.0.7 | 10.100.0.7/32 | Client |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Beobachtungen
|
||||||
|
|
||||||
|
## Positiv
|
||||||
|
|
||||||
|
- Saubere /32 Zuordnung pro Client
|
||||||
|
- Heimnetz sauber über separaten Peer geroutet
|
||||||
|
- Keine offensichtlichen Routing-Konflikte
|
||||||
|
- Keepalive sauber konfiguriert
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Verbesserungspotenzial
|
||||||
|
|
||||||
|
## Dokumentation ergänzen
|
||||||
|
|
||||||
|
Aktuell fehlen:
|
||||||
|
- Gerätenamen
|
||||||
|
- Zuordnung der Peers
|
||||||
|
- Zweck einzelner Clients
|
||||||
|
|
||||||
|
Empfehlung:
|
||||||
|
|
||||||
|
| VPN IP | Gerät | Zweck |
|
||||||
|
|—|—|—|
|
||||||
|
| 10.100.0.x | MacBook | Mobiler Zugriff |
|
||||||
|
| 10.100.0.x | Unraid | Heimnetz Gateway |
|
||||||
|
| ... | ... | ... |
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
# Langfristige Ziele
|
||||||
|
|
||||||
|
- Vollständige Peer-Dokumentation
|
||||||
|
- Backup der WireGuard-Konfiguration
|
||||||
|
- Monitoring des VPN-Tunnels
|
||||||
|
- Alerting bei Tunnel-Ausfall
|
||||||
|
- Optional QR-Code Archivierung
|
||||||
Loading…
Add table
Reference in a new issue