# Задания

> Управление заданиями усиления и сканирования в SecureBaseline Cloud - просмотр истории выполнения, результатов Ansible-плейбуков и статусов операций

Source: https://opennix.org/docs/haas/jobs/


## Обзор

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

## Навигация

**Меню**: Инфраструктура > Задания

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

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

| Кнопка | Описание |
|--------|----------|
| Обновить | Вручную перезагрузить список заданий |

На странице отображается индикатор "Автообновление каждые 10 секунд".

### Таблица заданий

| Колонка | Описание |
|---------|----------|
| Хост | Имя целевого сервера (разрешено из ID хоста) |
| Профиль | Используемый профиль CIS (например, cis-level1-server, cis-level2-server) |
| Статус | Текущий статус задания с иконкой предупреждения если есть ошибка |
| Длительность | Время выполнения (в секундах) |
| Начато | Время начала задания |
| Завершено | Время завершения задания |
| Действия | Кнопка Просмотр вывода |

### Пагинация

- Размер страницы по умолчанию: 50 записей
- Доступные размеры: 20, 50, 100, 200, 500 записей на странице
- Показывает индикатор диапазона (например, "1-50 / 127")

## Статусы заданий

| Статус | Цвет | Описание |
|--------|------|----------|
| pending | Серый | Задание ожидает обработки worker |
| queued | Синий (processing) | Задание в очереди на выполнение |
| running | Синий | Задание выполняется |
| completed | Зеленый | Задание успешно завершено |
| failed | Красный | Задание завершилось с ошибкой |

### Индикатор ошибки

Когда задание имеет сообщение об ошибке, рядом с тегом статуса появляется иконка предупреждения (желтая/красная). Наведите на иконку для просмотра сообщения об ошибке.

## Просмотр деталей задания

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

### Содержимое модального окна деталей

| Поле | Описание |
|------|----------|
| ID задания | Полный уникальный идентификатор задания (UUID) |
| Хост | Имя целевого сервера |
| Профиль | Профиль CIS, используемый для усиления |
| Статус | Текущий статус с цветным тегом |
| Приоритет | Уровень приоритета задания |
| Создано | Время создания задания |
| Начато | Когда задание начало выполняться |
| Завершено | Когда задание завершилось |
| Длительность | Время выполнения в секундах |
| Ошибка | Сообщение об ошибке если задание неудачно (отображается в красном блоке) |
| Вывод Ansible | Полный лог выполнения плейбука Ansible |
| Результат | Данные результата задания (если доступны) |

### Вывод Ansible

Для завершенных или неудачных заданий секция Вывод Ansible показывает полный лог выполнения плейбука:

```
PLAY [Apply CIS Hardening] *****
TASK [Gathering Facts] *****
ok: [192.168.1.10]
TASK [section1 : Ensure mounting of cramfs filesystems is disabled] *****
changed: [192.168.1.10]
...
```

Вывод показывает:
- Каждую выполненную задачу
- Статус (ok, changed, failed, skipped)
- Любые сообщения об ошибках или предупреждения

Панель вывода поддерживает прокрутку и имеет максимальную высоту 400px.

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

Страница Задания автоматически обновляется каждые 10 секунд для отображения обновленных статусов заданий. Это позволяет мониторить прогресс заданий в реальном времени без ручного обновления.

## Процесс выполнения задания

### 1. Создание задания

Задания создаются когда:
- Пользователь нажимает **Усилить** на хосте (страница Хосты)
- Пользователь нажимает **Массовое усиление** для выбранных хостов
- Расписание срабатывает автоматически (страница Расписания)
- Quick Fix инициируется из результатов сканирования соответствия

### 2. Очередь заданий

Новые задания входят в состояние **pending** и добавляются в очередь заданий.

Процесс worker забирает задания из очереди на основе приоритета.

### 3. Выполнение задания

Worker:
1. Подключается к целевому хосту по SSH
2. Запускает плейбук усиления Ansible
3. Применяет конфигурации CIS согласно выбранному профилю
4. Записывает вывод и результаты

### 4. Завершение задания

Задания завершаются с одним из двух исходов:

**Успех (completed)**:
- Все задачи выполнены без критических ошибок
- Конфигурация хоста была изменена
- Запустите новое сканирование соответствия для проверки улучшений

**Неудача (failed)**:
- Ошибка предотвратила завершение
- Проверьте сообщение об ошибке и вывод Ansible
- Распространенные причины: подключение SSH, права доступа, конфликты пакетов

## Понимание профилей

### CIS Level 1 - Server

Базовое усиление, подходящее для большинства серверных сред:
- Отключает ненужные сервисы
- Настраивает базовые параметры безопасности
- Минимальное влияние на функциональность

### CIS Level 2 - Server

Комплексное усиление для высокозащищенных сред:
- Все контроли Level 1
- Дополнительные ограничения
- Может влиять на некоторые приложения

### CIS Level 1 - Workstation

Базовое усиление для систем рабочих станций.

### CIS Level 2 - Workstation

Расширенное усиление для систем рабочих станций.

### STIG Server/Workstation

Профили соответствия DISA STIG для серверных и рабочих систем.

## Обработка ошибок

### Распространенные ошибки

| Ошибка | Причина | Решение |
|--------|---------|---------|
| SSH connection failed | Хост недоступен | Проверьте сетевое подключение и учетные данные SSH |
| Permission denied | Недостаточно прав | Убедитесь, что SSH-пользователь имеет sudo доступ |
| Package not found | Отсутствуют зависимости | Установите необходимые пакеты на хосте |
| Service failed to start | Конфликт конфигурации | Просмотрите вывод Ansible для деталей |
| Connection timeout | Сетевые проблемы | Проверьте фаерволы и сетевое подключение |

### Просмотр деталей ошибки

1. Найдите задание с иконкой предупреждения в колонке Статус
2. Наведите на иконку предупреждения для быстрого просмотра
3. Нажмите **Просмотр вывода** для полных деталей
4. Просмотрите поле Ошибка в модальном окне
5. Найдите "FAILED" или "error" в выводе Ansible

## Приоритет задания

Задания имеют поле приоритета, влияющее на порядок выполнения:
- Задания с более высоким приоритетом выполняются первыми
- Приоритет устанавливается при создании задания усиления со страницы Хосты
- Уровни приоритета по умолчанию: Lowest, Low, Normal, High, Critical

## Отмена заданий

В настоящее время задания нельзя отменить после запуска. Задание выполнится до завершения или неудачи.

Для долгих заданий вы можете:
1. Дождаться завершения
2. Проверить логи worker для прогресса
3. Связаться с администратором если задание кажется зависшим

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

### Перед запуском заданий

1. **Резервное копирование**: Убедитесь в наличии свежих резервных копий хоста
2. **Тестирование**: Сначала запустите сканирование соответствия для понимания текущего состояния
3. **Планирование**: Выполняйте во время технических окон
4. **Коммуникация**: Информируйте затронутых пользователей

### После завершения задания

1. **Проверка**: Запустите сканирование соответствия для подтверждения улучшений
2. **Тестирование**: Убедитесь, что приложения все еще работают корректно
3. **Документирование**: Запишите внесенные изменения

### Мониторинг

1. Проверяйте страницу Задания ежедневно на неудачные задания
2. Расследуйте неудачи оперативно
3. Отслеживайте улучшение соответствия во времени
4. Используйте функцию автообновления для мониторинга выполняющихся заданий

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

- [Хосты](/docs/haas/hosts/) - Запуск заданий усиления
- [Сканирование соответствия](/docs/haas/compliance-scanning/) - Проверка результатов
- [Расписания](/docs/haas/schedules/) - Автоматизация заданий
- [Усиление](/docs/haas/hardening/) - Детальная информация об усилении

