Відзначимо: коли надходить вимога "відповідати 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 кроків
- Встановіть пакети:
yum install openscap-scanner scap-security-guide - Виберіть профіль:
oscap info ... | grep Profileі виберіть потрібний (наприклад, cis_server_l2) - Запустіть сканування:
oscap xccdf eval --profile ... --results results.xml --report report.html - Згенеруйте ремедіацію:
oscap xccdf generate fix --fix-type ansible ... > playbook.yml - Застосуйте 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







