Kubernetes Network Policies: Microsegmentierung für Container-Workloads
Standardmäßig kann in Kubernetes jeder Pod mit jedem kommunizieren. Network Policies ändern das — wir zeigen wie.
Das Problem: Flat Network
In einem Standard-Kubernetes-Cluster kann jeder Pod jeden anderen Pod erreichen — unabhängig vom Namespace. Das ist bequem für Entwickler, aber ein Albtraum für Security-Teams.
Network Policies verstehen
Network Policies sind Kubernetes-native Firewall-Regeln auf Pod-Ebene. Sie definieren, welcher Traffic erlaubt ist — alles andere wird blockiert (Default Deny).
- Ingress Policies: Kontrollieren eingehenden Traffic — welche Pods dürfen mit diesem Pod kommunizieren?
- Egress Policies: Kontrollieren ausgehenden Traffic — wohin darf dieser Pod Verbindungen aufbauen?
- Label-basiert: Policies selektieren Pods über Labels, nicht über IP-Adressen — dynamisch und Kubernetes-nativ.
Best Practices
- Default Deny: Starten Sie mit einer Policy, die allen Traffic blockiert, und erlauben Sie dann gezielt.
- Namespace-Isolation: Trennen Sie Umgebungen (dev, staging, prod) auf Namespace-Ebene mit Policies.
- DNS erlauben: Vergessen Sie nicht, Egress zu Port 53 (DNS) zu erlauben — sonst funktioniert Service Discovery nicht mehr.
- CNI-Plugin: Stellen Sie sicher, dass Ihr CNI-Plugin Network Policies unterstützt. Calico und Cilium sind empfehlenswert.
Fazit
Network Policies sind ein Muss für produktive Kubernetes-Cluster. Sie kosten nichts, sind deklarativ verwaltbar und reduzieren die Angriffsfläche drastisch. Bei devRocks sind sie Teil jedes Cluster-Setups.
Fragen zu diesem Thema?
Wir beraten Sie gerne zu den in diesem Artikel beschriebenen Technologien und Lösungen.
Kontakt aufnehmen