Netzwerksicherheit
Netzwerksicherheit
Netzwerkabsicherung der Inovetra AI Platform auf Host- und Kubernetes-Ebene. Dieses Dokument beschreibt Firewall-Regeln, Network Policies, VPN-Zugang und Härtungsempfehlungen.
Firewall (Host-Ebene)¶
Folgende Ports müssen auf der VM geöffnet sein:
| Port | Protokoll | Richtung | Zweck |
|---|---|---|---|
| 22 | TCP | Eingehend | SSH-Zugang (einschränken!) |
| 80 | TCP | Eingehend | HTTP → HTTPS-Redirect |
| 443 | TCP | Eingehend | HTTPS (Ingress) |
| 6443 | TCP | Eingehend | K8s API (nur VPN/Management) |
Port 6443
Port 6443 (Kubernetes API) darf NICHT öffentlich erreichbar sein. Nur über VPN oder IP-Whitelist zugänglich machen. Ein offener K8s-API-Port ermöglicht potenziell vollständigen Cluster-Zugriff.
Kubernetes Network Policies¶
Network Policies isolieren die Service-Kommunikation innerhalb des Clusters:
- Standardmäßig aktiviert (
networkPolicies.enabled: true) - Isolieren Services innerhalb des Namespace
inovetra-platform - Nur explizit erlaubte Kommunikation zwischen Pods möglich
- Egress-Policies standardmäßig deaktiviert (
networkPolicies.egress.enabled: false)
Egress-Policies
Das Aktivieren von Egress-Policies (networkPolicies.egress.enabled: true) ohne vollständige Regel-Definition unterbricht die Service-Kommunikation! Nur aktivieren, wenn alle ausgehenden Verbindungen (DNS, externe APIs, LLM-Endpunkte) explizit als Regeln definiert sind.
VPN-Zugang¶
WireGuard VPN für sicheren Remote-Zugriff auf die VM:
- Konfiguration über Customer Portal → VPN
- Ermöglicht:
- SSH-Zugang zur VM
kubectl-Zugriff auf das Cluster- Port-Forwarding zu internen Services
- VPN-Konfigurationsdateien werden im Customer Portal generiert
Segmentierung¶
- Alle Services im Namespace
inovetra-platformisoliert - Datenbanken (MongoDB, Qdrant, MinIO) nur cluster-intern erreichbar — keine externen Ports
- Ingress Controller als einziger öffentlicher Einstiegspunkt
- Interne Services kommunizieren über Kubernetes-interne DNS-Namen
Härtungsempfehlungen¶
- SSH: Nur Key-basierte Authentifizierung, Root-Login deaktivieren (
PermitRootLogin no) - Firewall: Nur benötigte Ports öffnen (80, 443) — SSH und K8s API einschränken
- K8s API: Via VPN oder IP-Whitelist absichern — niemals öffentlich exponieren
- Regelmäßige OS-Updates:
sudo apt update && sudo apt upgrade - Fail2Ban (optional): SSH-Brute-Force-Schutz einrichten
- Nicht benötigte Dienste deaktivieren: Nur K3s und notwendige System-Services laufen lassen
Verwandte Seiten¶
- Sicherheitskonzept — Übergreifendes Sicherheitskonzept
- Netzwerk und Kommunikation — Netzwerktopologie und Kommunikationswege
- Runbook Netzwerk — Fehlerbehebung bei Netzwerkproblemen