Налаштування автоматичної перевірки CIS Benchmarks під ключ

Ручна перевірка конфігурацій на сотнях вузлів з'їдає час команди і все одно залишає розбіжності. Ми налаштовуємо автоматичну перевірку CIS Benchmarks під ключ: профілі під вашу інфраструктуру, регулярні звіти й зрозумілі регламенти. Охоплення зростає, а ручної роботи стає менше.
Часті запитання

Чому ручна перевірка CIS Benchmarks не масштабується

Еталонний профіль CIS Benchmarks погоджено і він лежить у репозиторії, але перевірка відповідності виконується вручну: інженер заходить на кожен вузол, звіряє за таблицею параметри ядра, права на файли, налаштування віддаленого доступу та служб аудиту, вручну позначає розбіжності.

На десятку машин це півдня, на сотні — тижні, а результат залежить від того, хто саме дивився і чи не втомився він до кінця обходу.

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

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

Перед аудитом команда сідає звіряти конфігурації заново і йде по тому ж колу: тиждень обходу, список зауважень, правки поспіхом. Частину пунктів закрити не встигають — не тому, що не знали, а тому що знайшли надто пізно.

Підтвердити, що між перевірками стан не змінювався, за такого підходу теж нічим: доказ доводиться збирати вручну і заново.

Розбираємо, як це закривається: еталонний профіль перетворюється на виконуваний набір правил, перевірка відповідності йде за розкладом і видає машиночитний звіт, а розбіжності випливають у день зміни — а не за день до аудиту.

Що дає автоматична перевірка конфігурацій

Ручна звірка налаштувань — це дні перед кожним аудитом: інженер йде за списком із сотень пунктів і очима порівнює фактичний стан вузлів з еталоном.

Автоматична перевірка конфігурацій перетворює це на регулярний прогін за розкладом — еталон CIS Benchmarks розкладено на перевірювані пункти, і кожна позиція отримує статус: відповідає, розбіжність, не застосовно для цієї ролі.

Скільки часу звільняється у команди

Прогін іде у фоні, займає десятки хвилин і не потребує участі людини, а звіт про розбіжності надходить уже з прив'язкою до вузла та пункту еталону.

Час на підготовку до аудиту скорочується з днів на збір доказів до розбору одного списку: що закрито, що в роботі, що оформлено як усвідомлений виняток з обґрунтуванням.

Контроль налаштувань перестає залежати від того, хто саме веде напрямок і чи пам'ятає він про конкретний параметр.

Який клас відмов зникає разом із розбіжностями налаштувань

Йдеться про налаштування, які не валять сервіс одразу: зайвий відкритий порт, ослаблена перевірка автентичності на внутрішньому сервісі, надлишкові права службового облікового запису, забутий після налагодження режим.

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

Історія прогонів дає ще один ефект: відхилення від еталону видно як подію з датою та відповідальним, а не як «так історично склалося». Коли еталон оновлюється, список розбіжностей перезбирається автоматично — парк не потрібно обходити вручну заново.

Варіанти перевірки: агентний, безагентний, гібридний

Зняття налаштувань еталонного профілю можна вести трьома способами, і від вибору залежить охоплення парку, швидкість першого прогону та обсяг супроводу.

Усі режими спираються на той самий профіль CIS Benchmarks — відрізняється не результат, а спосіб доставки перевірок на вузол і те, як часто ми отримуємо свіжий зріз.

Варіант Коли підходить Обмеження
Агентна перевірка Парк від десятків вузлів, потрібне зняття за розкладом, стійкість до обривів зв'язку та повторний запуск після збою Потребує встановлення служби на кожному вузлі та погодження з власниками продуктивних машин; оновлення агента — окреме завдання
Безагентна перевірка Закриті сегменти, де встановлення служб заборонено; швидке охоплення без змін на хостах і разові аудити Спирається на мережевий доступ і обліковий запис з правами читання; частина налаштувань недоступна віддалено, а вікно зняття обмежене регламентом
Гібридний режим Різнорідний парк: частина машин у контрольованому контурі, частина — у зовнішньому або орендованому Складніша схема доступів і розмежування ролей; потрібна єдина точка зведення та нормалізації результатів

Як вибрати режим під парк систем

Починаємо з інвентаризації систем: скільки вузлів, які сімейства операційних систем, де проходять межі сегментів і чи є заборона на встановлення служб. Інвентаризація відразу показує, який режим закриває парк за один прогін, а де залишаться сліпі зони.

Практичне правило: якщо більшість вузлів відповідає по мережі та змінюється рідко — достатньо безагентної перевірки. Якщо потрібне часте зняття та контроль відхилень між прогонами — агент надійніший.

Гібридний режим беремо, коли парк неоднорідний: він дає повне охоплення, але потребує більше погоджень на старті.

Етапи впровадження: від інвентаризації до регламентів

Впровадження йде хвилями: спочатку фіксуємо фактичний стан, потім вмикаємо перевірки в режимі звіту і тільки потім закриваємо розбіжності. Якщо почати з повного профілю, частина сервісів перестане відповідати в найневідповідніший момент — довіра до контролю зникне на старті.

  1. Інвентаризація: перелік вузлів, їхні ролі, середовища та власники — без цього реєстру далі рухатися не можна.
  2. Підбір рівня суворості під кожну роль і відбраковування правил, які в нашій конфігурації завідомо незастосовні.
  3. Замір початкового стану: прогін у режимі звіту дає список розбіжностей з їхньою критичністю.
  4. Налаштування профілів і винятків: кожне відхилення оформлюється письмово, з обґрунтуванням.
  5. Усунення розбіжностей через конфігурацію, а не правкою вручну на вузлі — результат має відтворюватися.
  6. Перевірка після змін і оновлень: прогін повторюється на кожному випуску.
  7. Регламент перевірок: розклад, відповідальні, поріг допустимих розбіжностей і порядок ескалації.

Налаштування профілів і винятків

Профіль збирається під ролі: базовий набір для всіх вузлів, окремий — для серверів застосунків і баз даних. Виняток — це не «вимкнути правило», а запис із причиною, компенсувальним заходом і датою перегляду, інакше через півроку ніхто не згадає, чому контроль вимкнено.

Перевірка після змін і оновлень

Оновлення системи ламає правила, налаштовані під попередню поведінку, тому прогін прив'язаний до складального конвеєра: розбіжність вище порогу зупиняє випуск. Регламент фіксує, хто розбирає розбіжність і за який час.

Що залишається на виході: профілі, політики, звіти

Результат налаштування — не разовий звіт, а комплект артефактів, який живе в репозиторії поруч із конфігурацією і передається черговій команді або зовнішньому аудитору без пояснень «на словах». Кожен артефакт версіонується, тому видно, хто і коли послабив правило і чому.

Профілі та правила винятків

  • Профіль перевірок під конкретний клас вузлів: база, веб-роль, СУБД, бастіон — з явно вказаним рівнем суворості.
  • Реєстр винятків: кожне відхилення від профілю з обґрунтуванням, власником і датою перегляду, а не «заглушка для галочки».
  • Політики доступу: кому які перевірки запускати, хто має право вносити виняток, хто затверджує зняття.
  • Набір правил для контейнерних образів і для хостів — окремо, щоб не змішувати вимоги до середовища виконання і до образу.

Регламент регулярних перевірок

  • Регламент перевірок: періодичність, вікно запуску, відповідальний за розбір, реакція на критичні розбіжності.
  • Звіт про відповідність у двох видах — машиночитний для порівняння прогонів і людиночитний для аудитора; порівняння показує тільки нові розбіжності, а не всю видачу.
  • Документація з інфраструктури: карта вузлів, зони відповідальності, точки інтеграції перевірок у конвеєр викладки.
  • Порядок розбору розбіжностей і повторного прогону після виправлень.

Опишіть вашу інфраструктуру — повернемося з оцінкою обсягу та планом робіт.

Кейс: прибрали розбіжності конфігурацій на сотнях вузлів

Парк замовника — 300+ вузлів під кілька команд: класичні сервери та контейнерні кластери.

Перед зовнішнім аудитом інженери вручну звіряли конфігурації зі стандартом CIS Benchmarks: цикл займав близько трьох тижнів, розбіжності на момент звіту — 38% вузлів, а приблизно 45 зауважень повторювалися з перевірки в перевірку. Їх закривали, але під час наступного розгортання вузол знову повертався до базових налаштувань.

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

До наступного циклу частка вузлів з розбіжностями впала з 38% до 4%, підготовка до перевірки скоротилася з трьох тижнів до двох днів, повторювані зауваження — з 45 до трьох. Понад половину відхилень тепер закривається до виходу вузла в продуктивний контур.

Як вибудовували роботу з винятками

Винятки накопичувалися в листуванні, і кожен ставав приводом для суперечки на аудиті. Ми завели єдиний реєстр: у запису є власник, технічне обґрунтування, сфера дії та дата перегляду.

Реєстр лежить поруч із конфігурацією і проходить обов'язкове рев'ю, тому «тимчасовий» виняток не перетворюється на безстроковий — частина записів закривається правкою конфігурації, частина переходить у прийнятий ризик з явним формулюванням.

Що робити, якщо CIS Benchmarks уже частково впроваджено?

Часткове впровадження — не привід починати заново. Зазвичай більша частина вимог профілю вже закрита, але закрита вручну: налаштування живуть у списку перевірок інженера, а не в описі, який можна застосувати повторно.

Перший крок — зняти фактичний стан налаштувань і звірити його з обраним рівнем профілю, а не з пам'яттю команди.

Звірка дає три групи: вимоги виконані та підтверджуються автоматично, вимоги не закриті, і налаштування, ослаблені свідомо заради сумісності — застарілі алгоритми шифрування під старе обладнання, вимкнений розмежувач доступу, відкриті налагоджувальні інтерфейси.

Остання група найризикованіша: вона не виглядає боргом, бо колись була обґрунтована, і про неї давно ніхто не пам'ятає.

Кожне ослаблення переводимо в явний виняток: правило в політиці, причина, власник і умова перегляду. Ослаблене налаштування, зафіксоване явно, перестає бути невідомою дірою і стає керованим рішенням, за яке хтось відповідає.

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

Після кожного етапу профіль переперевіряється автоматично: результат не у звіті, а в перевірці, яка падає при відхиленні.

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

Технічні сумніви та обмеження перевірок

Профіль CIS Benchmarks — це набір правил під типову конфігурацію, а не закон. Частина перевірок у вашому середовищі незастосовна, частина конфліктує з прикладним стеком: заборона нестандартних портів ламає роботу сервісу. Завдання — не «увімкнути все», а відібрати застосовне й обґрунтувати кожне відхилення.

Перевірки створять навантаження на бойові системи?

Основний обсяг — читання файлів конфігурації та прав доступу, без важких операцій. Сканування йде за розкладом, у вікно низької активності, порціями за групами вузлів.

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

У нас є обґрунтовані відхилення від правил

Виняток — частина моделі, а не прогалина в покритті. Кожне відхилення оформлюємо правилом у профілі: власник, причина, дата перегляду. У звіті воно видно як прийняте рішення, а не як провал, тому правило не вимикають «назавжди і без сліду».

Контейнери та віртуальні машини перевіряються по-різному?

Для образів контроль вбудовується у складання: незмінний образ перевіряється один раз і не потребує повторного сканування в середовищі виконання. На віртуальних машинах конфігурація змінюється вручну — там потрібен періодичний контроль і фіксація дрейфу.

Профілі застарівають — хто стежить за актуальністю?

Під час виходу нової версії еталону ми порівнюємо її з поточним набором, а не перезаливаємо. Видно, які правила додалися і які зачіпають ваші винятки; рішення щодо кожного фіксуємо, інакше оновлення тихо зніме обґрунтовані відхилення.

Обговоримо завдання та повернемося з оцінкою і планом

Щоб оцінка обсягу робіт була точною, а план впровадження — здійсненним, на старті потрібен не повний розбір інфраструктури, а кілька вступних. Їх достатньо, щоб порахувати склад робіт, визначити порядок етапів і зрозуміти, що знадобиться на підготовці до старту.

  • Перелік систем і вузлів, що підпадають під перевірку: сервери, кластери, бази даних, контейнерні платформи, робочі станції адміністраторів.
  • Цільові профілі CIS та їхні рівні — базовий або посилений, а також правила, які завідомо незастосовні до вашого контуру.
  • Схема ролей і доступів: службовий обліковий запис, якого достатньо для читання конфігурацій, без прав змінювати робочі сервіси.
  • Вікно змін і порядок погодження: коли допустимо вмикати регулярні прогони в бойовому контурі.
  • Вимоги до звітності — кому і в якому вигляді потрібен результат: зведення за вузлами, список розбіжностей, історія прогонів, розбір винятків.
  • Місце зберігання еталону: де живуть профілі та погоджені винятки і хто на вашій стороні їх затверджує.

З цим набором ми повертаємося з оцінкою обсягу робіт і планом впровадження: послідовність етапів, склад робіт за кожним, точки контролю та зона відповідальності вашої команди. Опишіть завдання — обговоримо деталі та запропонуємо порядок запуску.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    815
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139