Модуль 0.1: Огляд іспиту CKS
Складність:
[ШВИДКО]— Необхідна орієнтаціяЧас на виконання: 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 серйозно тестує цей домен.
Поширені помилки
Розділ «Поширені помилки»| Помилка | Чому це шкодить | Рішення |
|---|---|---|
| Пропуск основ безпеки Linux | AppArmor/seccomp є обов’язковими | Вивчіть основи безпеки Linux |
| Використання Trivy лише для сканування | Потрібно розуміти та виправляти CVE | Практикуйте робочі процеси виправлення |
| Ігнорування синтаксису правил Falco | Власні правила тестуються | Практикуйте написання правил |
| Брак практики NetworkPolicies | Складні правила egress/ingress | Виконуйте багато практичних вправ |
| Припущення, що навички CKA переносяться | Безпека вимагає нового мислення | Вивчайте безпеку окремо |
Тест
Розділ «Тест»-
Яка передумова для складання іспиту CKS?
Відповідь
Сертифікація CKA — ви повинні здати CKA будь-коли (вона більше не повинна бути чинною/не простроченою). -
Який відсоток іспиту CKS охоплює безпеку виконання та моніторинг?
Відповідь
20%. У поєднанні з безпекою ланцюга постачання (20%) та вразливостями мікросервісів (20%), ці три домени складають 60% іспиту. -
Яка документація інструментів безпеки явно дозволена під час іспиту CKS?
Відповідь
Документація Trivy (aquasecurity.github.io/trivy) та Falco (falco.org/docs), на додаток до стандартної документації Kubernetes. -
Чому CKS вимагає CKA як передумову?
Відповідь
Ви не можете захистити те, чого не розумієте. Безпека вимагає глибоких операційних знань архітектури Kubernetes, мережі та управління робочими навантаженнями, які дає CKA.
Практична вправа
Розділ «Практична вправа»Завдання: Дослідіть поточний стан безпеки та визначте прогалини.
# Step 1: Check if your cluster has basic security featuresecho "=== Checking API Server Security ==="kubectl get pods -n kube-system | grep apiserverkubectl 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 -ANETPOL_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 rootecho "=== 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 containersecho "=== 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 labelsecho "=== 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 neededecho ""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 з інструментами безпеки.