Cilium Cheatsheet

Cilium CheatsheetKapitel 06 von 11

Cilium Encryption

Stand Cilium 1.20 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

WireGuard

Transparente Verschlüsselung des Pod-Traffics zwischen Nodes (Device cilium_wg0, UDP 51871, Firewall freischalten!). Key-Paar erzeugt jeder Node selbst, Public-Key-Austausch via CiliumNode-Annotation.

Node-zu-Node zusätzlich: encryption.nodeEncryption=true. Nodes mit Label node-role.kubernetes.io/control-plane nimmt Cilium davon automatisch aus. Same-Node-Traffic bleibt unverschlüsselt.

Strict Mode: encryption.strictMode.egress.enabled=true plus .egress.cidr (Pod-CIDR, nur IPv4) verhindert unverschlüsselte Erstpakete. encryption.strictMode.ingress.enabled=true (nur WireGuard) droppt unverschlüsselten Pod-Traffic. Die alten Schlüssel encryption.strictMode.enabled/.cidr sind seit 1.20 entfernt.

# Konfig-Änderung: --version = installierte Chart-Version
helm upgrade cilium \
  oci://quay.io/cilium/charts/cilium \
  --version 1.20.4 -n kube-system \
  --reuse-values \
  --set encryption.enabled=true \
  --set encryption.type=wireguard
kubectl -n kube-system exec ds/cilium -- \
  cilium-dbg status | grep Encryption

IPsec

encryption.type=ipsec; Key liegt im Secret cilium-ipsec-keys (Cilium-Namespace), z.B. "3+ rfc4106(gcm(aes)) <key> 128". Das + erzwingt Per-Tunnel-Keys, globale Keys gelten als unsicher (GHSA-pwqm-x5x6-5586).

Key-Rotation ist manuell (KEYID 1–15 inkrementieren), nie während eines Upgrades rotieren.

ztunnel (Beta)

encryption.type=ztunnel: L4-mTLS je Node über Istios ztunnel, Enrollment je Namespace (Label io.cilium/mtls-enabled=true), CA internal (Default) oder spire. Nicht mit ClusterMesh kombinierbar. Nur TCP, beide Seiten müssen eingeschrieben sein, braucht iptables; L4-Policies greifen nur noch auf Port 15008 (HBONE). Empfohlene Alternative zur Mutual Authentication (seit 1.20 deprecated, in v1.21.0-pre.3 entfernt).