Резервное копирование и восстановление KUMA
Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.
Официальная документация по данному разделу приведена в Онлайн-справке на продукт: https://support.kaspersky.com/help/KUMA/4.0/ru-RU/222208.htm3
KUMA позволяет выполнять резервное копирование базы данных Ядра KUMA и сертификатов.
Функция резервного копирования предназначена для восстановления KUMA – для переноса или копирования ресурсов следует использовать функции экспорта и импорта ресурсов.
Доступны следующие возможности создания резервной копии и восстановления из резервной копии:
- С помощью REST API.
- Через веб-интерфейс
Восстановление данных из резервной копии возможно только на той же версии KUMA.
Через веб-интерфейс [KUMA 4.2+]
С помощью REST API [KUMA 3.4+]
В связи с появлением возможности организации отказоустойчивого ядра в кластере kubernetes добавился новый механиз создания резервных копий ядра.
для KUMA от 4.0 и выше используйте API v3
Для создания резервной копии ресурсов и сертификатов необходимо отправить следующий API-запрос:
GET /api/v1/system/backup
В ответ на запрос возвращается архив tar.gz, содержащий резервную копию Ядра KUMA. На хосте, где установлено Ядро, резервная копия не сохраняется. Сертификаты включаются в состав резервной копии.
Если операция выполнена успешно, создается событие аудита со следующими параметрами:
DeviceAction = "Core backup created"
SourceUserID = "<user-login>"Пример команды для бэкапа через curl:
Чтобы создать резервную копию Ядра необходимо создать пользователя и предоставить ему права доступа к методам API GET /system/backup и POST /system/restore (для восстановления):
- Перейдите в раздел Параметры → Пользователи и нажмите Добавить пользователя.
- В появившемся окне Пользователь задайте параметры нового пользователя:
- Имя – введите имя пользователя
- Логин – введите уникальный логин учетной записи пользователя. Длина должна быть от 3 до 64 символов (допускается использование только символов a–z, A–Z, 0–9, . \ - _).
- Адрес электронной почты – введите уникальный адрес электронной почты пользователя. Адрес электронной почты должен быть корректным.
Если отправка уведомлений на почту не предполагается, то можно указать любую почту, например test@abc.local
- Новый пароль – введите пароль для учетной записи пользователя. Требования к паролю:
- длина от 16 до 128 символов
- требуется как минимум один символ в нижнем регистре
- требуется как минимум один символ в верхнем регистре;
- требуется как минимум одна цифра;
- требуется как минимум один специальный символ: !, @, #, %, ^, &, *;
- не более двух одинаковых символов подряд.
- Подтверждение пароля – повторите пароля
- Роли – выберите роли пользователя. В текущем примере достаточно минимальных прав – Младший аналитик.
- В блоке параметров Тенанты, доступные для роли с помощью кнопок Добавить поле укажите тенант Main
- Нажмите Сохранить.
Учетная запись пользователя создана и отображается в таблице Пользователи.
Нажмите на созданного пользователя и в появившемся окне Пользователь:
· В окне Права доступа через API поставьте флажок напротив методов GET /system/backup и POST /system/restorerestore..
·
·
· Сохраните сформированный токен и нажмите Сохранить.
Токен успешно создан.
Чтобы создать резервную копию Ядра:
· Выполните подключение к CLI сервера KUMA (серверу с компонентом Ядро при распределенной установке).
· Выполните следующую команду для создания резервной копии с помощью API:
curl -k --header 'Authorization: Bearer <token>' 'https://<ip_kuma>:7223/api/v3/system/backup' -o backup.tar.gz
Файл резервной копии Ядра KUMA успешно создан.
Необходим работающий сервис MongoDB для версии 3.4
Если сервис MongoDB в нерабочем состоянии
Останавливаете службы MongoDB и Core:
systemctl stop kuma-mongodb.service
systemctl stop kuma-core*.service
Удаляете данные из папки data:
rm -rf /opt/kaspersky/kuma/mongodb/data/*
Запускаете службу MongoDB:
systemctl start kuma-mongodb.service
Инициализируете MongoDB:
/opt/kaspersky/kuma/mongodb/bin/mongo --eval 'rs.initiate()'
Запускаете службу Core:
systemctl start kuma-core*.service
Далее восстанавливаете ядро по пунктам ниже этой главы.
Для восстановления из резервной копии необходимо отправить следующий API-запрос:
POST /api/v1/system/restore
curl -k --request POST 'https://<ip_kuma>:7223/api/v1/system/restore' --header 'Authorization: Bearer <token>' --data-binary '@/backup/backup.tar.gz'
Тело запроса должно содержать архив с резервной копией Ядра KUMA, полученный в результате выполнения API-запроса создания резервной копии.
После получения архива с резервной копией KUMA выполняет следующие действия:
1. Распаковывает архив с резервной копией Ядра KUMA во временную директорию.
2. Сравнивает версию текущей KUMA и с версией резервной копии KUMA.
3. Если версии соответствуют друг другу, создается событие аудита со следующими параметрами:
DeviceAction = "Core restore scheduled"
SourceUserID = "<имя пользователя инициировавшего восстановление KUMA из резервной копии"
4. Если версии не различаются, выполняет восстановление данных из резервной копии Ядра KUMA.
5. Удаляет временную директорию и стартует в штатном режиме.
В журнале Ядра KUMA появится запись "WARN: restored from backup".
Полезные ссылки
- Создание резервной копии Ядра KUMA (Postman): https://www.postman.com/kl-ru-presales/workspace/kaspersky-products-apis-ru/request/23340929-bd766c26-c34b-467e-a28a-4ff65ac05328
- Восстановление Ядра KUMA из резервной копии (Postman): https://www.postman.com/kl-ru-presales/workspace/kaspersky-products-apis-ru/request/23340929-974b96b4-0876-449c-9001-9912783f6acc




