Buchbesprechung: Hacking Kubernetes

Aus dem Blickwinkel des Angreifers zeigen die Autoren notwendige und empfehlenswerte Konfigurationsoptionen auf, die Kubernetes in der Praxis sicherer machen.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Buchbesprechung: Apache Kafka

(Bild: Da Da Diamond/Shutterstock.com)

Lesezeit: 6 Min.
Von
  • Michael Friedrich
Inhaltsverzeichnis

Andrew Martin, Michael Hausenblas
Hacking Kubernetes
Threat-driven Analysis and Defense
O'Reilly Media, Inc., Oktober 2021
295 Seiten, ab 37,79 € (E-Book oder Print in Englisch)
ISBN: 978-1-49208-173-9

Die Container-Orchestrierung Kubernetes existiert mittlerweile in den unterschiedlichsten Varianten: zum selbst installieren, gehostet oder als Managed Service (SaaS) in der Cloud mit vollem VM-Zugriff. Alle Varianten haben eines gemeinsam: Man erhält mit Kubernetes ein Framework inklusive APIs – um das Deployment der Applikationen sowie die Sicherheit muss man sich allerdings selbst kümmern. Daher stellt sich die Frage: wie kann man etwas schützen und verteidigen, wenn man das Framework und dessen potenzielle Einfallstore gar nicht zu 100 Prozent kennt?

In ihrem Buch "Hacking Kubernetes" nehmen die Autoren Andrew Martin und Michael Hausenblas dazu die Rolle des Angreifers ein und diskutieren auf Basis der Architektur verschiedene Szenarien mit potenziellen High-Profile-Attacken sowie Erkenntnisse aus veröffentlichten Sicherheitsreports. Um die Probleme besser zu veranschaulichen, bietet jedes Kapitel Beispiele für Attacken, die man in den eigenen Umgebungen testen kann. Jedes Szenario schließt mit Best Practices und Konfigurationstipps.

Voraussetzung für eine erfolgreiche Lernkurve bei der Lektüre des Buchs ist zumindest grundlegendes Kubernetes- und Security-Wissen. Insbesondere Konzepte wie verteilte Architekturen, Netzwerktechnik, VM/Container, RBAC (Role Based Access Control) und APIs mit TLS-Zertifikaten können hilfreich sein. Zum leichteren Verständnis fassen die Autoren das notwendige Wissen aber auch in jedem Kapitel kurz zusammen, inklusive vieler hilfreicher Grafiken. Darüber hinaus bieten sie in der Einführung eine Liste hilfreicher Bücher an.

"Hacking Kubernetes" ist in 10 Kapitel aufgeteilt, die nicht zwingend hintereinander gelesen werden müssen. Das erste Kapitel startet mit einem Einstieg in die verteilte Architektur von Kubernetes und macht klar, dass sich zu behandelnden Szenarien sehr komplex gestalten können: "Attack Trees" beispielsweise können nach einem erfolgreichen Angriff eine Kette von Sicherheitsproblemen nach sich ziehen und bis hin zur kompletten Cluster-Übernahme führen.

Aus Angreifersicht bieten sich grundsätzlich alle im Netzwerk nach außen hin sichtbaren Ressourcen wie APIs, Webserver oder Netzwerk-Ports an. Das Kapitel "Pod Level Resources" widmet sich daher den API-Fuzzing-Attacken, über die sich in Web-Containern eine Remote Code Execution (RCE) durchführen lässt. Weitere Angriffsmöglichkeiten eröffnen sich durch Container-Images in öffentlichen Registries, die bösartigen Code enthalten können und sich ohne Verifikation als Container im Pod starten lassen. Mit diesem Wissen lernen Leserinnen und Leser im Kapitel "Container Runtime Isolation" die Unterschiede zwischen virtuellen Maschinen (VMs) und Containern kennen, sowie die Angriffe mit Container-Images aus öffentlichen Registries, und die Möglichkeit des sogenannten Sandboxing für Container und gemountete Volumes.

Ebenso behandeln die Autoren Supply Chain Security und Dependency-Attacken, inklusive Tipps zum Hardening von Applikationen, Container-Image-Scanning mit Tools wie beispielsweise trivy und einen Einstieg in Software Bill Of Materials (SBOM) für Container.

Spannend ist insbesondere der Bereich Networking, da Kubernetes out-of-the-box sehr offene Berechtigungseinstellungen vorsieht: Pods können miteinander kommunizieren, DNS-Lookups erlauben Architektur-Reverse-Engineering, auch unverschlüsselter Traffic könnte zu Problemen führen. Die Autoren geben sich erkennbar Mühe, die Leser die nicht zu überfordern, und führen behutsam an die komplexeren Themen wie Services-Meshes, mutual TLS und Paket-Filter auf Kernel-Ebene (eBPF) heran.

Container mögen Host-Isolation vorgaukeln, im Bereich Storage mit gemappten Volumes eröffnen sich Angreifern aber unterschiedlichste Optionen, um Root-Rechte zu erlangen. Das Kapitel zu diesem Thema diskutiert unter anderem Secrets "at rest" und Szenarien wie /proc exploits oder Ransomware und Crypto-Locking.

(Bild: O'Reilly Media)

Für den Betrieb von Kubernetes mit unterschiedlichen Teams widmet sich das Buch ausführlich den Themen "Hard Multinenancy" und "Policies". Hier lernen Interessierte Namespaces und Node Pools sinnvoll einzusetzen, sowie limitierte Zugriffsrechte für API-Aufrufe zu vergeben und RBAC-Modelle umzusetzen. Mithilfe von Admission-Controllern und Policy-Engines lassen sich die Angriffsvektoren deutlich minimieren. Die gezeigten Beispiele mit Open Policy Agent (OPA) und Kyverno lassen sich direkt in der Praxis umsetzen.

In den Kapiteln "Intrusion Detection" und "Organizations" nehmen die Autoren bestehende Intrusion Detection Systeme (IDS) unter die Lupe, und zeigen, wie sich eBPF für Monitoring und Observability nutzen lässt – am Beispiel von Falco, Pixie und Cilium. Oft vergessene Themen wie Onboarding/Offboarding, Service-Accounts, LDAP/SSO wie auch Social-Engineering runden den Lernerfolg ab. Im Appendix des Buchs haben die Autoren noch ein ausführliches Beispiel zu Pod-Level-Hacking sowie eine Liste von CVEs inklusive aller Details hinterlegt.

Andrew Martin und Michael Hausenblas sind ausgewiesene Experten im Bereich Kubernetes und Security und tragen mit Einblicken und Tipps zu CNCF-geförderten und anderen Open-Source-Projekten dazu bei, dass Leserinnen und Leser die gezeigten Beispiele unmittelbar in die Tat umsetzen möchten. "Hacking Kubernetes" behandelt alle aktuellen Themen mit der notwendigen Tiefe, und hilfreiche Grafiken erleichtern den Einstieg in komplexere Themen sowie deren Verständnis. Die Kombination all dieser Aspekte machen das Buch nach Einschätzung des Rezensenten zu einem der besten aktuell am Markt verfügbaren Bücher über Kubernetes-Security – und damit zu einer klaren Kaufempfehlung für Administratoren, DevOps- und Security- sowie Site Reliability Engineers (SREs).

Abschließender Tipp: Im Buch sind viele Codebeispiele und URL-Referenzen angeführt – daher empfiehlt es sich, zum E-Book statt der Print-Ausgabe zu greifen.

Michael Friedrich
ist Senior Developer Evangelist bei GitLab mit Fokus auf Observability, SRE und Ops. Er hat das Technologie-Meetup #EveryoneCanContribute cafe gegründet, um gemeinsam Cloud-Native und DevOps zu lernen. Michael ist Polynaut Advisor bei Polywork, hat die Observability-Lernplattform o11y.love ins Leben gerufen, und schreibt über Erfahrungen und Neuigkeiten im opsindev.news-Newsletter.

(map)