Kapitel 1. Prüfungsdetails und Ressourcen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Dieses Einführungskapitel befasst sich mit den wichtigsten Fragen, die Kandidaten bei der Vorbereitung auf die Prüfung zum Certified Kubernetes Security Specialist (CKS) stellen. Wir gehen auf die Zielgruppe für die Zertifizierung, den Lehrplan und die Prüfungsumgebung ein und geben Tipps und Tricks sowie zusätzliche Lernressourcen. Wenn du bereits mit dem Zertifizierungsprogramm vertraut bist, kannst du direkt zu einem der Kapitel springen, in denen die technischen Konzepte behandelt werden.

Kubernetes Zertifizierung Lernpfad

Die CNCF bietet vier verschiedene Kubernetes-Zertifizierungen an. In Abbildung 1-1 sind sie nach Zielgruppen gegliedert. Du wirst feststellen, dass die CKS die fortgeschrittenste Zertifizierung ist, die du erwerben kannst. Sie ist die einzige, die das Bestehen einer anderen Zertifizierung voraussetzt; alle anderen sind eigenständige Programme.

ckss 0101
Abbildung 1-1. Lernpfad für Kubernetes-Zertifizierungen

Werfen wir einen kurzen Blick auf die Details der einzelnen Zertifikate, um herauszufinden, ob das CKS das Richtige für dich ist.

Kubernetes und Cloud Native Associate (KCNA)

KCNA ist ein Einstiegszertifizierungsprogramm für alle, die sich für die Entwicklung von Cloud-nativen Anwendungen, Laufzeitumgebungen und Tools interessieren. In der Prüfung geht es zwar um Kubernetes, aber es wird nicht erwartet, dass du tatsächlich Probleme in der Praxis löst. Die Prüfung ist für Kandidaten geeignet, die sich für das Thema interessieren und einen breiten Einblick in das Ökosystem haben.

Kubernetes und Cloud Native Security Associate (KCSA)

Die Zertifizierung konzentriert sich auf grundlegende Kenntnisse von Sicherheitskonzepten und deren Anwendung in einem Kubernetes-Cluster. Der Umfang und die Tiefe des Programms sind mit dem KCNA vergleichbar, da es keine praktische Problemlösung erfordert.

Zertifizierter Kubernetes-Anwendungsentwickler (CKAD)

Bei der CKAD-Prüfung geht es darum, ob du in der Lage bist, eine Microservices-basierte Anwendung für Kubernetes zu erstellen, zu konfigurieren und bereitzustellen. Es wird nicht erwartet, dass du tatsächlich eine Anwendung implementierst. Die Prüfung ist jedoch für Entwickler/innen geeignet, die mit Themen wie Anwendungsarchitektur, Laufzeiten und Programmiersprachen vertraut sind.

Zertifizierter Kubernetes-Administrator (CKA)

Die Zielgruppe für die CKA-Prüfung sind DevOps-Praktiker, Systemadministratoren und Site Reliability Engineers. Diese Prüfung prüft deine Fähigkeit, die Rolle eines Kubernetes-Administrators einzunehmen. Dazu gehören Aufgaben wie Cluster-, Netzwerk- und Speicherverwaltung sowie Sicherheitsmanagement auf Anfängerniveau, wobei der Schwerpunkt auf der Fehlersuche liegt.

Zertifizierter Kubernetes-Sicherheitsspezialist (CKS)

Die CKS-Prüfung vertieft die Themen, die in der CKA-Prüfung geprüft wurden. Das Bestehen der CKA-Prüfung ist eine Voraussetzung, bevor du dich für die CKS-Prüfung anmelden kannst. Für diese Zertifizierung wird von dir erwartet, dass du ein tieferes Wissen über die Sicherheitsaspekte von Kubernetes hast. Auf dem Lehrplan stehen Themen wie die Anwendung bewährter Methoden für die Erstellung von containerisierten Anwendungen und die Gewährleistung einer sicheren Kubernetes-Laufzeitumgebung.

Ziele der Prüfung

Schwachstellen in Software und IT-Infrastruktur können, wenn sie ausgenutzt werden, eine große Bedrohung für Unternehmen darstellen. Die Cloud Native Computing Foundation (CNCF) hat die Zertifizierung Certified Kubernetes Security Specialist (CKS) entwickelt, um die Fähigkeit eines Kubernetes-Administrators zu prüfen, einen Kubernetes-Cluster und die darin betriebene Cloud Native Software zu schützen. Im Rahmen der CKS-Prüfung wird von dir erwartet, dass du die wichtigsten Sicherheitsfunktionen von Kubernetes sowie Tools von Drittanbietern und bewährte Verfahren zur Sicherung von Anwendungen und Infrastrukturen verstehst.

Die während der Prüfung verwendete Kubernetes-Version

Zum Zeitpunkt der Erstellung dieses Buches basiert die Prüfung auf Kubernetes 1.26. Alle Inhalte in diesem Buch orientieren sich an den Funktionen, APIs und der Befehlszeilenunterstützung dieser speziellen Version. Es ist durchaus möglich, dass zukünftige Versionen die Abwärtskompatibilität aufheben. Wenn du dich auf die Zertifizierung vorbereitest, solltest du die Kubernetes-Versionshinweise lesen und mit der Kubernetes-Version üben, die in der Prüfung verwendet wird, um unangenehme Überraschungen zu vermeiden.

In diesem Buch werde ich jede der Sicherheitsbedrohungen anhand eines konkreten Anwendungsfalls erläutern. Wir beginnen mit einem Szenario, das es einem Angreifer ermöglicht, sich Zugang zu einem Cluster zu verschaffen, bösartigen Code einzuschleusen oder eine Schwachstelle zu nutzen, um sich in das System zu hacken. Dann gehen wir auf die Konzepte, Praktiken und/oder Tools ein, die diese Situation verhindern können. Mit diesem Ansatz kannst du den Schweregrad eines Sicherheitsrisikos und die Notwendigkeit von Sicherheitsmaßnahmen einschätzen.

Lehrplan

Die folgende Übersicht listet die übergeordneten Abschnitte, auch Domänen genannt, der CKS-Prüfung und ihre Gewichtung auf:

  • 10%: Cluster-Einrichtung

  • 15%: Cluster-Härtung

  • 15%: Systemabhärtung

  • 20%: Microservice-Schwachstellen minimieren

  • 20%: Sicherheit der Lieferkette

  • 20%: Überwachung, Protokollierung und Laufzeitsicherheit

Wie das Buch funktioniert

Die Gliederung des Buches folgt genau dem CKS-Lehrplan. Während es für das Erlernen von Kubernetes im Allgemeinen eine natürlichere, didaktische Organisationsstruktur geben könnte, hilft die Gliederung des Lehrplans den Prüfungsteilnehmern bei der Vorbereitung auf die Prüfung, indem sie sich auf bestimmte Themen konzentriert. Daher wirst du je nach deinem Wissensstand Querverweise zu anderen Kapiteln des Buches finden.

In den nächsten Abschnitten werden die einzelnen Bereiche im Detail beschrieben.

Cluster-Einrichtung

Dieser Abschnitt deckt Kubernetes-Konzepte ab, die bereits in der CKA-Prüfung behandelt wurden. Allerdings wird davon ausgegangen, dass du die Grundlagen bereits verstehst, und es wird erwartet, dass du in der Lage bist, tiefer zu gehen. Hier wirst du über Netzwerkrichtlinien und ihre Auswirkungen auf das Verbieten und Gewähren von Netzwerkkommunikation zwischen Pods innerhalb desselben Namensraums und über mehrere Namensräume hinweg geprüft. Das Hauptaugenmerk liegt auf der Einschränkung der Kommunikation, um die Angriffsfläche zu minimieren. Außerdem wird in der Domäne "Cluster-Setup" dein Wissen über die Einrichtung eines Ingress-Objekts mit Transport Layer Security (TLS)-Terminierung geprüft.

Ein großer Schwerpunkt liegt auf der Identifizierung und Behebung von Sicherheitsschwachstellen durch die Inspektion des Cluster-Setups. Externe Tools wie kube-bench können dabei helfen, den Prozess zu automatisieren. Wenn du das Tool auf deinem Cluster ausführst, erhältst du eine Liste mit Schwachstellen, die du beheben kannst. Wenn du die Konfigurationseinstellungen deines Clusters entsprechend den Empfehlungen änderst, kannst du das Sicherheitsrisiko deutlich verringern.

Schließlich kann das Sperren von Endpunkten, Ports und grafischen Benutzeroberflächen (GUIs) dazu beitragen, dass es Angreifern schwerer fällt, die Kontrolle über den Cluster zu erlangen. Du musst die Standardeinstellungen des Clusters kennen, damit du den Zugang zu ihnen so weit wie möglich einschränken kannst. Kubernetes-Binärdateien und ausführbare Dateien wie kubectl, kubeadm und das Kubelet müssen anhand ihrer Prüfsumme überprüft werden, um sicherzustellen, dass sie nicht von Dritten manipuliert wurden. Du musst wissen, wie du die Prüfsummendatei für Binärdateien abrufst und wie du damit die Gültigkeit der ausführbaren Datei überprüfst.

Cluster-Härtung

Die meisten Unternehmen beginnen mit einem Cluster, der es Entwicklern und Administratoren gleichermaßen ermöglicht, die Installation, Konfiguration und Verwaltung von Kubernetes-Objekten zu verwalten. Für Teams, die sich mit Kubernetes vertraut machen wollen, ist dies zwar eine bequeme Methode, aber keine sichere Lösung, da sie Angreifern Tür und Tor öffnen kann. Sobald man sich Zugang zum Cluster verschafft hat, können beliebige bösartige Aktionen durchgeführt werden.

Die rollenbasierte Zugriffskontrolle (RBAC) ordnet die Berechtigungen den Benutzern oder Prozessen zu. Die Prüfung erfordert tiefgreifende Kenntnisse der beteiligten API-Ressourcen. Der Bereich "Cluster-Hardening" konzentriert sich auch auf das Thema, die Cluster-Version auf dem neuesten Stand zu halten, um sicherzustellen, dass die neuesten Fehlerbehebungen übernommen werden. Kubernetes stellt den API-Server über Endpunkte zur Verfügung. Du solltest Strategien kennen, mit denen du die Exposition gegenüber der Außenwelt minimieren kannst.

Systemhärtung

In diesem Bereich geht es darum zu verstehen, wie man den Zugriff auf das Hostsystem und das externe Netzwerk minimieren kann, um die Angriffsfläche zu verringern. Hier kommen Tools auf Betriebssystemebene wie AppArmor und seccomp ins Spiel. Du musst ihre Verwendung nachweisen, um die Anforderungen zu erfüllen. In diesem Bereich geht es auch um die Verwendung von AWS IAM-Rollen für Cluster, die speziell in der Cloud-Umgebung von Amazon laufen.

Schwachstellen von Microservices minimieren

Sicherheitskontexte definieren die Berechtigungs- und Zugriffskontrolle für Container. Plattform- und Sicherheitsteams können die gewünschten Sicherheitsmaßnahmen auf Organisationsebene regeln und durchsetzen. Die Prüfung setzt voraus, dass du die Pod-Sicherheitsrichtlinien und den OPA Gatekeeper zu diesem Zweck verstehst. Außerdem sollst du demonstrieren, wie du Secrets verschiedener Typen definierst und sie von Pods konsumierst, um sensible Laufzeitinformationen zu injizieren.

Manchmal möchtest du vielleicht mit Container-Images aus einer nicht verifizierten Quelle oder einer potenziell unsicheren Herkunft experimentieren. Container-Laufzeit-Sandboxen wie gVisor und Kata Containers können in Kubernetes so konfiguriert werden, dass ein Container-Image mit sehr eingeschränkten Rechten ausgeführt wird. Die Konfiguration und Nutzung einer solchen Container-Laufzeit-Sandbox ist Teil dieses Bereichs. Außerdem musst du die Vorteile der mTLS Pod-to-Pod-Verschlüsselung kennen und wissen, wie du sie konfigurierst.

Sicherheit der Lieferkette

Die Sicherheit von Containern beginnt mit dem Basisbild. Du musst die bewährten Methoden zur Erstellung von Container-Images kennen, um das Risiko von Sicherheitslücken von Anfang an zu minimieren. Optimal ist es, wenn du nur vertrauenswürdige Container-Images von einer organisationsinternen Container-Registry abrufst, die das Image bereits auf Sicherheitslücken geprüft hat, bevor es verwendet werden kann. Nur diese Registrierungsstellen zuzulassen, ist von größter Bedeutung und wird eines der wichtigsten Themen in diesem Bereich sein. Tools wie Trivy können beim Scannen von Images auf Schwachstellen helfen und sind als Voraussetzung für das Bestehen der Prüfung aufgeführt.

Überwachung, Protokollierung und Laufzeitsicherheit

Einer der Schwerpunkte in diesem Bereich ist die Verhaltensanalyse, also die Beobachtung abnormaler und bösartiger Ereignisse. Falco ist das wichtigste Tool, mit dem du dich in diesem Abschnitt vertraut machen kannst. Ein Container sollte nach dem Start nicht mehr veränderbar sein, um Angreifern keine weiteren Hintertüren zu öffnen. Du musst die bewährten Methoden kennen und nachweisen können, dass du sie bei der Konfiguration eines Containers anwenden kannst.

Die Audit-Protokollierung kann hilfreich sein, um einen Echtzeitüberblick über Cluster-Ereignisse zu erhalten oder um Fehler zu beheben. Die Konfiguration der Audit-Protokollierung für einen Kubernetes-Cluster ist Teil der Prüfung.

Beteiligte Kubernetes Primitive

Einige der Prüfungsziele können durch das Verständnis der relevanten Kubernetes-Primitive abgedeckt werden. Es ist zu erwarten, dass die Prüfung mehrere Konzepte in einer einzigen Aufgabe kombiniert. In Abbildung 1-2 findest du einen groben Überblick über die relevanten Kubernetes-Ressourcen und ihre Beziehungen.

ckss 0102
Abbildung 1-2. Für die Prüfung relevante Kubernetes-Primitive

Zusätzlich zu den Kubernetes-Kernprimitiven musst du auch die spezifischen Custom Resource Definitions (CRDs) kennen, die von Open-Source-Projekten bereitgestellt werden. Der Open Policy Agent (OPA) Gatekeeper stellt zum Beispiel das ConstraintTemplate der Primitive zur Verfügung.

Beteiligte externe Tools

Ein großer Teil der Prüfung verlangt von dir, dass du Kenntnisse über externe, sicherheitsrelevante Tools nachweist. Einige dieser Tools werden im Lehrplan explizit genannt, aber es gibt auch andere Tools, die in dieselbe Funktionskategorie fallen. Zumindest musst du mit den folgenden Tools vertraut sein:

Dokumentation

Während der Prüfung ist es dir erlaubt, eine genau definierte Liste von Webseiten als Referenz zu öffnen. Du kannst diese Seiten frei durchsuchen und den Code im Prüfungsterminal einfügen. In den Häufig gestellten Fragen (FAQ) für die CKS findest du eine Liste der erlaubten URLs.

Die offizielle Kubernetes-Dokumentation umfasst das Referenzhandbuch, die GitHub-Seite und den Blog:

Für externe Tools darfst du die folgende URL öffnen und durchsuchen:

Fähigkeiten der Bewerber/innen

Die CKS-Zertifizierung setzt voraus, dass du bereits ein Verständnis von Kubernetes auf Administratorenebene hast. Die CNCF verlangt, dass du das CKA-Zertifikat als Voraussetzung erwirbst. Ohne diesen Nachweis kannst du dich nicht für die CKS-Prüfung anmelden. Wenn du die CKA-Prüfung noch nicht bestanden hast oder die Themen auffrischen möchtest, empfehle ich dir mein Buch Certified Kubernetes Administrator (CKA) Study Guide.

Für den Rest des Buches gehe ich einfach davon aus, dass du das Wissen, das du für den CKA brauchst, bereits hast. Deshalb werde ich die Grundlagen zu sich überschneidenden Themen nicht mehr wiederholen. Der Einfachheit halber werde ich dich bei Bedarf auf die entsprechenden Informationen im CKA-Buch verweisen. Bitte lese dir die Abschnitte über die Prüfungsumgebung und das Zeitmanagement im CKA-Buch noch einmal durch. Sie gelten auch für die CKS-Prüfung.

Üben und Übungsprüfungen

Praktische Übungen sind extrem wichtig, wenn du die Prüfung bestehen willst. Dafür brauchst du eine funktionierende Kubernetes-Cluster-Umgebung. Die folgenden Optionen bieten sich an:

  • Ich fand es nützlich, eine oder mehrere virtuelle Maschinen mit Vagrant und VirtualBox zu betreiben. Diese Tools helfen dabei, eine isolierte Kubernetes-Umgebung zu schaffen, die einfach zu starten und bei Bedarf wieder zu entfernen ist. Einige der praktischen Übungen in diesem Buch nutzen diese Umgebung als Ausgangspunkt.

  • Es ist relativ einfach, einen einfachen Kubernetes-Cluster auf deinem Entwicklungsrechner zu installieren. In der Kubernetes-Dokumentation findest du verschiedene Installationsoptionen, je nach Betriebssystem. Minikube ist nützlich, wenn du mit fortgeschrittenen Funktionen wie Ingress oder Speicherung experimentieren willst, denn es bietet die notwendigen Funktionen als Add-ons, die mit einem einzigen Befehl installiert werden können.

  • Wenn du ein Abonnent der O'Reilly-Lernplattform bist, hast du unbegrenzten Zugang zu den Übungen in einer Kubernetes-Umgebung. Außerdem kannst du dein Wissen mit Hilfe des CKS-Praxistests in Form von interaktiven Übungen testen.

Vielleicht möchtest du auch eine der folgenden kommerziellen Lern- und Übungsressourcen ausprobieren:

Zusammenfassung

Die CKS-Prüfung prüft dein praktisches Wissen über sicherheitsrelevante Aspekte in Kubernetes. Von dir wird erwartet, dass du die wichtigsten Kubernetes-Primitive und -Konzepte verstehst, die Sicherheitsanforderungen erfüllen können, wie RBAC, Netzwerkrichtlinien und Ingress. Die Prüfung umfasst auch hilfreiche Sicherheitstools von Drittanbietern. Du musst zeigen, wie du diese Tools effektiv nutzen kannst. Das Bestehen der CKA-Prüfung ist Voraussetzung für den CKS. Stelle sicher, dass du zuerst die CKA-Prüfung bestehst, wenn du dies noch nicht getan hast.

Die folgenden Kapitel sind auf den Prüfungslehrplan abgestimmt, damit du die Inhalte den Lernzielen zuordnen kannst. Am Ende jedes Kapitels findest du Beispielübungen, mit denen du dein Wissen üben kannst. Die Diskussion jedes Bereichs schließt mit einer kurzen Zusammenfassung der wichtigsten Aspekte, die du lernen solltest.

Get Certified Kubernetes Security Specialist (CKS) Studienführer now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.