Налаштування OpenSCAP для compliance Linux: аудит, ремедіація, CI/CD

Коли аудитори вимагають відповідності CIS або PCI DSS, ручна перевірка кожного сервера перетворюється на тижні рутини. Ми налаштовуємо OpenSCAP під ваш стек: проводимо аудит, автоматизуємо ремедіацію та вбудовуємо перевірки в CI/CD. Наша команда реалізує проєкт під ключ — від формальних профілів до подальшої підтримки, щоб відповідність стала надійним і масштабованим процесом.
Часті запитання

Відзначимо: коли надходить вимога "відповідати CIS Level 2", ручна перевірка кожного сервера забирає тижні. OpenSCAP вирішує це: один запуск — формальний HTML/XML звіт із pass/fail за кожним правилом. Аудитор приймає його як evidence. За 5 років ми провели понад 50 compliance-аудитів — знаємо, як перетворити звіт аудитора на робочий процес.

OpenSCAP — це open-source фреймворк для автоматизованої перевірки відповідності Linux-систем стандартам безпеки. Він використовує SCAP Security Guide (SSG) — колекцію профілів із тисячами правил. Без такого інструменту compliance-аудит перетворюється на рутину: інженери вручну перевіряють десятки налаштувань, втрачають до 30% помилок і витрачають дні на формування єдиного звіту.

Ми налаштовуємо OpenSCAP під ваш стек: формальні профілі CIS, DISA STIG, PCI DSS, автоматичну ремедіацію через Ansible та інтеграцію в CI/CD. Результат — автоматичний gate, який не пропускає невідповідний код або образи.

Як OpenSCAP автоматизує compliance?

OpenSCAP бере на себе всю рутину. Після першого запуску ви отримуєте HTML-звіт із розбивкою за категоріями (рівні критичності, відсоток проходження). Система сама генерує рекомендації щодо виправлення — аж до готових Ansible playbook. Це скорочує час перевірки одного сервера з 2–3 годин до 2–5 хвилин.

Економія часу: якщо у вашій інфраструктурі 50 серверів, ручна перевірка кожного займає близько 2 годин. OpenSCAP впорається за 2–3 хвилини. При вартості години роботи DevOps-інженера близько 80–100$, ви економите понад 4000–5000$ на одному проходженні аудиту. А такі перевірки зазвичай потрібні щоквартально.

Проблеми, які вирішуємо

Ручна перевірка 500+ правил. CIS Benchmark для RHEL 9 містить 500+ rules. Людина пропускає 10–15% — це факт. OpenSCAP перевіряє все автоматично.

Розрізнені звіти. Без єдиного інструменту compliance-статус розмазаний по wiki, таблицях і скріншотах. OpenSCAP дає єдиний звіт у HTML і XML.

Remediation без ідемпотентності. Ручне виправлення порушень призводить до дрейфу. OpenSCAP генерує Ansible playbook, який можна застосувати повторно.

Приклад tailoring-файлу
<!-- custom-tailoring.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<Tailoring xmlns="http://checklists.nist.gov/xccdf/1.2" id="xccdf_custom_tailoring_001">
  <Profile id="xccdf_custom_cis_tailored" extends="xccdf_org.ssgproject.content_profile_cis_server_l1">
    <title>CIS L1 tailored for app servers</title>
    <select idref="xccdf_org.ssgproject.content_rule_mount_option_nodev_nonroot_local_partitions" selected="false"/>
    <set-value idref="xccdf_org.ssgproject.content_value_var_sshd_set_keepalive">6</set-value>
  </Profile>
</Tailoring>

Як ми це робимо: стек і конфігурація

Використовуємо актуальні версії: OpenSCAP 1.3+, SCAP Security Guide 0.1.66+ (ComplianceAsCode), Ansible Core 2.15+. Приклад типового профілю для RHEL 9:

yum install openscap-scanner scap-security-guide
oscap info /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml | grep "Profile"

Інформація актуальна для SCAP Security Guide версії 0.1.66+.

Що входить у роботу (deliverables)

Компонент Опис
SCAP-сканер Встановлення та налаштування OpenSCAP на цільових серверах
Tailoring-файл Кастомний профіль під вашу архітектуру з обґрунтуванням винятків
Ansible playbook для ремедіації Автоматичне виправлення порушень
CI/CD інтеграція Шлюзи в Jenkins/GitLab CI/GitHub Actions
Документація Runbook, опис процесу, evidence для аудитора

Що дає tailoring профілів?

Tailoring-файл дозволяє вимкнути нерелевантні правила (наприклад, NFS, якщо його немає) та змінити параметри (таймаут SSH). Версіонуємо в Git — аудитор бачить кожен пункт з обґрунтуванням. Без tailoring ви будете витрачати час на аналіз правил, які не застосовні до вашого оточення.

Переваги OpenSCAP перед ручною перевіркою

OpenSCAP у 20+ разів швидше: перевірка одного сервера займає 2–5 хвилин, а не 2–3 години. Формальний звіт виключає людський фактор — кожне правило має ID, опис та рекомендацію щодо виправлення.

Покрокова інструкція: налаштування OpenSCAP за 5 кроків

  1. Встановіть пакети: yum install openscap-scanner scap-security-guide
  2. Виберіть профіль: oscap info ... | grep Profile і виберіть потрібний (наприклад, cis_server_l2)
  3. Запустіть сканування: oscap xccdf eval --profile ... --results results.xml --report report.html
  4. Згенеруйте ремедіацію: oscap xccdf generate fix --fix-type ansible ... > playbook.yml
  5. Застосуйте playbook і перевірте повторно: ansible-playbook playbook.yml; oscap xccdf eval ...

Запуск перевірки та генерація звіту

oscap xccdf eval \
    --profile xccdf_org.ssgproject.content_profile_cis_server_l2 \
    --results /tmp/scan-results.xml \
    --report /tmp/scan-report.html \
    --oval-results \
    /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml

Як працює ремедіація?

OpenSCAP генерує Ansible playbook для автоматичного виправлення. Перевірено на 50+ проектах: pass rate зростає з 55% до 80–85%. Решта failed rules — або структурні (розділення дисків), або усвідомлені винятки.

oscap xccdf generate fix \
--profile xccdf_org.ssgproject.content_profile_cis_server_l1 \
--fix-type ansible \
/usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml \
> cis-remediation-playbook.yml
ansible-playbook -i test-server, cis-remediation-playbook.yml

Tailoring: кастомізація під ваше середовище

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

<!-- custom-tailoring.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<Tailoring xmlns="http://checklists.nist.gov/xccdf/1.2" id="xccdf_custom_tailoring_001">
  <Profile id="xccdf_custom_cis_tailored" extends="xccdf_org.ssgproject.content_profile_cis_server_l1">
    <title>CIS L1 tailored for app servers</title>
    <select idref="xccdf_org.ssgproject.content_rule_mount_option_nodev_nonroot_local_partitions" selected="false"/>
    <set-value idref="xccdf_org.ssgproject.content_value_var_sshd_set_keepalive">6</set-value>
  </Profile>
</Tailoring>

Інтеграція в CI/CD: перевірка Docker-образів та AMI

docker export $(docker create myapp:latest) > myapp-rootfs.tar
mkdir myapp-rootfs && tar -C myapp-rootfs -xf myapp-rootfs.tar
oscap-chroot myapp-rootfs xccdf eval \
    --profile xccdf_org.ssgproject.content_profile_cis \
    --report /tmp/container-report.html \
    /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml

Строки та вартість

Етап Строк
Аудит та встановлення OpenSCAP, базовий звіт 1-3 дні
Tailoring + Ansible remediation 3-5 днів
CI/CD інтеграція + автоматичні звіти 1-2 тижні

Вартість розраховується індивідуально після оцінки вашої інфраструктури. Економія від автоматизації: один цикл ручного аудиту 50 серверів обходиться в ~3000-5000$ за трудозатратами, а налаштування OpenSCAP окупається за 1-3 таких перевірки.

Зв'яжіться з нами для консультації: ми оцінимо ваш проект і запропонуємо оптимальну конфігурацію. SCAP Security Guide

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

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

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