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

Модуль 10.9: Архітектура Zero Trust у гібридній хмарі

Складність: [COMPLEX] | Час на виконання: 2.5 год | Передумови: Мережі Kubernetes, IAM, основи Service Mesh

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

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

У лютому 2024 року велика фармацевтична компанія з 4 500 співробітниками зазнала зламу через викрадені креденшали VPN одного з підрядників. Зловмисник використав VPN, щоб потрапити у внутрішню мережу, а потім протягом 18 днів вільно переміщувався між 14 різними системами. Хакери викрали дані клінічних досліджень та персональні дані пацієнтів, оцінені у $340 мільйонів. Розслідування показало: потрапивши всередину VPN, зловмисник мав доступ до 83% внутрішніх сервісів, бо мережа вважалася “довіреною”.

Це фундаментальна помилка “периметральної безпеки”: вона створює тверду зовнішню оболонку і м’яку, незахищену середину. VPN працює за принципом “все або нічого”: ви або зовні (немає доступу), або всередині (доступ до всього). У сучасному світі, де розробники, підрядники, хмарні сервіси та поди Kubernetes постійно взаємодіють, така модель є небезпечно застарілою.

Zero Trust (Нульова довіра) змінює цю модель. Замість “довіряй усьому всередині” вона каже: “нікому не довіряй, все перевіряй”. Кожен запит — з офісу, з поду Kubernetes чи з ноутбука — має довести свою ідентичність, підтвердити права та пройти перевірку політик безпеки перед тим, як отримати доступ.

У цьому модулі ви вивчите принципи Zero Trust, розберетеся, як працюють Identity-Aware Proxies (IAP), впровадите мікросегментацію в Kubernetes, навчитеся замінювати застарілі VPN сучасними методами доступу та дізнаєтеся про фреймворк SLSA для захисту ланцюжка поставок ПЗ.


Принципи Zero Trust: Три стовпи

Розділ «Принципи Zero Trust: Три стовпи»
  1. Явна перевірка (Verify Explicitly): Завжди автентифікуйте та авторизуйте на основі всіх доступних точок даних (особа, локація, стан пристрою, тип сервісу).
  2. Найменші привілеї (Least Privilege): Обмежуйте доступ за допомогою JIT/JEA (Just-In-Time та Just-Enough Access), щоб користувач мав доступ тільки до того, що треба і тільки зараз.
  3. Припущення зламу (Assume Breach): Мінімізуйте радіус ураження. Сегментуйте мережу, шифруйте все і постійно моніторте підозрілу активність.

BeyondCorp: Доступ без VPN

Розділ «BeyondCorp: Доступ без VPN»

BeyondCorp — це модель Google, яка повністю відмовилася від корпоративного VPN. Будь-який співробітник заходить у внутрішні системи однаково, незалежно від того, він в офісі чи в кафе.

  • Замість VPN ви ставите Identity-Aware Proxy перед кожним додатком.
  • Проксі перевіряє не тільки логін, а й “здоров’я” ноутбука (чи є антивірус, чи оновлена ОС).
  • Користувач отримує доступ тільки до одного конкретного додатка, а не до всієї мережі.
ПровайдерСервіс IAP
GCPCloud IAP (найбільш зрілий)
AWSVerified Access
AzureEntra ID Application Proxy
Open SourcePomerium / Teleport

Мікросегментація в Kubernetes

Розділ «Мікросегментація в Kubernetes»

Мікросегментація — це Zero Trust на рівні мережі. Замість “плоскої” мережі, де поди бачать усіх, ви створюєте ізольовані острівці.

  1. Namespace Isolation: Поди в payments не бачать подів у marketing за замовчуванням.
  2. Service-to-Service: Тільки frontend може звертатися до backend на порт 8080.
  3. mTLS (Istio/Linkerd): Кожне з’єднання зашифроване і перевірене сертифікатом.
  4. L7 Authorization: Перевірка не тільки “куди йде запит”, а й “що там написано” (напр. дозволено GET, заборонено DELETE).

Заміна VPN для розробників

Розділ «Заміна VPN для розробників»

Замість того, щоб давати розробнику VPN для доступу до kubectl, використовуйте інструменти типу Teleport.

  • Розробник пише tsh login.
  • Відкривається браузер з корпоративним SSO.
  • Система видає доступ до кластера на 8 годин.
  • Усі дії записуються: ви можете буквально “прокрутити відео” того, що інженер робив у терміналі.

SLSA: Безпека ланцюжка поставок

Розділ «SLSA: Безпека ланцюжка поставок»

Zero Trust стосується не тільки людей, а й коду. SLSA (Supply-chain Levels for Software Artifacts) — це стандарт безпеки для CI/CD.

  • Level 1: Процес збірки задокументований.
  • Level 2: Код збирається в ізольованому середовищі, образ підписаний цифровим підписом.
  • Level 3: Неможливо підробити історію збірки. Ви точно знаєте, з якої гілки Git прийшов цей контейнер.

ПомилкаЧому це стаєтьсяЯк виправити
Flat Network (плоска мережа)“Так легше дебажити”Використовуйте Default Deny мережеві політики з першого дня
mTLS без авторизаціїПлутанина автентифікації та правmTLS каже, ХТО це. Вам все ще треба правила, які кажуть, що йому МОЖНА
Видалення VPN без заміниПоспіх із впровадженням Zero TrustСпочатку запустіть IAP паралельно з VPN на 3 місяці
Підписи образів без перевірки”Ми ж підписуємо в CI”Без admission-контролера (Kyverno), який БЛОКУЄ непідписані образи, підпис не має сенсу

1. Чому Zero Trust вважає внутрішню мережу компанії такою ж небезпечною, як і публічний інтернет?

Тому що зловмисники часто використовують “горизонтальне переміщення” (lateral movement). Потрапивши на один незахищений принтер або ноутбук співробітника, вони можуть атакувати сервери, якщо ті довіряють усьому “внутрішньому” трафіку.

2. У чому головна функція Identity-Aware Proxy (IAP)?

IAP перевіряє ідентичність користувача та контекст його запиту (стан пристрою, локація) ПЕРЕД тим, як запит потрапить до додатка. Це дозволяє безпечно виставляти внутрішні сервіси в інтернет без VPN.


Практична вправа: Мікросегментація

Розділ «Практична вправа: Мікросегментація»
  1. Створіть кластер (kind) та встановіть мережевий плагін із підтримкою політик (Calico/Cilium).
  2. Розгорніть 3-рівневий додаток (Web, API, DB).
  3. Застосуйте політику “Deny All” на весь неймспейс.
  4. Напишіть правила, які дозволяють:
    • Web -> API.
    • API -> DB.
  5. Перевірте, що спроба зайти з Web прямо в DB блокується мережею.

Ви зробили систему безпечною, тепер час зробити її економічно ефективною. Переходьте до Модуля 10.10: FinOps у корпоративному масштабі — ми вивчимо хмарну економіку, моделі chargeback та те, як не витрачати мільйони на зайві ресурси.