|
В состав Astra Linux Special Edition входят системы контейнеризации Docker и Podman. В соответствии с требованиями ФСТЭК эти системы должны обеспечивать следующий функционал:
Для реализации этих требований в состав Astra Linux Special Edition включены средства выявления уязвимостей в образах контейнеров, используемых системами контейнеризации. Далее в статье описан порядок установки, настройки и применения этих средств для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8) с установленным обновлением 1.8.3 и Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с установленным обновлением 1.7.8. Для более ранних обновлений см.статью Проверка образов контейнеров на наличие уязвимостей средствами Astra Linux.
Система сканирования уязвимостей представлена в пакетах openscap-scanner и oval-db. Эти пакеты устанавливаются автоматически при установке систем контейнеризации Docker или Podman. Также пакеты могут быть установлены отдельно, например, для загрузки oval-описаний с последующим копированием этих описаний в изолированную сеть или для поиска уязвимостей в образах без возможности запуска этих образов.
При установке пакетов сразу устанавливаются oval-описания для образов контейнеров Astra Linux. Эти описания будут обновляться по мере установки оперативных обновлений, однако для более быстрой актуализации описаний следует настроить автоматическое обновление. Порядок настройки автоматического обновления описан далее. Oval-описания для образов иных операционных систем могут быть добавлены вручную.
После установки пакетов система готова к работе с базовыми настройками (настройками по умолчанию). По умолчанию применяются следующие настройки:
Сканирование по умолчанию выполняется в следующем порядке:
Периоды сканирования могут быть изменены в конфигурационных файлах.
Таким образом, при использовании контейнеров Astra Linux система сканирования может эксплуатироваться сразу после установки, обеспечивая соответствие требованиям ФСТЭК, и не требуя специальных настроек, кроме настройки автоматического обновления oval-описаний для образов Astra Linux. При использовании образов контейнеров, предоставляемых сторонними производителями, дополнительно потребуется вручную загрузить соответствующие oval-описания. Порядок действий по загрузке описан далее.
В системе сканирования уязвимостей имеется возможность обновлять и добавлять собственные oval-описания. Это можно сделать следующими способами:
Обновление oval-описаний для Astra Linux с сервера Astra Linux. Может выполняться в автоматическом и ручном режимах.
Ручная загрузка любых oval-описаний.
Для работы с описаниями используется инструмент командной строки oval-db. Для работы с инструментом необходимы права суперпользователя или участие в группе oval-db-admin. Общую справку по использованию инструмента можно получить любой из команд:
sudo oval-db -h |
Пример вывода справки:
A oval-db client to work with oval-db daemon Usage: oval-db [command] Available Commands: auto-update Enable or disable auto-update for the oval-db completion Generate the autocompletion script for the specified shell config Open GUI for configuration the scanner help Help about any command history History of scanning list List of all loaded files load A command to load and split .xml file by the severity level remove Remove oval descriptions for specific version of OS restore Restore a specific OS and version of oval-db files status A command to check daemon status update Update the oval db to a new version vul-info Search for vulnerability information by definition ID Flags: -h, --help help for oval-db Use "oval-db [command] --help" for more information about a command. |
Справку по опциям подкоманд можно получить используя опцию -h после любой команды, например:
| sudo oval-db auto-update -h |
На сервере Astra Linux хранятся oval-описания только для контейнеров Astra Linux. Для других ОС oval-описания добавляются вручную. |
Автоматическое обновление oval-описаний включается командой:
sudo oval-db auto-update -e |
Эта команда включает автоматическое обновление oval-описаний, проверяя наличие и актуальность описаний всех возможных версий. Периодичность автоматического обновления oval-описаний может быть изменена в конфигурационном файле /usr/share/oval/conf/daemon.json параметром Interval. События, связанные с обновлением oval-описаний, регистрируются в системном журнале /var/log/syslog:
Jul 7 11:15:19 se18-25055 oval_dbd_audit[76490]: oval_dbd.audit|0|root|cafa28faa9564b38958266d01e99a706|oval_dbd.started|success|socketPath=/tmp/oval-dbd/daemon_vul_scanner.sock |
Операции автоматического обновления oval-описаний могут завершаться со следующим результатом:
unchanged - файл не изменен (уже актуальный).
downloaded - файл скачан (изначально не было в системе).
up-to-date - файл обновлен (изначально был в системе).
Для выключения автоматического обновления oval-описаний используется команда:
sudo oval-db auto-update -e=false |
Для принудительного выполнения обновления oval-описаний используется команда:
sudo oval-db update -v all |
Опция -v all указывает, что необходимо обновить все описания. Для сокращения объемов загрузки можно вместо значения all использовать версию системы из файла /etc/os-release, например:
sudo oval-db update -v 1.8_x86-64. |
Oval-описания для сторонних ОС доступны на Интернет-ресурсах производителей этих ОС. Для загрузки этих описаний и, возможно, их распаковки после загрузки, следуйте инструкциям производителей.
Для добавления загруженного и распакованного файла с oval-описанием в базу данных системы сканирования используется команда:
sudo oval-db load -f <полный_абсолютный_путь_к_файлу> -o <имя_ОС> -v <версия_ОС> |
Флаги команды:
-f — полный абсолютный путь к добавляемому файлу (путь от корнево го каталога файловых системы);
-o — название ОС (соответствует значению параметра ID в файле /etc/os-release в образе);
-v — версия ОС(соответствует значению параметра VERSION_ID в файле /etc/os-release в образе);
Пример для Ubuntu (https://security-metadata.canonical.com/oval/ - примеры файлов для Ubuntu):
Загрузить файл с архивом описания:
wget https://security-metadata.canonical.com/oval/com.ubuntu.noble.cve.oval.xml.bz2 |
Файл com.ubuntu.noble.cve.oval.xml.bz2 будет сохранен в текущем каталоге.
Распаковать загруженный файл:
bunzip2 -k com.ubuntu.noble.cve.oval.xml.bz2 |
Описание будет распаковано в файл с именем com.ubuntu.noble.cve.oval.xml в текущем каталоге.
Добавить файл в базу данных. Для добавления должно быть указано полное абсолютное имя файла:
sudo oval-db load -o ubuntu -v 24.04 -f `pwd`/com.ubuntu.noble.cve.oval.xml |
После загрузки в каталоге /usr/share/oval/db/<имя_ОС>/<версия_ОС>/ будут созданы файлы базы данных, в которых описания угроз будут сгруппированы по степени их критичности, и файл manifest.json с общим описанием. Для приведенного выше примера файла Ubuntu Nobble (24.04):
-rwxrwxr-x 1 root root 37747 июл 3 14:27 CriticalSeverity.xml |
Удаление oval-описаний
Для удаления ранее загруженных oval-описаний используется команда:
sudo oval-db remove -o <имя_ОС> -v <версия_ОС> |
Флаги команды задают название и версию ОС, аналогично флагам команды добавления описания.
При выполнении обновления oval-описаний старые старые описания не удаляются, а перемещаются в подкаталог backup. Таким образом создается резервная копия, с помощью которой можно восстановить старые файлы при необходимости. Команда для восстановления:
sudo oval-db restore -o <имя_ОС> -v <версия_ОС> |
Флаги команды определяют имя и версию ОС аналогично флагам команд загрузки и удаления.
Все команды инструмента поддерживают опцию -h, позволяющую вывести краткую справку по команде.
Команды инструмента:
Конфигурация системы сканирования хранится в следующих файлах:
{
"scan-on-image-create": true,
"scan-on-container-start": true,
"periodic-scan-time-in-hours": 168
} |
{
"scan-on-image-create": true,
"scan-on-container-start": true,
"swarm-rules-enabled": true,
"periodic-scan-time-in-hours": 168
} |
{
"Database": {
"Path": "/usr/share/oval/history/scan_results.db",
"ExpireTime": 48
},
"Update": {
"Auto": true,
"ManifestUrl": "https://dl.astralinux.ru/artifactory/al-oval/oval_meta.json",
"TmpDir": "/tmp/oval_temp/",
"Interval": 24
}
} |
ExpireTime — время (в часах) после которого результаты сканирования считаются устаревшими.
Update — блок параметров автоматического обновления oval-описаний для Astra Linux:
Auto — автоматическая проверка наличия обновлений oval-описаний (true/false);
ManifestUrl — путь до ресурса с которого будет выполняться обновление (по умолчанию — https://dl.astralinux.ru/ui/native/al-oval);
TmpDir — временный каталог для размещения загружаемых файлов;
Interval — время (в часах) через которое проверяется нет ли обновлений для файлов уязвимостей;
{
"engine": "docker",
"allow-run-wo-oval-file": true,
"levels": {
"critical": {
"enabled": true,
"drop": true
},
"high": {
"enabled": true,
"drop": true
},
"medium": {
"enabled": true,
"drop": true
},
"low": {
"enabled": true,
"drop": true
},
"none": {
"enabled": true,
"drop": true
}
}
} |
Графический интерфейс для управления параметрами сканирования может быть запущен командой:
| sudo oval-db config |
Графический интерфейс позволяет изменять настройки конфигурации сканирования образов. Настройки для Dosker и Podman управляются раздельно.

Навигация в графическом интерфейсе производится либо с помощью мыши, либо с помощью клавиатуры:
Поля экранной формы графического интерфейса:

Для создания собственно ресурса для обновления oval-описаний (например, для работы в изолированной сети необходимо:
Структура каталога для хранения описаний обновлений oval-описаний:
al-oval/ ├── oval_meta.json ├── oval_meta.json.md5 ├── oval_meta.json.sha1 ├── oval_meta.json.sha256 ├── 1.7_x86-64/ │ └── oval-definitions-alse-1.7.xml │ └── oval-definitions-alse-1.7.xml.md5 │ └── oval-definitions-alse-1.7.xml.sha1 │ └── oval-definitions-alse-1.7.xml.sha256 ├── 1.8_x86-64/ │ └── ... ├── 4.7_arm/ │ └── ... ... |
Описание структуры:
Структура файла:
{
"platforms": [
{
"platform": "x86-64",
"targets": [
{
"target": "1.8_x86-64",
"url": "<ссылка на файл>",
"md5": "<MD5-сумма>",
"sha256sum": "<SHA256-сумма>",
"gost": "<ГОСТ-сумма>",
"uploaded": "<дата и время загрузки>"
},
...
]
},
{
"platform": "arm",
"targets": [
{
"target": "4.7_arm",
"url": "<ссылка на файл>",
"md5": "<MD5-сумма>",
"sha256sum": "<SHA256-сумма>",
"gost": "<ГОСТ-сумма>",
"uploaded": "<дата и время загрузки>"
}
]
}
]
} |
Где:
platforms — корневой элемент, массив объектов, каждый из которых описывает отдельную платформу.
Каждый элемент массива platforms содержит:
"x86-64" или "arm").targets — цели, массив объектов, версии для данной платформы.
каждый элемент массива целей (targets) содержит:
url — строка, ссылка на собственно файл с oval-описанием для данной цели (обязательное поле).
md5 — строка, контрольная сумма MD5 для файла (обязательное поле).
sha256sum — строка, контрольная сумма SHA-256 для файла.
gost — строка, контрольная сумма по алгоритму ГОСТ для файла.
uploaded — строка, дата и время загрузки файла в формате ДД-ММ-ГГГГ ЧЧ:ММ:СС.миллисекунды.
Пример реального файла:
{
"platforms": [
{
"platform": "x86-64",
"targets": [
{
"target": "1.8_x86-64",
"url": "https://dl.astralinux.ru/astra/oval/1.8_x86-64/oval-definitions-alse-1.8.xml",
"md5": "ccf88d2c64764db8fdd3ded3f5cfd54f",
"sha256sum": "58f8075bbf40fb822de9a2cacc91067c8055ed8e05449f58997e3c50cf93371b",
"gost": "ad35297e12241c12574d6abc9edae6004bd7e9eb97a8daba2b93fdd2ed76bc27",
"uploaded": "21-05-2025 14:54:10.513"
},
{
"target": "1.7_x86-64",
"url": "https://dl.astralinux.ru/astra/oval/1.7_x86-64/oval-definitions-alse-1.7.xml",
"md5": "b1d7fbd7de8d4b5554d18cf4168224a0",
"sha256sum": "783709c6a0ad9b8f610c05be2e86e45e69538b0c573f3e654279ce2379640e37",
"gost": "af9f17dfcffa95b5a3ac85f9da834dde07ef8434b7a6d9ac59de581eab990c45",
"uploaded": "19-05-2025 14:38:41.976"
}
]
},
{
"platform": "arm",
"targets": [
{
"target": "4.7_arm",
"url": "https://dl.astralinux.ru/astra/oval/4.7_arm/oval-definitions-alse-4.7.xml",
"md5": "1534df4ecb76014aec8da1d090948e3b",
"sha256sum": "bed2619a835e6afc31171f29c1a0b659d7124604fa03e8cc5a9c3dadd3c474f5",
"gost": "7ee2703817bfbf13ff242b5bb55daccf554dfc7c30a0bc4cdc20854e70bd6423",
"uploaded": "02-06-2025 16:28:37.169"
}
]
}
]
} |
Для использования собственного ресурса обновлений oval-описаний внести в конфигурационный файл /usr/share/oval/conf/daemon.json следующие изменения:
"ManifestUrl": "http://your-server.local/al-oval/oval_meta.json", |
Поддерживаются протоколы http:// и https://.
"FoldersForVersionsUrl": "http://your-server.local/astra/oval/" |
{
"ManifestUrl": "http://your-server.local/al-oval/oval_meta.json",
"FoldersForVersionsUrl": "http://your-server.local/astra/oval/"
} |
sudo systemctl restart oval-dbd.service |