# Сканирование соответствия

> Сканирование соответствия CIS Benchmark и SCAP на Linux-серверах в SecureBaseline Cloud - запуск проверок, анализ и экспорт отчетов

Source: https://opennix.org/docs/haas/compliance-scanning/


## Обзор

Сканирование соответствия оценивает серверы на соответствие эталонным тестам CIS (Center for Internet Security). Платформа выполняет автоматизированные проверки безопасности с использованием стандартных протоколов SCAP.

## Навигация

**Меню**: Инфраструктура > Соответствие

## Понимание эталонных тестов CIS

Эталонные тесты CIS - это руководства по настройке для защиты операционных систем. Каждый эталонный тест содержит сотни правил, организованных в разделы:

1. **Начальная настройка** - файловая система, обновления ПО
2. **Сервисы** - отключение ненужных сервисов
3. **Сетевая конфигурация** - фаервол, параметры ядра
4. **Логирование и аудит** - правила аудита, управление логами
5. **Контроль доступа** - конфигурация SSH, PAM, sudo
6. **Обслуживание системы** - права файлов, учетные записи пользователей

### Уровни соответствия

- **Level 1** - базовая безопасность, минимальное влияние на функциональность
- **Level 2** - расширенная безопасность, может повлиять на некоторую функциональность

## Макет страницы

### Карточки статистики

Верхняя часть страницы отображает четыре сводные карточки:

| Карточка | Описание |
|----------|----------|
| Всего сканирований | Количество сканирований для выбранного хоста |
| Последний балл | Процент соответствия последнего завершенного сканирования |
| Пройденные правила | Количество пройденных правил в последнем сканировании |
| Проваленные правила | Количество проваленных правил в последнем сканировании (красный цвет) |

### График трендов соответствия

Под статистикой линейный график показывает тренды баллов соответствия за последние 30 дней. Заголовок графика включает название профиля.

### Панель инструментов

| Элемент управления | Описание |
|--------------------|----------|
| Выбор хоста | Выпадающий список для выбора хоста для просмотра сканирований |
| Фильтр статуса | Фильтр сканирований по статусу (Все, Завершено, Выполняется, Ожидание, Ошибка) |
| Поиск | Поиск по ID сканирования |
| Новое сканирование | Создать новое сканирование соответствия |
| Обновить | Перезагрузить список сканирований |
| Экспорт CSV | Экспорт списка сканирований в CSV |
| Экспорт JSON | Экспорт списка сканирований в JSON |

### Таблица списка сканирований

| Колонка | Описание |
|---------|----------|
| ID сканирования | Первые 8 символов UUID сканирования |
| Статус | Статус сканирования с цветовым индикатором |
| Балл | Процент соответствия (цветовая кодировка: зеленый >=80%, желтый >=60%, красный <60%) |
| Пройдено | Количество пройденных правил |
| Провалено | Количество проваленных правил |
| Длительность | Длительность сканирования в секундах |
| Создано | Время создания сканирования |
| Действия | Кнопки Просмотр результатов и Скачать отчет (для завершенных сканирований) |

## Запуск сканирования

### Сканирование одного хоста

1. Выберите хост из выпадающего списка **Выбор хоста**
2. Нажмите кнопку **Новое сканирование**
3. В модальном окне:
   - **Хост**: Предзаполнен выбранным хостом, можно изменить
   - **SCAP-профиль**: Выберите профиль, соответствующий ОС хоста (профили фильтруются по определенной ОС)
4. Нажмите **Создать сканирование**

### Массовое сканирование

1. Перейдите на страницу **Хосты**
2. Выберите несколько хостов с помощью чекбоксов
3. Нажмите кнопку **Массовое сканирование (N)**
4. Выберите SCAP-профиль из выпадающего списка
5. Нажмите **Запустить сканирования**

Прогресс-бар показывает ход создания сканирований.

## SCAP-профили

Доступные профили зависят от определенной ОС хоста:

| ОС | Доступные профили |
|----|-------------------|
| Ubuntu 20.04 | CIS Level 1 Server, CIS Level 2 Server |
| Ubuntu 22.04 | CIS Level 1 Server, CIS Level 2 Server |
| Ubuntu 24.04 | CIS Level 1 Server, CIS Level 2 Server |
| Debian 11 | CIS Level 1 Server, CIS Level 2 Server |
| Debian 12 | CIS Level 1 Server, CIS Level 2 Server |
| RHEL 8/9 | CIS Level 1 Server, CIS Level 2 Server |
| AlmaLinux 8/9 | CIS Level 1 Server, CIS Level 2 Server |
| Rocky Linux 8/9 | CIS Level 1 Server, CIS Level 2 Server |
| Oracle Linux 8/9 | CIS Level 1 Server, CIS Level 2 Server |
| Amazon Linux 2 | CIS Level 1 Server, CIS Level 2 Server |

## Статус сканирования

| Статус | Цвет | Описание |
|--------|------|----------|
| Pending | Серый | Сканирование в очереди |
| Running | Синий (processing) | Сканирование выполняется |
| Completed | Зеленый | Сканирование успешно завершено |
| Failed | Красный | Сканирование завершилось с ошибкой |

## Эксклюзивность задач на хосте

На одном хосте одновременно может выполняться только одна операция. Если на хосте уже запущено сканирование, задача харденинга или ремедиация, новые запросы возвращают ошибку 409 Conflict: "Host has active tasks. Wait for them to complete."

Это относится ко всем операциям: сканирование соответствия, сканирование уязвимостей, харденинг и ремедиация. Запланированные задачи также учитывают это ограничение и пропускают хосты с активными задачами.

## Автообновление

Когда есть выполняющиеся или ожидающие сканирования, страница автоматически обновляется каждые 10 секунд для отображения актуального статуса.

## Просмотр результатов

### Модальное окно результатов

Нажмите кнопку **Результаты** на завершенном сканировании для открытия модального окна результатов:

#### Панель инструментов
- **Фильтр по результату**: Выпадающий список для фильтрации по pass/fail/error/notapplicable
- **Всего правил**: Показывает общее количество проверенных правил
- **Количество проваленных правил**: Красный тег с количеством проваленных правил
- **Экспорт CSV**: Экспорт результатов в CSV
- **Экспорт JSON**: Экспорт результатов в JSON

#### Таблица результатов

| Колонка | Описание |
|---------|----------|
| ID правила | Уникальный идентификатор правила CIS |
| Название правила | Описание правила |
| Критичность | High (красный), Medium (оранжевый), Low (синий) |
| Результат | Pass (зеленый), Fail (красный), Error (желтый), Not Applicable (серый), Not Checked (синий) |
| AI-помощь | Кнопка Объяснить (если настроен LLM) |

#### Раскрываемые детали строки

Нажмите иконку раскрытия для просмотра:
- **Описание**: Детальное объяснение правила
- **Обоснование**: Почему это правило важно для безопасности
- **Исправление**: Команды или шаги для исправления проблемы
- Кнопка **Объяснить с AI** (если настроен LLM)

### Функция быстрого исправления

Функция Quick Fix позволяет исправлять проваленные правила:

1. В модальном окне результатов выберите проваленные правила с помощью чекбоксов (можно выбрать только проваленные правила)
2. Нажмите кнопку **Quick Fix (N)** (показывает количество выбранных правил)
3. Подтвердите действие во всплывающем окне
4. Создается задание усиления для исправления выбранных правил

### AI-объяснение

Если настроен LLM (см. Настройки AI), вы можете получить AI-объяснения:

1. Нажмите кнопку **Объяснить** в колонке AI-помощь, или
2. Раскройте правило и нажмите кнопку **Объяснить с AI**
3. Откроется модальное окно с:
   - Тегами ID правила, Критичности и Результата
   - Названием правила
   - AI-сгенерированным объяснением в формате markdown

## Понимание результатов

### Pass

Конфигурация системы соответствует требованию CIS.

### Fail

Конфигурация системы не соответствует требованию CIS. Просмотрите правило и рассмотрите применение усиления.

### Error

Проверка не может быть выполнена. Распространенные причины:
- Отсутствует необходимый пакет
- Проблемы с правами
- Неподдерживаемая конфигурация

### Not Applicable

Правило не применимо к этой системе. Например:
- Правила IPv6, когда IPv6 отключен
- Правила GUI на сервере без десктопа

### Not Checked

Правило не было оценено (пропущено).

## Отчеты

### Просмотр отчетов

1. Найдите завершенное сканирование
2. Нажмите кнопку **Отчет**
3. Отчет откроется в новой вкладке браузера (формат HTML)

### Содержимое отчета

- Краткое резюме
- Балл соответствия
- Детальные выводы
- Описания правил
- Рекомендации по исправлению

### Экспорт данных

#### Экспорт списка сканирований
1. Нажмите **Экспорт CSV** или **Экспорт JSON** на панели инструментов
2. Загружаются все видимые сканирования

#### Экспорт результатов
1. Откройте модальное окно Результаты
2. Нажмите кнопку **CSV** или **JSON**
3. Загружаются все результаты правил для этого сканирования

## Тренды соответствия

Страница Соответствие показывает график трендов:

- Линейный график баллов соответствия за последние 30 дней
- Название профиля отображается в заголовке графика
- Помогает отслеживать улучшения во времени

Панель мониторинга также показывает тренды соответствия по всем хостам.

## Лучшие практики

### Регулярное сканирование

- Планируйте еженедельные сканирования соответствия (см. страницу Расписания)
- Сравнивайте результаты во времени с помощью графика трендов
- Отслеживайте улучшения после усиления

### Выбор профиля

- Начните с Level 1 для базовой безопасности
- Используйте Level 2 для высокозащищенных сред
- Выбирайте профиль в соответствии с ролью сервера

### Анализ результатов

- Сначала сфокусируйтесь на высококритичных сбоях
- Используйте Quick Fix для исправления выбранных правил
- Используйте AI-объяснение для понимания сложных правил
- Группируйте похожие сбои для пакетного исправления
- Документируйте исключения для обоснованных бизнес-отклонений

## Устранение неполадок

### Сканирование зависло в Pending

1. Проверьте работу сервиса worker
2. Проверьте подключение к Redis
3. Проверьте логи worker
4. Проверьте страницу Задания на детальный статус

### Сканирование завершилось с ошибкой

1. Проверьте SSH-подключение к хосту (используйте действие Проверить на странице Хосты)
2. Проверьте права sudo для SSH-пользователя
3. Проверьте доступное дисковое пространство
4. Просмотрите сообщение об ошибке на странице Задания

### Низкий балл соответствия

1. Просмотрите проваленные правила в модальном окне Результаты
2. Фильтруйте по критичности (High в первую очередь)
3. Используйте Quick Fix для автоматического исправления
4. Повторите сканирование после усиления для измерения улучшений

### Нет доступных профилей

1. Убедитесь, что ОС хоста определена (проверьте страницу Хосты)
2. Используйте действие **Определить ОС** на хосте
3. Проверьте, что версия ОС поддерживается

## Связанные страницы

- [Хосты](/docs/haas/hosts/) - Управление серверами и запуск массовых сканирований
- [Задания](/docs/haas/jobs/) - Просмотр прогресса и ошибок заданий сканирования
- [Усиление](/docs/haas/hardening/) - Применение исправлений безопасности
- [Расписания](/docs/haas/schedules/) - Планирование повторяющихся сканирований
- [AI-ассистент](/docs/haas/ai-assistant/) - Настройка AI для объяснения правил

