CVE-Manager: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 11: Строка 11:
# <b>cve-backup</b> - осуществляет резервное копирование/восстановление ранее сформированной БДУ;
# <b>cve-backup</b> - осуществляет резервное копирование/восстановление ранее сформированной БДУ;
# <b>cve-history</b> - осуществляет выборку незакрытых уязвимостей по текущему состоянию БДУ и сохраняет их в отдельной таблице с целью обеспечения возможности сравнения будущего состояния БДУ с этим сохранённым состоянием;
# <b>cve-history</b> - осуществляет выборку незакрытых уязвимостей по текущему состоянию БДУ и сохраняет их в отдельной таблице с целью обеспечения возможности сравнения будущего состояния БДУ с этим сохранённым состоянием;
# <b>cve-download</b> - осуществляет загрузку по HTTPS списков уязвимостей, предоставляемых NVD и ФСТЭК, а также CPE словаря;
# <b>cve-download</b> - осуществляет загрузку списков уязвимостей, предоставляемых NVD и ФСТЭК, а также загрузку CPE словаря, ACL пакетов исследуемых репозиториев, файлов с хронологией сборок каждого пакета, а также загрузку списков пакетов дистрибутивов;
# <b>cve-import</b> - осуществляет для выбранных репозиториев внесение данных из списков пакетов, которые могу быть размещены на alt-сервере (например, <code>alt:/ALT/p9/files/list/bin.list</code> для ветви <i>p9</i>), или в произвольном каталоге файловой системы, а также внесение данных из загруженных списков уязвимостей и данных из CPE словаря в БД MySQL; Имеет возможность фильтрации импортируемых списков пакетов в соответствии с содержимым предоставляемого текстового файла, каждая строка которого является названием пакета, информация о котором должна быть учтена в БДУ;
# <b>cve-import</b> - осуществляет для выбранных репозиториев внесение данных из списков пакетов, которые могу быть размещены на alt-сервере (например, <code>alt:/ALT/p9/files/list/bin.list</code> для ветви <i>p9</i>), или в произвольном каталоге файловой системы, а также внесение данных из загруженных списков уязвимостей и данных из CPE словаря в БД MySQL; Имеет возможность фильтрации импортируемых списков пакетов в соответствии с содержимым предоставляемого текстового файла, каждая строка которого является названием пакета, информация о котором должна быть учтена в БДУ;
# <b>cve-fixes</b> - извлекает 'Fixes' записи и URL из метаданных всех исходных пакетов рассматриваемых репозиториев;
# <b>cve-fixes</b> - извлекает 'Fixes' записи и URL из метаданных всех исходных пакетов рассматриваемых репозиториев;
Строка 191: Строка 191:
=== Мониторинг уязвимостей пакетов ===
=== Мониторинг уязвимостей пакетов ===
Запуск модуля <i>cve-monitor</i>:<br>
Запуск модуля <i>cve-monitor</i>:<br>
:<code>cve-monitor [-h] [--show WHAT_YOU_WANT_TO_SEE] [-f FIX_STATUS] [-t ISSUES_TYPE] [-o ORDER_BY] [-b BRANCH_NAME [BRANCH_NAME ...]] [-p PACKAGE_NAME [PACKAGE_NAME ...]] [-y YEAR [YEAR ...]] [-v VUL_ID [VUL_ID ...]] [--group] [--cure] [--patch] [-m REPORT_CATEGORY [REPORT_CATEGORY ...]] [--split]</code>
:<code>cve-monitor [-h] [--show WHAT_YOU_WANT_TO_SEE] [-f FIX_STATUS] [-t ISSUES_TYPE] [-o ORDER_BY] [-b BRANCH_NAME [BRANCH_NAME ...]] [-p PACKAGE_NAME [PACKAGE_NAME ...]] [--distro_list_src DISTRO_NAME] [--distro_list_bin DISTRO_NAME] [-y YEAR [YEAR ...]] [-v VUL_ID [VUL_ID ...]] [--group] [--cure] [--patch] [-m REPORT_CATEGORY [REPORT_CATEGORY ...]] [--split]</code>


{| class="wikitable" style="width: 100%;"
{| class="wikitable" style="width: 100%;"
Строка 217: Строка 217:
|-
|-
|<code>-p PACKAGE_NAME [PACKAGE_NAME ...],<br>--packages PACKAGE_NAME [PACKAGE_NAME ...]</code>
|<code>-p PACKAGE_NAME [PACKAGE_NAME ...],<br>--packages PACKAGE_NAME [PACKAGE_NAME ...]</code>
|Фильтрация результатов по названиям пакетов
|Фильтрация результатов по названиям указанных исходных пакетов
|-
|<code>--distro_list_src DISTRO_NAME</code>
|Фильтрация результатов по названиям исходных пакетов, перечисленных в списке пакетов указанного дистрибутива (поиск файла со списком пакетов дистрибутива осуществляется сначала в каталоге, имеющем название, которое совпадает с названием указанного репозитория - <code><download>/distro_lists_src/<branch></code>, после чего - в каталоге на уровень выше - <code><download>/distro_lists_src</code>)
|-
|<code>--distro_list_bin DISTRO_NAME</code>
|Фильтрация результатов по названиям бинарных пакетов, перечисленных в списке пакетов указанного дистрибутива (окончание <i>".bnames"</i> в названии файла со списком пакетов дистрибутива может быть отброшено, поиск данного файла при этом осуществляется сначала по указанному названию дистрибутива в каталоге, имеющем название, совпадающее с названием указанного репозитория - <code><download>/distro_lists_bin/<branch></code>, после чего - в каталоге на уровень выше - <code><download>/distro_lists_bin</code>, после чего - в том же порядке и в тех же каталогах, но уже с подставленным окончанием <i>".bnames"</i> в название дистрибутива)
|-
|-
|<code>-y YEAR [YEAR ...], --years YEAR [YEAR ...]</code>
|<code>-y YEAR [YEAR ...], --years YEAR [YEAR ...]</code>

Версия от 21:38, 18 января 2021

cve-manager - консольная программа, предназначенная 1) для формирования базы данных уязвимостей (БДУ) программ, входящих в состав заданных репозиториев rpm-пакетов, а также 2) для осуществления анализа записей сформированной БДУ и подготовки отчётов на основе результатов этого анализа (в том числе с осуществлением рассылки по электронной почте).

Основными входными данными программы являются списки, содержащие названия и версии исходных и бинарных пакетов рассматриваемых репозиториев, а также списки известных уязвимостей. На данный момент поддерживается два источника списков известных уязвимостей - NVD (National Vulnerability Database) и ФСТЭК (Федеральная служба по техническому и экспортному контролю).

Программа имеет модульную структуру, написана на Python и C++, использует MySQL. Распространяется по лицензии GPLv3.0.

Структура программы

cve-manager состоит из следующих модулей:

  1. cve-manager - предоставляет пользовательский интерфейс для запуска процесса формирования БДУ и осуществляет организацию и контроль данного процесса путём последовательного запуска остальных модулей в установленном порядке в автоматическом режиме;
  2. cve-backup - осуществляет резервное копирование/восстановление ранее сформированной БДУ;
  3. cve-history - осуществляет выборку незакрытых уязвимостей по текущему состоянию БДУ и сохраняет их в отдельной таблице с целью обеспечения возможности сравнения будущего состояния БДУ с этим сохранённым состоянием;
  4. cve-download - осуществляет загрузку списков уязвимостей, предоставляемых NVD и ФСТЭК, а также загрузку CPE словаря, ACL пакетов исследуемых репозиториев, файлов с хронологией сборок каждого пакета, а также загрузку списков пакетов дистрибутивов;
  5. cve-import - осуществляет для выбранных репозиториев внесение данных из списков пакетов, которые могу быть размещены на alt-сервере (например, alt:/ALT/p9/files/list/bin.list для ветви p9), или в произвольном каталоге файловой системы, а также внесение данных из загруженных списков уязвимостей и данных из CPE словаря в БД MySQL; Имеет возможность фильтрации импортируемых списков пакетов в соответствии с содержимым предоставляемого текстового файла, каждая строка которого является названием пакета, информация о котором должна быть учтена в БДУ;
  6. cve-fixes - извлекает 'Fixes' записи и URL из метаданных всех исходных пакетов рассматриваемых репозиториев;
  7. cpe-map - осуществляет установление соответствия импортированных в БД названий исходных пакетов рассматриваемых репозиториев и 1) названий программных продуктов из импортированного в БД CPE словаря, а также 2) названий программных продуктов из импортированного в БД списка уязвимостей ФСТЭК;
  8. cve-issues - осуществляет установление соответствия между данными, внесёнными в БД с помощью модулей cve-import, cpe-map и cve-fixes, а именно - формирует записи в БД вида <идентификатор уязвимости>, <идентификатор пакета>, <уязвимая версия программного продукта>, <статус уязвимости>, где <статус уязвимости> - значение из следующего набора (или комбинация данных значений):
    • c (от changelog) - устранение данной уязвимости обозначено в changelog-секции пакета;
    • e (от excluded) - отсутствие данной уязвимости обозначено в файле /etc/cve-manager/cpe-excluded.csv (поставляется пакетом cve-manager-inner-knowledge);
    • b (от bigger ver) - версия пакета в репозитории больше данной уязвимой версии;
    • L (от lesser ver) - версия пакета в репозитории меньше данной уязвимой версии;
    • V (от vulnerable) - версия пакета в репозитори совпадает с уязвимой версией программного продукта и устранение данной уязвимости не зафиксировано;
    • ? - сравнение текущей версии пакета и указанной уязвимой версии программного продукта не удалось осуществить.
  9. cve-monitor - предназначен для посылки запросов выборки из таблиц БДУ и выдачи результатов (отчётов), например формирование списка всех пакетов с имеющимися незакрытыми уязвимостями или списка всех закрытых уязвимостей одной ветви, которые не закрыты в другой; Формируемые отчёты могут рассылаться на задаваемые адреса электронной почты; На данный момент (версия 0.28) отчёты предоставляются в собственном формате (см. подраздел "Мониторинг уязвимостей пакетов"), в перспективе возможность их получения в формате XML и JSON.

Все модули кроме cve-import написаны на Python, cve-import написан на C++.

Установка

cve-manager собран в репозиторий Sisyphus.

Установка полной версии (серверная и клиентская часть):

apt-get install cve-manager

Установка только клиентской части:

apt-get install cve-monitor

Настройка

Настройка серверной части

Параметры cve-manager определяются файлом ini-формата /etc/cve-manager/cve-manager.conf. Данный ini-файл включает следующие обязательные секции:

  1. database, в которой указываются параметры соединения с базой данных MySQL (server, user, passwd, schema);
  2. common, в которой указывается путь к каталогу, в который cve-download загружает входные данные и откуда cve-import их импортирует в БД (download), название основной ветви, значения времени сборки пакетов которой будут учитываться при определении соответствия имён исходных пакетов и имён уязвимых программных продуктов (master_branch), путь к корневому каталогу alt-сервера (basealt), а также источники списков уязвимостей, исключаемые из рассмотрения (excluded_vulsrc с возможными значениями nvd и fstec), при этом первые два параметра являются обязательными.

Прочие секции файла настройки воспринимаются как названия ветвей Sisyphus, информация об уязвимостях которых должна быть помещена в БДУ. Каждая из таких секций может включать определение следующих параметров:

  • base_dir - название основного каталога данного репозитория;
  • src_list - путь к списку исходных пакетов (src.list) данного репозитория;
  • bin_list - путь к списку бинарных пакетов (bin.list) данного репозитория;
  • srpms_dir - путь к каталогу с исходными пакетами (SRPMS) данного репозитория.

По-умолчанию значения перечисленных параметров соответствуют структуре каталогов alt-сервера. ВНИМАНИЕ - названия секций должны состоять только из латинских символов и цифр. В случае, если название репозитория включает прочие символы, следует воспользоваться переменной base_dir (см. пример, секция x81).

Пример файла настройки:

[database]
server  = "localhost:3306"
user    = some_username
passwd  = some_passwd
schema  = some_dbname

[common]
basealt = /space/
download = ~/.cve-manager/
excluded_vulsrc = fstec
master_branch = Sisyphus

[Sisyphus]

[p8]

[x81]
base_dir = /space/ALT/x8.1/

[some_custom_branch]
src_list = /some_custom_branch/lists/src.list
bin_list = /some_custom_branch/lists/bin.list
srpms_dir = /some_custom_branch/SRPMS/

Файл настройки принадлежит пользователю root, относится к группе cve и имеет режим rw-rw----. Также группе cve принадлежат все модули, кроме модуля cve-monitor. Таким образом вносить изменения в БДУ помимо пользователя root могут только члены группы cve. Добавить пользователя в группу cve можно с помощью следующей команды:

usermod -a -G cve <user-name>

Настройка клиентской части

cve-monitor имеет свой файл настройки /etc/cve-manager/cve-monitor.conf, позволяющий пользователям, не являющимся членами группы cve, осуществлять соединение с БДУ с правом только на чтение (SQL-запрос SELECT) - структура данного файла повторяет структуру файла cve-manager.conf (см. подраздел "Настройка серверной части"), при этом секция common, а также параметры ветвей ни на что не влияют, за исключением дополнительного параметра ветвей seniors, в котором перечисляются старшие ветви по отношению к данной, и которые будут использованы при формировании предложений по устранению существующих в данной ветви уязвимостей (при передаче флага --cure модулю cve-monitor), например:

[p9]
seniors = Sisyphus

[p8]
seniors = ${p9:seniors}, p9

Для настройки почтовой рассылки cve-monitor существует другой конфигурационной файл - /etc/cve-manager/cve-mail.conf, содержащий настройки соединения с почтовым сервером и списки адресатов, которые задаются группами в секции recipients; При запуске cve-monitor с флагом --mail следует передать название группы адресатов; Так, например, пусть файл настройки почтовой рассылки имеет следующее содержимое

[connection]
host = some_host.com
port = 25
username = some_mail_account
passwd = password_of_the_mail_account
raddress = some_mail_account@some_host.com

[recipients]
weekly = "some_email1@altlinux.org", "some_email2@basealt.ru", "some_email3@basealt.ru"
daily  = "some_email4@altlinux.org", "some_email5@basealt.ru"
some_other_group_of_recipients = "some_other_email@some_other_host.com"

Тогда, например, для того чтобы результаты команды cve-monitor --show issues unfixed --group после формирования были отправлены группе адресатов daily следует исполнить следующую команду:

cve-monitor --show issues unfixed --group --mail daily

Внутренние знания cve-manager

Пакет cve-manager-inner-knowledge содержит ряд файлов с данными, которые могут быть отредактированы пользователем с целью оказания влияния на процесс формирования БДУ:

  • cpe-mapping.csv (/etc/cve-manager/cpe-mapping.csv) - предопределяет соответствие имён на начальном этапе работы модуля cpe-map;
  • cpe-mapping-ignore.csv (/etc/cve-manager/cpe-mapping-ignore.csv) - определяет пары имён, которые исключаются из результатов работы модуля cpe-map;
  • excluded-issues.csv (/etc/cve-manager/excluded-issues.csv) - определяет уязвимости, которые не следует считать незакрытыми для указанного пакета указанного репозитория начиная с указанной версии пакета (используется модулем cve-issues).

Каждая строка файлов cpe-mapping.csv и cpe-mapping-ignore.csv должна быть записана в следующем формате:

<название пакета>, <название программного продуката, используемое NVD>

Каждая строка файла excluded-issues.csv должна быть записана в следующем формате:

<ветвь Sisyphus, 'all' если все ветви>, <id уязвимости>, <название пакета>, <версия пакета>

Для того чтобы обозначенные настройки установления соответствия имён вступили в действие следует запустить модуль cpe-map заново для соответствующих ветвей (cpe-map -b [<branch_name> ...]), или для всех ветвей (cpe-map -e); При этом следует заново запустить модуль cve-issues для данных ветвей (cve-issues -b [<branch_name> ...]), или для всех ветвей (cve-issues -b all); В случае, если допустима обработка всех ветвей, запуск модулей cpe-map и cve-issues можно осуществить путём запуска автоматического формирования БДУ начиная с шага установления соответствия имён:

cve-manager -b map

Использование

Формат списка пакетов исследуемого репозитория

Список пакетов исследуемого репозитория может быть задан в одном из двух форматов. Первый формат соответствует формату списков бинарных пакетов ALT Linux (alt:/ALT/<branch>/files/list/bin.list), а второй формат исключает всю ненужную информацию:

Формат Пример
<bin_package_short_name> <*> <*> <*> <src_package_full_name> libcve-manager 0.33.1-alt1 x86_64 libcve-manager-0.33.1-alt1.x86_64.rpm cve-manager-0.33.1-alt1.src.rpm
<bin_package_short_name> <src_package_full_name> libcve-manager cve-manager-0.33.1-alt1
<*> - любая комбинация символов, не включающая пробелы;
<bin_package_short_name> - название бинарного пакета без версии и релиза;
<src_package_full_name> - полное название исходного пакета, включающее версию и релиз (наличие расширения 'src.rpm' не обязательно).

Подготовка базы данных уязвимостей

Запуск процесса формирования БДУ:

cve-manager [-h] [-a] [-b MODULE_NAME] [-e MODULE_NAME] [-r N_REPEATED_ATTEMPTS] [-l] [--plain] [--silent]
Параметр Описание
-h, --help Вывод справки
-a, --run_all Выполнить все шаги формирования БДУ
-b MODULE_NAME, --beginning_step MODULE_NAME Начальный шаг запускаемого процесса формирования БДУ (название модуля без приставки cve- / cpe-)
-e MODULE_NAME, --ending_step MODULE_NAME Конечный шаг запускаемого процесса формирования БДУ (название модуля без приставки cve- / cpe-)
-r N_REPEATED_ATTEMPTS, --retry N_REPEATED_ATTEMPTS Количество попыток перезапуска последнего выполняемого модуля в случае его неуспешного выполнения
-l, --list_modules Вывод списка доступных модулей (вместе с их описаниями)
--plain Упрощенный вывод (следует использовать, например, при перенаправлении вывода в файл)
--silent Запрет вывода

Пример команды запуска формирования БДУ, при котором автоматически, в установленном порядке, один за другим будут запущены все прочие модули:

cve-manager -a --plain 2>&1 1>$HOME/cve-manager.log

В случае первого запуска cve-manager, когда БДУ не была ранее сформирована, в качестве начального шага следует указывать шаг загрузки входных данных, при этом не будет осуществлён запуск модулей, работа которых имеет смысл только при наличии сформированной БДУ (создание файла с копией текущего состояния БДУ и сохранение текущих незакрытых уязвимостей в специальной таблице БДУ):

cve-manager -b download --plain 2>&1 1>$HOME/cve-manager.log

Каждый модуль пакета cve-manager является самостоятельной программой и может быть запущен напрямую, например:

cve-download --everything
cve-import --prepare

Вывод справочной информации модуля:

<module-name> --help

Мониторинг уязвимостей пакетов

Запуск модуля cve-monitor:

cve-monitor [-h] [--show WHAT_YOU_WANT_TO_SEE] [-f FIX_STATUS] [-t ISSUES_TYPE] [-o ORDER_BY] [-b BRANCH_NAME [BRANCH_NAME ...]] [-p PACKAGE_NAME [PACKAGE_NAME ...]] [--distro_list_src DISTRO_NAME] [--distro_list_bin DISTRO_NAME] [-y YEAR [YEAR ...]] [-v VUL_ID [VUL_ID ...]] [--group] [--cure] [--patch] [-m REPORT_CATEGORY [REPORT_CATEGORY ...]] [--split]
Параметр Описание
-h, --help Вывод справки
--show WHAT_YOU_WANT_TO_SEE Вывод списка уязвимостей (issues, является значением по-умолчанию), или вывод новых незакрытых уязвимостей (history), или вывод сравнительного списка по уязвимостям указанных ветвей Sisyphus (comp, требует задания значения параметра --branches, при этом первая указанная ветвь сравнивается с последующими), или вывод полных описаний уязвимостей (vul_desc), или вывод установленного соответствия между названиями пакетов и названиями, используемыми в описаниях уязвимостей (map), или вывод примеров использования (ex)
-f FIX_STATUS, --fix_status FIX_STATUS Фильтрация результатов по состоянию уязвимостей (fixed / unfixed / all)
-t ISSUES_TYPE, --itype ISSUES_TYPE Фильтрация результатов по типу источника записей об уязвимостях (nvd / fstec)
-o ORDER_BY, --order ORDER_BY Осуществление упорядочения результатов по идентификаторам уязвимостей (id), иманам пакетов (package), оценке CVSS ver.2 (score2), оценке CVSS ver.3 (score3), или текущему состоянию уязвимости (fix)
-b BRANCH_NAME [BRANCH_NAME ...],
--branches BRANCH_NAME [BRANCH_NAME ...]
Фильтрация результатов по названиям репозиториев
-p PACKAGE_NAME [PACKAGE_NAME ...],
--packages PACKAGE_NAME [PACKAGE_NAME ...]
Фильтрация результатов по названиям указанных исходных пакетов
--distro_list_src DISTRO_NAME Фильтрация результатов по названиям исходных пакетов, перечисленных в списке пакетов указанного дистрибутива (поиск файла со списком пакетов дистрибутива осуществляется сначала в каталоге, имеющем название, которое совпадает с названием указанного репозитория - <download>/distro_lists_src/<branch>, после чего - в каталоге на уровень выше - <download>/distro_lists_src)
--distro_list_bin DISTRO_NAME Фильтрация результатов по названиям бинарных пакетов, перечисленных в списке пакетов указанного дистрибутива (окончание ".bnames" в названии файла со списком пакетов дистрибутива может быть отброшено, поиск данного файла при этом осуществляется сначала по указанному названию дистрибутива в каталоге, имеющем название, совпадающее с названием указанного репозитория - <download>/distro_lists_bin/<branch>, после чего - в каталоге на уровень выше - <download>/distro_lists_bin, после чего - в том же порядке и в тех же каталогах, но уже с подставленным окончанием ".bnames" в название дистрибутива)
-y YEAR [YEAR ...], --years YEAR [YEAR ...] Фильтрация результатов по датам уязвимостей
-v VUL_ID [VUL_ID ...],
--vul_ids VUL_ID [VUL_ID ...]
Фильтрация результатов по идентификаторами уязвимостей
--group Осуществление группировки результатов по именнам пакетов (работает только при запуске с параметром -f unfixed)
--cure Дополнение отчёта колонкой с названиями ветвей Sisyphus более высокого порядка (например, p9 для p8), в которых данная уязвимость не наблюдается
--patch Список ссылок на патчи, предположительно закрывающие данную уязвимость (ссылки извлекаются из входных списков уязвимостей)
-m REPORT_CATEGORY [REPORT_CATEGORY ...],
--mail REPORT_CATEGORY [REPORT_CATEGORY ...]
Осуществление почтовой рассылки с результатом выполняемого запроса на адреса, указанные в соответствующем конфигурационном файле (см. Настройка клиентской части)
--split Разделение отчёта по рассматриваемым ветвям (репозиториям) при осуществлении почтовой рассылки (каждое письмо будет содержать информацию касательно одной ветви из всего набора, по которому выполняется запрос)

Примеры команд и значения полей формируемых отчётов:

  • cve-monitor --show issues -f unfixed -b Sisyphus p9 --group --cure --mail <some_group_of_recipients> - запрос всех неисправленных уязвимостей ветвей Sisyphus и p9 с группировкой записей по именам пакетов, с предложениями по устранению и отправкой отчёта по электронной почте группе адресатов <some_group_of_recipients>;
  • cve-monitor --show issues -f unfixed -b Sisyphus p9 --order package --cure --patch --mail <some_group_of_recipients> - запрос детального отчёта (без группировки по именам пакетов -- каждая строка отводится отдельной уязвимости, наличие которой установлено для отдельного пакета), записи которого упорядочены по именам пакетов, с предложениями по устранению и ссылками на страницы, которые могут содержать патчи для устранения соответствующих уязвимостей, также с отправкой по электронной почте;
  • cve-monitor --show history -b p9 - запрос списка новых уязвимостей пакетов ветви p9, обнаруженных с момента последнего запуска модуля cve-history.
Поле Значение
PACKAGE NAME-VER-REL Название пакета, его версия и релиз
MAPPED NAME Название программного продукта, поставленное в соответствие названию данного пакета
VULNERABLE VER Указанные уязвимые версии, или интервалы версий (наличие версии, обозначенной символом *, означает, что набор уязвимых версий точно не установлен)
QTY Количество уязвимостей, наличие которых установленно для данного пакета
CVSS2/3 Оценка данной уязвимости по метрике CVSS ver.2 и CVSS ver.3
MAX CVSS2/3 Максимальная оценка по метрике CVSS ver.2 и CVSS ver.3 из всех оценок уязвимостей данного пакета
ACL Cписок пользователей и групп пользователей, имеющих право на сборку данного пакета в данный репозиторий с помощью git.alt
FIX Состояние данной уязвимости ([NO FIX] - не закрыта, changelog - о закрытии говорит запись в chagelog пакета, excluded- об отсутствии данной уязвимости говорит запись в файле /etc/cve-manager/cpe-excluded.csv, bigger ver / [lesser ver] - версия пакета больше / меньше указанных уязвимых версий, unresolved - сравнение версий не удалось осуществить)
CURE Ветви Sisyphus, в которых данный пакет не имеет всех или части (указывается особо) уязвимостей, наличие которых установлено для данного пакета
PATCH Ссылки на страницы, которые могут содержать патчи для устранения соответствующей уязвимостей

Разворачивание инфраструктуры базы данных уязвимостей

Для работы cve-manager нет необходимости устанавливать MySQL сервер и создавать БДУ в своём окружении - в настройках cve-manager может быть указан адрес удалённого сервера. Тем не менее, это можно сделать, выполнив следующие шаги:

1. Установить MySQL сервер:
apt-get install MySQL-server
Также можно воспользоваться альтернативой (все остальные пункты данного руководства при этом остаются в силе):
apt-get install mariadb-server
2. Внести изменения в файл настройки MySQL сервера /etc/my.cnf.d/server.cnf:
[mysqld]
...
loose-local-infile = 1
#skip-networking
bind-address = 127.0.0.1
3. Перезапустить MySQL сервер и запустить MySQL консоль:
su -l -c 'service mysqld restart'
mysql -u root
4. Задать пароль пользователя MySQL с именем root:
mysql> SET PASSWORD FOR 'root'@'localhost' = 'root-passwd';
, где root-passwd - задаваемый пароль пользователя root;
5. Добавить пользователя MySQL, от имени которого будет осуществляться формирование БД (на примере MySQL-server версии 8.*, здесь и далее):
mysql> CREATE USER 'user-name'@'localhost' IDENTIFIED WITH mysql_native_password BY 'user-passwd';
mysql> GRANT ALL ON *.* TO 'user-name'@'localhost';
, где user-name - имя пользователя, user-passwd - пароль пользователя;
6. Добавить пользователя MySQL, от имени которого будут осуществляться запросы на чтение записей БД (мониторинг):
mysql> CREATE USER 'monitor'@'localhost' IDENTIFIED WITH mysql_native_password BY 'monitor';
mysql> GRANT SELECT ON *.* TO 'monitor'@'localhost';

Ссылки

Проект на git.altlinux.org
cve-manager-inner-knowledge