Принципи безпеки
1 module is currently being reworked. Watch this section over the next few days.
Базовий курс | 4 модулі | ~2 години разом
Спосіб мислення та принципи побудови безпечних систем. Концепції, що застосовуються незалежно від того, які інструменти, мови програмування чи платформи ви використовуєте.
Чому принципи безпеки?
Розділ «Чому принципи безпеки?»Кожна система, яку ви створюєте, буде атакована. Питання не в тому, «чи станеться це», а в тому, «коли це станеться і наскільки ви готові?».
Принципи безпеки вчать вас:
- Думати як атакуючі, щоб захиститися від них
- Проєктувати системи, що є безпечними за замовчуванням
- Створювати багаторівневий захист, щоб один збій не призвів до повної компрометації
- Керувати ідентифікацією та доступом за принципом найменших привілеїв (Least Privilege)
Це не про зазубрювання чеклістів. Це про розвиток безпекового мислення, яке робить ці чеклісти очевидними.
Модулі
Розділ «Модулі»| # | Модуль | Час | Опис |
|---|---|---|---|
| 4.1 | Безпекове мислення | 25-30 хв | Мислення атакуючого, принципи безпеки, довіра |
| 4.2 | Ешелонований захист | 30-35 хв | Багаторівнева безпека, рівні мережі/застосунків/даних |
| 4.3 | Керування ідентифікацією та доступом | 30-35 хв | Автентифікація, авторизація, найменші привілеї |
| 4.4 | Безпека за замовчуванням | 30-35 хв | Безпечні налаштування, обмеження (guardrails), конфігурація |
Шлях навчання
Розділ «Шлях навчання»ПОЧАТИ ТУТ │ ▼┌─────────────────────────────────────┐│ Модуль 4.1 ││ Безпекове мислення ││ └── Перевага атакуючого ││ └── Основні принципи безпеки ││ └── Межі довіри (Trust boundaries) ││ └── Безпека vs театр безпеки │└──────────────────┬──────────────────┘ │ ▼┌─────────────────────────────────────┐│ Модуль 4.2 ││ Ешелонований захист (Defense in Depth)││ └── Рівні безпеки ││ └── Безпека мережі ││ └── Безпека застосунків ││ └── Безпека даних │└──────────────────┬──────────────────┘ │ ▼┌─────────────────────────────────────┐│ Модуль 4.3 ││ Керування ідентифікацією та доступом││ └── Фактори автентифікації ││ └── Моделі авторизації ││ └── Least privilege ││ └── Service identity │└──────────────────┬──────────────────┘ │ ▼┌─────────────────────────────────────┐│ Модуль 4.4 ││ Безпека за замовчуванням ││ └── Стан за замовчуванням має значення││ └── Guardrails та обмеження ││ └── Конфігурація як код (CaC) ││ └── Патерни безпечного розгортання │└──────────────────┬──────────────────┘ │ ▼ ЗАВЕРШЕНО │ ┌──────────────┼──────────────┐ │ │ │ ▼ ▼ ▼Дисципліна Інструментарій РозподіленіDevSecOps безпеки системиКлючові концепції, які ви вивчите
Розділ «Ключові концепції, які ви вивчите»| Концепція | Модуль | Що це означає |
|---|---|---|
| Поверхня атаки (Attack Surface) | 4.1 | Усе, що може стати ціллю для атакуючого |
| Найменші привілеї (Least Privilege) | 4.1, 4.3 | Надання мінімально необхідних дозволів |
| Ешелонований захист (Defense in Depth) | 4.2 | Багаторівневі незалежні засоби контролю безпеки |
| Zero Trust | 4.1, 4.2 | Ніколи не довіряй, завжди перевіряй |
| Fail Secure | 4.1 | Коли стається збій, система переходить у безпечний стан |
| Межа довіри (Trust Boundary) | 4.1 | Місце, де дані переходять між різними рівнями довіри |
| Автентифікація | 4.3 | Підтвердження особи (хто ви?) |
| Авторизація | 4.3 | Надання доступу (що ви можете робити?) |
| RBAC | 4.3 | Role-Based Access Control |
| Безпека за замовчуванням | 4.4 | Безпека без додаткового налаштування |
| Guardrails | 4.4 | Обмеження, що запобігають помилкам конфігурації |
| Незмінна інфраструктура | 4.4 | Розгортання нових ресурсів замість оновлення існуючих |
Передумови
Розділ «Передумови»- Рекомендовано: Системне мислення — Розуміння взаємодії компонентів систем
- Рекомендовано: Reliability Engineering — Види відмов та стратегії захисту
- Корисно: Досвід роботи з вебзастосунками або API
- Корисно: Базове розуміння мережевих технологій
Куди це веде
Розділ «Куди це веде»Після завершення «Принципів безпеки» ви будете готові до таких тем:
| Напрям | Чому |
|---|---|
| Дисципліна DevSecOps | Впровадження безпеки у CI/CD процеси |
| Інструментарій безпеки | Вивчення конкретних інструментів (Vault, OPA, Falco) |
| Сертифікація CKS | Поглиблена спеціалізація з безпеки Kubernetes |
| Розподілені системи | Побудова безпечних розподілених архітектур |
Ключові ресурси
Розділ «Ключові ресурси»Книги, на які ми посилаємося в цьому курсі:
- “The Web Application Hacker’s Handbook” — Dafydd Stuttard
- “Threat Modeling: Designing for Security” — Adam Shostack
- “Building Secure and Reliable Systems” — Google
- “Container Security” — Liz Rice
Стандарти та фреймворки:
- OWASP Top 10 — owasp.org/Top10
- NIST Cybersecurity Framework — nist.gov/cyberframework
- CIS Benchmarks — cisecurity.org/cis-benchmarks
Безпекове мислення
Розділ «Безпекове мислення»| Питання, яке варто поставити | Чому це важливо |
|---|---|
| «Що може піти не так?» | Моделювання загроз починається саме з цього |
| «Хто захоче атакувати це?» | Визначає рівень загрози та доцільність інвестицій |
| «Який радіус ураження (blast radius)?» | Окреслює масштаб потенційної шкоди |
| «Як ми про це дізнаємося?» | Виявлення атак та моніторинг |
| «Яке налаштування є безпечним за замовчуванням?» | Безпека не повинна вимагати додаткових дій користувача |
| «Чому я довіряю неявно (implicitly trust)?» | Приховані припущення часто стають вразливостями |
«Безпека — це не продукт, а процес». — Брюс Шнайєр