№1: Введение
Расскажем всё о процессе обучения и как получить доступы
№2: Введение в безопасность проекта на Kubernetes
Задача инженера: Понимать основные принципы безопасности проекта, живущего в Kubernetes. Знать о моделях угроз.
Практика и теория: Что такое безопасность проекта в контексте Kubernetes? Sec, Dev, Ops - как всем подружиться и жить счастливо?
№3: Защита Control Plane кластера
Задача инженера: Не допустить перехват управления кластером злоумышленником. Знать best practices по защите основных компонентов Kubernetes и иметь под рукой чек-лист, позволяющий проверить проект на потенциальные уязвимости.
Практика и теория: Insecure port API, защита ETCD, анонимная авторизация, на что ещё обратить внимание? Как с помощью CIS Benchmarks повысить свою уверенность в безопасности?
№4: Авторизация, аутентификация и аккаунтинг в Kubernetes
Задача инженера: На глубинном уровне понимать, как работает авторизация и аутентификация в кластере Kubernetes и знать, как правильно их приготовить. Уметь не только настроить эти процессы безопасно, но и визуализировать их, а также сделать процесс идентификации пользователя более удобным с помощью Keycloak.
Практика и теория: Как с помощью Keycloak выстроить рабочий, удобный и безопасный процесс идентификации пользователей в кластере? Как работает авторизация и аутентификация в Kubernetes?
№5: Scaning Automation
Задача инженера: Научиться работать с безопасностью при зарождении проекта – на этапе написания кода.
Практика и теория: Как убедиться, что в написанном коде нет уязвимостей? Чем могут помочь такие инструменты, как Sast/SecretScan, и как их использовать? Как анализировать sensitive данные прямо в CI?
№6: Использование Policy Engine и Admission Controller'ов
Задача инженера: Уметь настроить политики безопасности с помощью Policy Engine внутри кластера Kubernetes. Понимать, как работают Admission Controllers и знать, чем можно заменить Pod Security Policy.
Практика и теория: Как с помощью таких представителей Policy Engine, как Kyverno или Open Policy Agent, контролировать всё, что создается в кластере и заменить собой большинство Admission Controller'ов, таких как PSP? Как работают Admission Webhooks, и как с их помощью можно реализовать в кластере валидацию и изменение практически всего, что угодно?
№7: Безопасность контейнера
Задача инженера: Знать инструменты, которые могут обеспечить безопасность контейнера и максимально усложнят жизнь злоумышленнику.
Практика и теория: Что там с SELinux и Kubernetes, нужно ли оно? Использовать AppArmor или нет? Как закручивать гайки процессам контейнеров с помощью Seccomp-профилей и Capabilities? Какие существуют Best Practices по безопасности контейнеров в контексте Kubernetes и не только?
№8: Безопасное хранение Secrets
Задача инженера: Знать, как правильно хранить свои чувствительные данные в кластере Kubernetes.
Практика и теория: Где и как хранить пароли и токены своего проекта, чтобы они были в безопасности?
№9: Kubernetes Networking
Задача инженера: Уметь гибко создавать и управлять сетевыми правилами в кластере Kubernetes.
Практика и теория: Как организовать сетевую изоляцию сред в рамках кластера? Как сделать так, чтобы проект по сети обращался только к выбранным эндпоинтам?
№10: Управление угрозами в Kubernetes
Задача инженера: Понять, на что требуется обращать внимание в своем проекте с точки зрения безопасности и в каких моментах держать руку на пульсе.
Практика и теория: Как observability помогает в безопасности проекта?