Перейти до вмісту

Модуль 0.1: Огляд іспиту CKS

Hands-On Lab Available
K8s Cluster advanced 30 min
Launch Lab ↗

Opens in Killercoda in a new tab

Складність: [ШВИДКО] — Необхідна орієнтація

Час на виконання: 20-25 хвилин

Передумови: Сертифікація CKA (потрібно здати CKA будь-коли — чинна сертифікація більше не вимагається)


Що ви зможете робити

Розділ «Що ви зможете робити»

Після завершення цього модуля ви зможете:

  • Пояснити формат іспиту CKS, домени та критерії проходження
  • Оцінити свою готовність на основі передумов CKS та ваги доменів
  • Спроєктувати навчальний план, що пріоритизує домени безпеки з високою вагою
  • Порівняти обсяг та складність CKS з CKA та іншими сертифікаціями Kubernetes

Чому цей модуль важливий

Розділ «Чому цей модуль важливий»

CKS (Certified Kubernetes Security Specialist) — це найпросунутіша сертифікація Kubernetes. Вона вимагає, щоб ви здали CKA (вона більше не повинна бути чинною). Це не довільне обмеження — безпека вимагає глибоких операційних знань спершу.

Ви не можете захистити те, чого не розумієте.

Цей модуль задає ваші очікування, пояснює, чим CKS відрізняється, та окреслює ваш шлях навчання.


CKS проти CKA: Що змінюється

Розділ «CKS проти CKA: Що змінюється»
┌─────────────────────────────────────────────────────────────┐
│ ПРОГРЕСІЯ CKA → CKS │
├─────────────────────────────────────────────────────────────┤
│ │
│ CKA (Kubernetes Administrator) │
│ ├── Будувати та підтримувати кластери │
│ ├── Розгортати та керувати робочими навантаженнями │
│ ├── Усувати несправності │
│ └── "Зробити, щоб працювало" │
│ │
│ ↓ Основа для ↓ │
│ │
│ CKS (Kubernetes Security Specialist) │
│ ├── Зміцнювати кластери проти атак │
│ ├── Захищати ланцюг постачання │
│ ├── Виявляти та реагувати на загрози │
│ └── "Зробити безпечним" │
│ │
│ Ключова різниця: │
│ CKA запитує "Чи працює?" │
│ CKS запитує "Чи можна скомпрометувати?" │
│ │
└─────────────────────────────────────────────────────────────┘

АспектДеталі
Тривалість2 години (120 хвилин)
ФорматНа основі продуктивності (завдання в CLI)
Запитання~15-20 завдань
Прохідний бал67%
ПередумоваСертифікація CKA (здана будь-коли)
СередовищеКластери на базі Ubuntu, kubeadm
Термін дії2 роки

Під час іспиту ви можете використовувати:

  • kubernetes.io/docs
  • kubernetes.io/blog
  • helm.sh/docs
  • github.com/kubernetes
  • aquasecurity.github.io/trivy (документація Trivy)
  • falco.org/docs (документація Falco)

Примітка: Документація інструментів безпеки (Trivy, Falco) явно дозволена — навчіться орієнтуватися в цих документах!


┌─────────────────────────────────────────────────────────────┐
│ ВАГИ ДОМЕНІВ CKS │
├─────────────────────────────────────────────────────────────┤
│ │
│ Налаштування кластера ████░░░░░░░░░░░░░░ 10% │
│ Network policies, CIS benchmarks, безпека ingress │
│ │
│ Зміцнення кластера ██████░░░░░░░░░░░░ 15% │
│ RBAC, ServiceAccounts, безпека API, оновлення │
│ │
│ Зміцнення системи ██████░░░░░░░░░░░░ 15% │
│ AppArmor, seccomp, ОС хоста, зміцнення ядра │
│ │
│ Вразливості мікросервісів ████████░░░░░░░░░░ 20% │
│ Security contexts, Pod Security, secrets, пісочниця │
│ │
│ Безпека ланцюга постачання ████████░░░░░░░░░░ 20% │
│ Сканування образів, Trivy, підписування, SBOM, статичний │
│ аналіз │
│ │
│ Моніторинг та безпека виконання ████████░░░░░░░░░░ 20% │
│ Falco, журнали аудиту, незмінні контейнери, реагування │
│ на інциденти │
│ │
└─────────────────────────────────────────────────────────────┘

На чому зосередитися

Розділ «На чому зосередитися»

60% іспиту припадає на три домени:

  • Вразливості мікросервісів (20%)
  • Безпека ланцюга постачання (20%)
  • Моніторинг та безпека виконання (20%)

Це “нові” навички, специфічні для безпеки. Налаштування та зміцнення кластера базуються на знаннях CKA.


Ключові інструменти безпеки

Розділ «Ключові інструменти безпеки»

Ви повинні вміти вправно працювати з цими інструментами:

ІнструментПризначенняВикористання на іспиті
TrivyСканування вразливостей образівПошук CVE в образах
FalcoВиявлення загроз у реальному часіНаписання/зміна правил
kube-benchПеревірка CIS benchmarkАудит безпеки кластера
kubesecСтатичний аналіз маніфестівОцінка безпеки YAML
AppArmorКонтроль доступу застосунківСтворення/застосування профілів
seccompФільтрація системних викликівОбмеження syscalls контейнерів

Зміна мислення щодо безпеки

Розділ «Зміна мислення щодо безпеки»
┌─────────────────────────────────────────────────────────────┐
│ МИСЛЕННЯ АДМІНІСТРАТОРА проти БЕЗПЕКОВОГО │
├─────────────────────────────────────────────────────────────┤
│ │
│ Адміністратор бачить: Спеціаліст з безпеки бачить: │
│ ───────────────────────────────────────────────────────── │
│ "Pod працює" "Pod запущений як root" │
│ "Сервіс доступний" "Сервіс без NetworkPolicy" │
│ "Застосунок розгортається" "Образ має 47 CVE" │
│ "Кластер працює" "API server дозволяє анонімів" │
│ "Secrets змонтовані" "Secrets відкритим текстом │
│ в etcd" │
│ │
│ Ключове розуміння: │
│ Працює ≠ Безпечно │
│ Усе, що ви побудували в CKA, CKS навчить вас зміцнити │
│ │
└─────────────────────────────────────────────────────────────┘

Структура навчальної програми

Розділ «Структура навчальної програми»

Ця програма відповідає доменам іспиту:

ЧастинаДоменВагаМодулі
0Налаштування середовища-Підготовка до іспиту, лабораторія, інструменти
1Налаштування кластера10%Network policies, CIS, ingress
2Зміцнення кластера15%RBAC, ServiceAccounts, API
3Зміцнення системи15%AppArmor, seccomp, ОС
4Вразливості мікросервісів20%Security contexts, PSA, secrets
5Безпека ланцюга постачання20%Trivy, підписування, SBOM
6Безпека виконання20%Falco, аудит, інциденти

Стратегія трьох проходів для CKS

Розділ «Стратегія трьох проходів для CKS»

Та сама стратегія, що і для CKA, з фокусом на безпеку:

┌─────────────────────────────────────────────────────────────┐
│ СТРАТЕГІЯ ТРЬОХ ПРОХОДІВ CKS │
├─────────────────────────────────────────────────────────────┤
│ │
│ ПРОХІД 1: Швидкі перемоги безпеки (1-3 хв кожна) │
│ ├── Створити NetworkPolicy │
│ ├── Застосувати існуючий профіль AppArmor │
│ ├── Виправити очевидну проблему RBAC │
│ ├── Встановити runAsNonRoot: true │
│ └── Увімкнути журналювання аудиту │
│ │
│ ПРОХІД 2: Завдання з інструментами (4-6 хв кожне) │
│ ├── Сканувати образ з Trivy, виправити вразливості │
│ ├── Створити профіль seccomp │
│ ├── Налаштувати Pod Security Admission │
│ └── Запустити kube-bench, виправити знахідки │
│ │
│ ПРОХІД 3: Складні сценарії (7+ хв кожен) │
│ ├── Написати власне правило Falco │
│ ├── Розслідувати інцидент виконання │
│ ├── Багатокрокове завдання зі зміцнення │
│ └── Складні сценарії з NetworkPolicy │
│ │
└─────────────────────────────────────────────────────────────┘

  • Відсоток здачі CKS нижчий за CKA. Фокус на безпеці вимагає нових навичок поза адмініструванням. Не недооцінюйте його.

  • Falco був створений у Sysdig та переданий до CNCF. Це де-факто стандарт для безпеки виконання Kubernetes.

  • Найбільший виклик CKS — це не Kubernetes, а концепції безпеки Linux, такі як AppArmor та seccomp, якими багато кандидатів раніше не користувалися.

  • Безпека ланцюга постачання стала критичною після атак на зразок SolarWinds та Log4Shell. CKS серйозно тестує цей домен.


ПомилкаЧому це шкодитьРішення
Пропуск основ безпеки LinuxAppArmor/seccomp є обов’язковимиВивчіть основи безпеки Linux
Використання Trivy лише для скануванняПотрібно розуміти та виправляти CVEПрактикуйте робочі процеси виправлення
Ігнорування синтаксису правил FalcoВласні правила тестуютьсяПрактикуйте написання правил
Брак практики NetworkPoliciesСкладні правила egress/ingressВиконуйте багато практичних вправ
Припущення, що навички CKA переносятьсяБезпека вимагає нового мисленняВивчайте безпеку окремо

  1. Яка передумова для складання іспиту CKS?

    Відповідь Сертифікація CKA — ви повинні здати CKA будь-коли (вона більше не повинна бути чинною/не простроченою).
  2. Який відсоток іспиту CKS охоплює безпеку виконання та моніторинг?

    Відповідь 20%. У поєднанні з безпекою ланцюга постачання (20%) та вразливостями мікросервісів (20%), ці три домени складають 60% іспиту.
  3. Яка документація інструментів безпеки явно дозволена під час іспиту CKS?

    Відповідь Документація Trivy (aquasecurity.github.io/trivy) та Falco (falco.org/docs), на додаток до стандартної документації Kubernetes.
  4. Чому CKS вимагає CKA як передумову?

    Відповідь Ви не можете захистити те, чого не розумієте. Безпека вимагає глибоких операційних знань архітектури Kubernetes, мережі та управління робочими навантаженнями, які дає CKA.

Завдання: Дослідіть поточний стан безпеки та визначте прогалини.

Terminal window
# Step 1: Check if your cluster has basic security features
echo "=== Checking API Server Security ==="
kubectl get pods -n kube-system | grep apiserver
kubectl get pods -n kube-system kube-apiserver-* -o yaml 2>/dev/null | grep -E "enable-admission|audit" | head -5 || echo "Check on control plane node"
# Step 2: Check for NetworkPolicies (most clusters have none by default!)
echo "=== NetworkPolicy Count ==="
kubectl get networkpolicies -A
NETPOL_COUNT=$(kubectl get networkpolicies -A --no-headers 2>/dev/null | wc -l)
echo "Total NetworkPolicies: $NETPOL_COUNT"
if [ "$NETPOL_COUNT" -eq 0 ]; then
echo "⚠️ No NetworkPolicies! All pods can communicate freely."
fi
# Step 3: Check for pods running as root
echo "=== Pods Running as Root ==="
kubectl get pods -A -o jsonpath='{range .items[*]}{.metadata.namespace}/{.metadata.name}: runAsNonRoot={.spec.securityContext.runAsNonRoot}{"\n"}{end}' | head -10
# Step 4: Check for privileged containers
echo "=== Privileged Containers ==="
kubectl get pods -A -o jsonpath='{range .items[*]}{range .spec.containers[*]}{.name}: privileged={.securityContext.privileged}{"\n"}{end}{end}' 2>/dev/null | grep -v "privileged=$" | head -10
# Step 5: Check Pod Security Admission labels
echo "=== Pod Security Standards ==="
kubectl get namespaces -o jsonpath='{range .items[*]}{.metadata.name}: {.metadata.labels.pod-security\.kubernetes\.io/enforce}{"\n"}{end}' | grep -v ": $"
# Step 6: Identify security improvements needed
echo ""
echo "=== Security Gaps Identified ==="
echo "Review the output above. Common gaps include:"
echo "- No NetworkPolicies (pods can talk to anything)"
echo "- Pods running as root"
echo "- No Pod Security Standards enforced"
echo "- Missing audit logging"

Критерії успіху: Зрозуміти поточні прогалини безпеки вашого кластера та що CKS навчить вас виправляти.


CKS базується на CKA з навичками, специфічними для безпеки:

  • Нові інструменти: Trivy, Falco, kube-bench, kubesec
  • Нові концепції: AppArmor, seccomp, безпека ланцюга постачання
  • Нове мислення: “Працює” — недостатньо, повинно бути “безпечно”

Формат іспиту:

  • 2 години, ~15-20 завдань
  • 67% для проходження
  • Кластери kubeadm на базі Ubuntu
  • Документація Trivy/Falco дозволена

Ключові напрямки (60% іспиту):

  • Вразливості мікросервісів
  • Безпека ланцюга постачання
  • Безпека виконання

Модуль 0.2: Налаштування лабораторії безпеки — Побудуйте практичне середовище CKS з інструментами безпеки.