список контролю доступу - списки контролю доступу - політика контролю доступу

Список контролю доступу в CI/CDПрихований ризик простих дозволів

Коли «прості дозволи» перетворюються на сліпу пляму

Багато команд розглядають список контролю доступу як статичну конфігурацію, «просто список того, хто що може робити». CI/CD контексті, ця простота стає небезпечною. Одна неправильно налаштована політика контролю доступу може дозволити несанкціоноване надсилання коду, pipeline втручання або виявлення артефактів. На відміну від вразливостей під час виконання, ці ризики тихо зберігаються в репозиторії або pipeline налаштування, рідко переглядаються та часто успадковуються з різних середовищ.

Справжня проблема полягає в тому, що списки контролю доступу не розвиваються разом з вашим робочим процесом. Розробники додають нових користувачів, облікові записи автоматизації або інтеграції, і ACL застаріває, надаючи надмірні привілеї ще довго після того, як вони потрібні.

Неправильні конфігурації ACL у реальному світі CI/CD Pipelines

Проблеми з ACL у pipelineє одними з найбільш недооцінених слабких місць DevSecOps. Давайте подивимося, як вони проявляються в реальних умовах.

Надто широкі дозволи репозиторію

⚠️ Небезпечний приклад, лише для освітніх цілей. Не використовувати у продакшені.

Маючи ці дозволи, будь-який обліковий запис служби або розробник може змінювати код розгортання, що є чітким свідченням неправильної конфігурації списку контролю доступу.

Безпечна версія:

Pipeline Витоки токенів

Безпечна версія:

Тут політика контролю доступу не спрацювала задумом: токени збірки не мали належного визначення області дії. Навіть попри те, що ACL технічно існували, вони допускали надмірний доступ через погану конфігурацію. 

Як зловмисники використовують слабкі списки контролю доступу в ланцюжку поставок програмного забезпечення

Зловмисники люблять слабкі списки контролю доступу, оскільки вони рідко викликають сповіщення. In CI/CD, вони використовують прогалини в ACL для латерального переміщення, підвищення привілеїв або впровадження шкідливого коду.

Поширені шляхи експлуатації

  • Успадковані дозволи: Застарілі записи ACL надають колишнім співробітникам або службовим обліковим записам постійний доступ до pipelineабо репозиторії.
  • Поширення привілеїв: Єдиний дозвіл адміністратора для спільного реєстру виконавців або контейнерів поширюється на всі проекти.
  • Викрадення токенів: Неправильно налаштовані політики контролю доступу дозволяють змінним середовища або секретам потрапляти в журнали.

Наприклад, зловмисник, який скомпрометує токен учасника з доступом на запис, може вставити код бекдору в скрипти збірки. Технічно ACL «дозволяла це», але була надмірно поблажливою, порушуючи принципи найменших привілеїв.

Вихід за межі статичних списків контролю доступу: контекстно-залежні політики контролю доступу

Статичні списки контролю доступу є крихкими. Сучасне середовище DevSecOps вимагає контекстно-залежних політик контролю доступу які динамічно налаштовують дозволи, залежно від гілки, середовища або ролі користувача.

Контрольний список безпечного ACL для розробників

  • забезпечувати дотримання найменший привілей, за замовчуванням немає доступу для запису
  • Використовуйте ACL на основі гілок (наприклад, розгортайте доступ лише з основний or звільнити)
  • Перевірте ідентифікаційні дані користувачів та облікових записів служби перед наданням доступу
  • Переглядайте успадковані дозволи кожного спринту
  • Реєструйте всі зміни ACL та забезпечте застосування 2FA для адміністраторів
  • Інтегруйте перевірку політики контролю доступу в pipeline код
  • Використовуйте контекстно-залежні правила (час, IP-адреса, пристрій) для конфіденційних розгортань

Приклад контекстно-залежного ACL

Освітня примітка: Контекстно-залежні ACL зменшують ризики в різних середовищах

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

Інтеграція перевірок списків контролю доступу та перевірки дозволів у DevSecOps

У зрілому віці pipelineACL слід розглядати як код, версіонувати, перевіряти та перевіряти, як і будь-який інший артефакт. Саме тут безпосередньо застосовуються принципи DevSecOps.

Послідовність перегляду списку контролю доступу

  1. Pre-commit перевірки перевірити YAML або IaC файли, що визначають ACL
  2. Static analysis tools сканування на наявність надто широких правил
  3. Експертні огляди забезпечити відповідність політик контролю доступу бізнес-намірам
  4. Pipeline підтвердження забезпечити мінімальні привілеї під час збірки

приклад:

Освітня примітка: Інтегруйте перевірку ACL перед об'єднанням

Вбудовування перевірки ACL у кожен pull request допомагає запобігти неправильним конфігураціям, перш ніж вони потраплять у виробництво.

Автоматизований Guardrails та забезпечення дотримання політики в режимі реального часу

Автоматизація усуває розрив між статичним та динамічним керуванням. Списки контролю доступу не повинні спиратися лише на ручний перегляд; guardrails повинен застосовувати політики під час виконання.

Приклад примусового виконання

xygeni enforce –policy access-control.yaml –stage deploy

Ця команда забезпечує виконання визначеної політики контролю доступу в режимі реального часу, блокуючи будь-які спроби розгортання, які порушують правила. Guardrails Такі засоби гарантують, що ваш список контролю доступу залишається відповідним очікуванням безпеки, навіть якщо середовище змінюється.

Виявлення та виправлення незахищених списків контролю доступу за допомогою Xygeni

Ксігені Code Security забезпечує постійний доступ до списків контролю доступу в різних репозиторіях, збирає pipelineта системи розгортання.
Він автоматично виявляє:

  • Занадто широкі або успадковані дозволи
  • Осиротілі облікові записи у визначеннях ACL
  • Невідповідні політики контролю доступу
  • Шляхи ескалації привілеїв між CI/CD етапи

приклад:

сканування xygeni – виявлення ACL

З автоматизованими інструкціями з виправлення, Ксігені перетворює ACL з сліпої плями на керований та аудитований компонент життєвого циклу безпеки. Інтегрується з GitHub, GitLab, Jenkins та хмарними сервісами CI/CD інструменти, що забезпечують постійну перевірку списків контролю доступу та їх контекстне застосування.

Перетворення ACL на засіб забезпечення безпеки

Список контролю доступу — це не просто адміністративний файл; це артефакт безпеки, який визначає, хто може формувати ваше програмне забезпечення. В CI/CD У світі помилково розглядати ACL як статичні конфігурації. Вони повинні розвиватися разом із вашою зрілістю DevSecOps. Завдяки впровадженню політик динамічного контролю доступу, вбудовуванню оглядів та використанню таких інструментів, як Xygeni Code Securityкоманди розробників можуть запобігти зловживанню привілеями та захистити цілісність своїх pipelines.

Ключовий винос

Ставтеся до своїх списків контролю доступу як до коду, з версіонами, перевіреного та застосованого до нього коду. У DevSecOps ACL визначають межі довіри. Завдяки постійній перевірці, політики контролю доступу можуть перейти від тихих ризиків до активних засобів безпечної автоматизації.

інструменти-для-аналізу-складу-програмного-засобу-sca
Визначте пріоритети, усуньте та захистіть ризики, пов'язані з програмним забезпеченням
Отримайте свій безкоштовний обліковий запис.
Не потрібна кредитна картка.

Забезпечте розробку та доставку програмного забезпечення

з пакетом продуктів Xygeni