Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Информация
titleДанная статья применима к:

Общая информация

В состав Astra Linux Special Edition входят системы контейнеризации Docker и  и Podman. В соответствии с требованиями ФСТЭК эти системы должны обеспечивать следующий функционал:

  • Средство контейнеризации 6 класса защиты должно:
    • выявлять известные уязвимости при создании, установке образа контейнера в информационной   (автоматизированной) системе и хранении образов контейнеров во взаимодействии с сертифицированным средством контроля и анализа защищенности на основе сведений, содержащихся в банке данных угроз безопасности информации;
    • оповещать о выявленных уязвимостях в образах контейнеров разработчика образов контейнеров и администратора безопасности информационной (автоматизированной) системы.
  • Средство контейнеризации 5, 4, 3  должно класса защиты должно запрещать создание образов содержащих известные уязвимости критического и высокого уровня опасности.
  • Средство контейнеризации 2, 1 классов класса защиты должно запрещать создание образов содержащих известные уязвимости критического, высокого и среднего уровня опасности.

Для реализации этих требований в состав Astra Linux Special Edition включены средства выявления уязвимостей в образах контейнеров, используемых системами контейнеризации. Далее в статье описан порядок установки, настройки и применения этих средств .

Термины

для:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8) с установленным обновлением 1.8.3;
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8) с установленным обновлением 1.7.8 (применимо только в части работы с образами Docker).

Для более ранних обновлений см.статью Проверка образов контейнеров на наличие уязвимостей средствами Astra Linux.

Термины

  • Oval-описание — файл в формате XML, содержащий информацию oval-описание — файл в формате XML, содержащий информацию об уязвимости, объектах, подверженный уязвимости, способах и условиях выявления наличия уязвимости;.
  • сканирование Сканирование — проверка содержимого контейнера для выявления уязвимостей описанных в oval-db;
  • swarm-правила — 
  • .
  • Образ контейнера — набор файлов, необходимых для запуска контейнера.
  • Docker-swarm — инструмент системы контейнеризации Docker для управления контейнерами в кластерах Docker.
  • Swarm-правила — функционал разграничения доступа к различным функциям docker-swarm в зависимости от роли пользователя. Реализуется через добавление пользователей в определенные пользовательские группы Linux. Позволяет дополнительно разграничить доступ к docker-swarm кластеру. Не является средством СЗИ. По умолчанию функционал активирован.

Установка и базовое применение системы сканирования уязвимостей

Система сканирования уязвимостей представлена в пакетах openscap-scanner и oval-db. Эти пакеты устанавливаются автоматически при установке систем контейнеризации Docker или Podman. Также пакеты могут быть установлены отдельно, например, для загрузки oval-описаний с последующим копированием этих описаний в изолированную сеть или для поиска уязвимостей в образах без возможности запуска этих образов.

При установке пакетов сразу устанавливаются oval-описания для образов контейнеров Astra Linux. Эти описания будут обновляться по мере установки оперативных обновлений, однако для более быстрой актуализации описаний следует настроить автоматическое обновление. Порядок  Порядок настройки автоматического обновления описан далее. Oval-описания для для образов иных операционных систем могут быть добавлены вручную.

После установки пакетов система готова к работу работе с базовыми настройками (настройками по умолчанию). Начиная с обновлений 1.8.3 (для Docker и Podman) и 1.7.8 (только для Docker) по По умолчанию применяются следующие настройки:

  • включено сканирование при создании образов;
  • включено сканирование при создании контейнеров (запуске образов);
  • включено периодическое сканирование образов с периодом 168 часов (7 суток);
  • для образов Docker дополнительно включено применение swarm-правил.

Таким образом, при использовании контейнеров Astra Linux система сканирования может эксплуатироваться сразу после установки, обеспечивая соответствие требованиям ФСТЭК, и не требуя специальных настроек, кроме настройки автоматического обновления oval-описаний для образов Astra Limux. При использовании контейнеров сторонних производителей дополнительно потребуется вручную загрузить соответствующие oval-описания. Порядок действий по загрузке описан далее.

Конфигурационные файлы и настройки системы сканирования уязвимостей

Конфигурация системы сканирования хранится в следующих файлах:

  • /etc/podman.json — настройки сканирования для системы контейнеризации Podman. Если файл отсутствует, то применяются значения по умолчанию:
    Блок кода
    collapsetrue
    {
        "scan_on_image_create": true,
        "scan_on_container_start": true,
        "periodic_scan_time_in_hours": 168
    }
    Значение true включает управляемую параметром функцию, значение false — выключает. Функции параметров:
    • scan_on_image_create — включение/выключение сканирования при создании образов;
    • scan_on_container_start — включение/выключение сканирования при создании контейнеров (запуске образов);
    • periodic_scan_time_in_hours — период сканирования образов в часах;
  • /etc/docker/docker.json — настройки сканирования для системы контейнеризации Docker. Если файл отсутствует, то применяются значения по умолчанию:
    Блок кода
    collapsetrue
    {
        "scan_on_image_create": true,
        "scan_on_container_start": true,
        "swarm_rules_enabled": true,
        "periodic_scan_time_in_hours": 168
    }
    Используются те же параметры, что и для Podman и дополнительный параметр swarm_rules_enabled включающий/выключающий использование swarm-правил.
  • /usr/share/oval/conf/daemon.json — 
  • /usr/share/oval/db — каталог oval-описаний;
  • /usr/share/oval/db/backup — каталог для сохранения резервных копий oval-описаний при их обновлении.
  • .

Сканирование по умолчанию выполняется в следующем порядке:

  • Периодическое сканирование всех образов контейнеров. По умолчанию выполняется раз в 168 часов (7 дней).
  • Сканирование при запуске контейнеров. Выполняется при запуске контейнера, если с момента предыдущего сканирования при запуске прошло более 48 часов или если образ ранее не сканировался. При этом, если в образ вносились изменения, то он рассматривается как новый, ранее не проверенный образ.

Периоды сканирования могут быть изменены в конфигурационных файлах.

При обнаружении уязвимости система хранения записывает в системный журнал сообщение, содержащее:

  • уровень опасности обнаруженной уязвимости;
  • идентификатор обнаруженной уязвимости в базе данных oval-описаний (идентификатор вида oval:astra:def:4296019715055820046817007326787);
  • идентификатор в базе данных ФСТЭК (идентификатор вида BDU-XXXX-XXXX);
  • идентификатор в базе данных NIST (идентификатор вида CVE-XXXX-XXXX).

Также информацию об обнаруженной уязвимости можно получить из базы данных oval-описаний. Например:

Command
Titlesudo oval-db vul-info -o astra -v 1.8_x86-64 -i oval:astra:def:4296019715055820046817007326787

Definition Found in MediumSeverity.xml:
  ID: oval:astra:def:4296019715055820046817007326787
  Class: vulnerability
  Title:  Astra Linux - уязвимость в curl
  Description: When curl is told to use the Certificate Status Request TLS extension, often referred to as OCSP stapling, to verify that the server certificate is valid, it might fail to detect some OCSP problems and instead wrongly consider the response as fine.  If the returned status reports another error than 'revoked' (like for example 'unauthorized') it is not treated as a bad certficate.
  Remediation: 
  References:
    Source: VENDOR
    URL: https://wiki.astralinux.ru/astra-linux-se18-bulletin-2025-0114SE18MD
    ID: № 2025-0114SE18MD

    Source: FSTEC
    URL: https://bdu.fstec.ru/vul/2024-07774
    ID: BDU:2024-07774

    Source: CVE
    URL: https://www.cve.org/CVERecord?id=CVE-2024-8096
    ID: CVE-2024-8096

Таким образом, при использовании контейнеров Astra Linux система сканирования может эксплуатироваться сразу после установки, обеспечивая соответствие требованиям ФСТЭК, и не требуя специальных настроек, кроме настройки автоматического обновления oval-описаний для образов Astra Linux. При использовании образов контейнеров, предоставляемых сторонними производителями, дополнительно потребуется вручную загрузить соответствующие oval-описания. Порядок действий по загрузке описан далее.

Работа с oval-описаниями

В системе сканирования уязвимостей имеется возможность обновлять и добавлять собственные oval-описания. Это можно сделать следующими способами:

  1. Обновление oval-описаний для Astra Linux с сервера Astra Linux. Может выполняться в автоматическом и ручном режимах.

  2. Ручная загрузка любых oval-описаний.

Для работы с описаниями используется инструмент командной строки oval-db. Для работы с инструментом необходимы права суперпользователя или участие в группе oval-db-admin. Общую справку по использованию инструмента можно получить любой из команд:

Command

sudo oval-db -h
sudo oval-db --help
sudo oval-db help

Пример вывода справки:

Блок кода
collapsetrue
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
  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 после любой команды, например

Работа с oval-описаниями

В системе сканирования уязвимостей имеется возможность обновлять и добавлять собственные oval-описания. Это можно сделать следующими способами:

  1. Обновление oval-описаний для Astra Linux с сервера Astra Limux. Может выполняться в автоматическом и ручном режимах.
  2. Ручная загрузка любых oval-описаний.

Обновление oval-описаний с сервера Astra Linux

Информация
На сервере Astra Linux хранятся oval-описания только для контейнеров Astra Linux. Для других ОС oval-описания добавляются вручную.
  • Автоматическое обновление oval-описаний включается командой:
    Command
    sudo oval-db auto-update -e
    Эта команда включает автоматическое обновление oval-описаний, проверяя наличие и актуальность описаний всех возможных версий. Периодичность автоматического обновления oval-описаний может быть изменена в конфигурационном файле /usr/share/oval/conf/daemon.json параметром Interval. События, связанные с обновлением oval-описаний, регистрируются в системном журнале /var/log/syslog:
    Блок кода
    Jul  3 10:29:01 se18-25055 systemd[1]: Starting oval-dbd.service - OVAL Database Daemon...
    Jul  3 10:29:01 se18-25055 systemd[1]: Started oval-dbd.service - OVAL Database Daemon.
    Jul  3 10:29:01 se18-25055 oval-dbd[32338]: 2025/07/03 10:29:01 INFO failed to read config file /usr/share/oval/conf/daemon.json, open /usr/share/oval/conf/daemon.json: no such file or directory. Using defaults.
    Jul  3 10:29:01 se18-25055 oval_dbd_audit[32338]: oval_dbd.audit|0|root|cafa28faa9564b38958266d01e99a706|oval_dbd.started|success|socketPath=/tmp/oval-dbd/daemon_vul_scanner.sock
    Jul  3 10:29:01 se18-25055 oval_dbd_audit[32338]: oval_dbd.audit|0|root|cafa28faa9564b38958266d01e99a706|oval_dbd.started|success|socketPath=/tmp/oval-dbd/daemon_cli.sock
    Операции автоматического обновления oval-описаний могут завершаться со следующим результатом:
    • unchanged - файл не изменен (уже актуальный).
    • downloaded - файл скачан (изначально не было в системе).
    • up-to-date - файл обновлен (изначально был в системе).
  • Для выключения автоматического обновления oval-описаний используется команда

    :

    Command
    sudo oval-db auto-update -h

    Обновление oval-описаний с сервера Astra Linux

    Информация

    На сервере Astra Linux хранятся oval-описания только для контейнеров Astra Linux. Для других ОС oval-описания добавляются вручную.

    1. Автоматическое обновление oval-описаний включается командой

      e=falseДля принудительного выполнения обновления oval-описаний используется команда:
      Command

      sudo oval-db update -v all

      Опция -v all указывает, что необходимо обновить все описания. Для сокращения объемов загрузки можно вместо значения all использовать версию системы из файла /etc/os-release, например

      :

      Command

      sudo oval-db auto-update -v 1.8_x86-64.

    Ручное добавление oval-описаний для контейнеров сторонних производителей

    Oval-описания для сторонних ОС доступны на на Интернет-ресурсах производителей этих ОС. Для загрузки этих описаний и, возможно, их распаковки после загрузки, следуйте инструкциям производителей.

    Для добавления загруженного и распакованного файла с oval-описанием в базу данных системы сканирования используется команда:

    Command
    sudo oval-db load -f <полный_абсолютный_путь_к_файлу> -o <имя_ОС> -v <версия_ОС>

    Флаги команды:

    • -f — полный абсолютный путь к добавляемому файлу (путь от корневого каталога файловых системы);
    • -o —  название ОС;
    • -v — версия ОС;
    Информация для значений флагов -o и -vдоступна в файле /etc/os-release.
    1. e

      Эта команда включает автоматическое обновление oval-описаний, проверяя наличие и актуальность описаний всех возможных версий. Периодичность автоматического обновления oval-описаний может быть изменена в конфигурационном файле /usr/share/oval/conf/daemon.json параметром Interval. События, связанные с обновлением oval-описаний, регистрируются в системном журнале /var/log/syslog:

      Command

      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
      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_cli.sock
      Jul  7 12:33:30 se18-25055 oval_dbd_audit[76490]: file update completed successfully
      Jul  7 12:33:30 se18-25055 oval_dbd_audit[76490]: oval_dbd.audit|0|root|cafa28faa9564b38958266d01e99a706|xml.update|success|osVersion=2

      Операции автоматического обновления oval-описаний могут завершаться со следующим результатом:

      • unchanged - файл не изменен (уже актуальный).

      • downloaded - файл скачан (изначально не было в системе).

      • up-to-date - файл обновлен (изначально был в системе).

    2. Для выключения автоматического обновления oval-описаний используется команда

    Пример для Ubuntu (https://security-metadata.canonical.com/oval/ - примеры файлов для Ubuntu):

    1. Загрузить файл с архивом описания:
      Command
      wget https://security-metadata.canonical.com/oval/com.ubuntu.noble.cve.oval.xml.bz2
      Файл com.ubuntu.noble.cve.oval.xml.bz2 будет сохранен в текущем каталоге.
    2. Распаковать загруженный файл:
      Command
      bunzip2 -k com.ubuntu.noble.cve.oval.xml.bz2
      Описание будет распаковано в файл с именем com.ubuntu.noble.cve.oval.xml в текущем каталоге.
    3. Добавить файл в базу данных

      :

      Command

      sudo oval-db

      load

      auto-

      o ubuntu -v 24.04 -f `pwd`/com.ubuntu.noble.cve.oval.xml

    После загрузки в каталоге /usr/share/oval/db/<имя_ОС>/<версия_ОС>/ будут созданы файлы базы данных, в которых описания угроз будут сгруппированы по степени их критичности, и файл manifest.json с общим описанием. Для приведенного выше примера файла Ubuntu Nobble (24.04):

    Command
    Titlels -l /usr/share/oval/db/noble/24.04/

    -rwxrwxr-x 1 root root     37747 июл  3 14:27 CriticalSeverity.xml
    -rwxrwxr-x 1 root root   3540432 июл  3 14:27 HighSeverity.xml
    -rwxrwxr-x 1 root root  11622073 июл  3 14:27 LowSeverity.xml
    -rwxrwxr-x 1 root root       869 июл  3 14:27 manifest.json
    -rwxrwxr-x 1 root root 111649695 июл  3 14:27 MediumSeverity.xml

    Удаление oval-описаний

    Для удаления ранее загруженных oval-описаний используется команда:

    Command
    sudo oval-db remove -o <имя_ОС> -v <версия_ОС>

    Флаги команды задают название и версию ОС, аналогично флагам команды добавления описания.

    Восстановление oval-описаний из резервных копия

    При выполнении обновления oval-описаний старые старые описания не удаляются, а перемещаются в подкаталог backup. Таким образом создается резервная копия, с помощью которой можно восстановить старые файлы при необходимости. Команда для восстановления:

    Command
    sudo oval-db restore -o <имя_ОС> -v <версия_ОС>

    Флаги команды определяют имя и версию ОС аналогично флагам команд загрузки и удаления.

    Интерфейс командной строки системы сканирования уязвимостей (инструмент oval-db)

    Информация
    Для работы с инструментом oval-db нужны права суперпользователя или участие в группе oval-db-admin.

    Общую справку по подкомандам инструмента oval-db можно получить любой из команд:

    Command
    sudo oval-db -h
    sudo oval-db --help
    sudo oval-db help

    Пример вывода справки:

    Блок кода
    collapsetrue
    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 после любой команды, например:

    Command
    sudo oval-db auto-update -h

    Команды инструмента:

    1. update -e=false

    2. Для принудительного выполнения обновления oval-описаний используется команда:

      Command

      sudo oval-db update -v all

      Опция -v all указывает, что необходимо обновить все описания. Для сокращения объемов загрузки можно вместо значения all использовать версию системы из файла /etc/os-release, например:

      Command

      sudo oval-db update -v 1.8_x86-64

    Ручное добавление oval-описаний для контейнеров сторонних производителей

    Oval-описания для сторонних ОС доступны на Интернет-ресурсах производителей этих ОС. Для загрузки этих описаний и, возможно, их распаковки после загрузки, следуйте инструкциям производителей.

    Для добавления загруженного и распакованного файла с oval-описанием в базу данных системы сканирования используется команда:

    Command

    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):

    1. Загрузить файл с архивом описания:

      Command

      wget https://security-metadata.canonical.com/oval/com.ubuntu.noble.cve.oval.xml.bz2

      Файл com.ubuntu.noble.cve.oval.xml.bz2 будет сохранен в текущем каталоге.

    2. Распаковать загруженный файл:

      Command

      bunzip2 -k com.ubuntu.noble.cve.oval.xml.bz2

      Описание будет распаковано в файл с именем com.ubuntu.noble.cve.oval.xml в текущем каталоге.

    3. Добавить файл в базу данных. Для добавления должно быть указано полное абсолютное имя файла:

      Command

      sudo oval-db load -o ubuntu.noble -v 24.04 -f `pwd`/com.ubuntu.noble.cve.oval.xml

    После загрузки в каталоге /usr/share/oval/db/<имя_ОС>/<версия_ОС>/ будут созданы файлы базы данных, в которых описания угроз будут сгруппированы по степени их критичности, и файл manifest.json с общим описанием. Для приведенного выше примера файла Ubuntu Nobble (24.04):

    Command
    Titlels -l /usr/share/oval/db/ubuntu.noble/24.04/

    -rwxrwxr-x 1 root root 37747 июл 3 14:27 CriticalSeverity.xml
    -rwxrwxr-x 1 root root 3540432 июл 3 14:27 HighSeverity.xml
    -rwxrwxr-x 1 root root 11622073 июл 3 14:27 LowSeverity.xml
    -rwxrwxr-x 1 root root 869 июл 3 14:27 manifest.json
    -rwxrwxr-x 1 root root 111649695 июл 3 14:27 MediumSeverity.xml

    Удаление oval-описаний

    Для удаления ранее загруженных oval-описаний используется команда:

    Command

    sudo oval-db remove -o <имя_ОС> -v <версия_ОС>

    Флаги команды задают название и версию ОС, аналогично флагам команды добавления описания.

    Восстановление oval-описаний из резервных копий

    При выполнении обновления oval-описаний старые описания не удаляются, а перемещаются в подкаталог backup. Таким образом создается резервная копия, с помощью которой можно восстановить старые файлы при необходимости. Команда для восстановления:

    Command

    sudo oval-db restore -o <имя_ОС> -v <версия_ОС>

    Флаги команды определяют имя и версию ОС аналогично флагам команд загрузки и удаления.

    Интерфейс командной строки системы сканирования уязвимостей (инструмент oval-db)

    Все команды инструмента поддерживают опцию -h, позволяющую вывести краткую справку по команде.

    Команды инструмента:

    • sudo oval-db auto-update -e — включить автоматическое обновление oval-описаний;.sudo oval
    • -db auto-update -e=false — выключить автоматическое обновление oval-описаний;.
    • sudo oval-db config — запустить графический интерфейс для настройки конфигурации систем контейнеризации:
      Image Removedуправления параметрами сканирования.
    • list — просмотреть статистику загруженных уязвимостей. Необязательные опции команды:
      • -b — добавить в статистику уязвимости из резервной копии;
      • -cпроверять контрольные суммы файлов с описанием уязвимостей.
    • load — загрузить oval-описания вручную. Обязательные опции команды:
      • -f <файл> — полный абсолютный путь к загружаемому файлу;
      • -o <ID> — кодовое имя ОС, к которой относится загружаемый файл. Соответствует значению параметра ID в файле /etc/os-release.
      • -v <VERSION_ID> — идентификатор версии ОС, к которой относится загружаемый файл. Соответствует значению параметра VERSION_ID в файле /etc/os-release
    • remove — удалить файлы для ОС конкретной версии. Обязательные опции команды:
      • -o <ID> — кодовое имя ОС, к которой относятся удаляемые файлы. Соответствует значению параметра ID в файле /etc/os-release.
      • -v <VERSION_ID> — идентификатор версии ОС, к которой относятся удаляемые файлы. Соответствует значению параметра VERSION_ID в файле /etc/os-release
    • status — показать состояние службы сканирования.
    • update — обновить базу данных уязвимостей в полуавтоматическом режиме. Обязательные опции команды:
      • -v — версия, до которой следует обновить базу данных.
    • vul-info — показать информацию по конкретной уязвимости с помощью её идентификатора. Пример идентификатора: oval:astra:def:1139872346980661574462931648992835. Пример команды:
      Command

      sudo oval-db vul-info -o astra -v 1.7_x86-64 -i oval:astra:def:1139872346980661574462931648992835

      Параметры команды:
      • обязательные:
        • -i <идентификатор_уязвимости> — идентификатор уязвимости;
        • -o <ID> — кодовое имя ОС, к которой относится уязвимость. Соответствует значению параметра ID в файле /etc/os-release.— название ОС;
        • -v <VERSION_ID> — идентификатор версии ОС, к которой относится уязвимость. Соответствует значению параметра VERSION_ID в файле /etc/os-release.
      • необязательные:
        • -x — печать информации об уязвимости в формате xml.

    Конфигурационные файлы и настройки системы сканирования уязвимостей

    Конфигурация системы сканирования хранится в следующих файлах:

    • /etc/podman.json — настройки сканирования для системы контейнеризации Podman. Если файл отсутствует, то применяются значения по умолчанию:
      Блок кода
      collapsetrue
      {
          "scan_on_image_create": true,
          "scan_on_container_start": true,
          "periodic_scan_time_in_hours": 168
      }
      Значение true включает управляемую параметром функцию, значение false — выключает. Функции параметров:
      • scan_on_image_create — включение/выключение сканирования при создании образов;
      • scan_on_container_start — включение/выключение сканирования при создании контейнеров (запуске образов);
      • periodic_scan_time_in_hours — период сканирования образов в часах;
    • /etc/docker/daemon.json — настройки сканирования для системы контейнеризации Docker. Если файл отсутствует, то применяются значения по умолчанию:
      Блок кода
      collapsetrue
      {
          "scan_on_image_create": true,
          "scan_on_container_start": true,
          "swarm_rules_enabled": true,
          "periodic_scan_time_in_hours": 168
      }
      Используются те же параметры, что и для Podman и дополнительный параметр swarm_rules_enabled включающий/выключающий использование swarm-правил.
    • /usr/share/oval/conf/daemon.json — настройки параметров сканирования. Если файл отсутствует, то применяются настройки по умолчанию. Содержимое файла, соответствующее настройкам по умолчанию:
      Блок кода
      collapsetrue
      {
        "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
        }
      }
      Где:
      • Database — блок параметров базы данных уязвимостей:
        • Path — путь к базе данных с результатами сканирования;
        • ExpireTime — время (в часах) после которого результаты сканирования считаются устаревшими.

      • Update — блок параметров автоматического обновления oval-описаний для Astra Linux:

        • Auto — автоматическая проверка наличия обновлений oval-описаний (true/false);

        • ManifestUrl — путь до ресурса с которого будет выполняться обновление (по умолчанию — https://dl.astralinux.ru/ui/native/al-oval);

        • TmpDir — временный каталог для размещения загружаемых файлов;

        • Interval — время (в часах) через которое проверяется наличие обновлений для файлов уязвимостей;

    • /usr/share/oval/conf/podman.json и /usr/share/oval/conf/docker.json — настройки параметров поиска уязвимостей для систем контейнеризации Podman и Docker. Пример содержимого файла:
      Блок кода
      collapsetrue
      {
          "engine": "docker",
          "allow-run-wo-oval-file": true,
          "levels": {
              "critical": {
                  "enabled": true,
                  "drop": true
              },
              "high": {
                  "enabled": true,
                  "drop": true
              },
              "medium": {
        

    Навигация. Производится либо с помощью мыши, либо с помощью клавиатуры.

    • Переход между двумя окнами производится с помощью стрелок влево и вправо.
    • Подтверждение действия производится с помощью Enter.
    • В правом окне передвигаться по настройкам можно с помощью Tab.
    • Чтобы вернутся к пресету, надо нажать стрелку вверх.
    • Чтобы выйти, нужной нажать Q и подтвердить.

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

    • Select Preset - пресет (предустановленные настройки) сканирования.
    • Scan on Image Create - сканирование образа при создании образа (X - true).
    • Scan on Container Start - сканирование образа при запуске контейнера (X - true).
    • Swarm Rules Enabled - включение режима МРД docker swarm (X - true).
    • Period - время в часах, для периодического сканирования всех образов контейнеров.
    • Allow run without OVAL file - разрешать запуск контейнеров без файлов описания уязвимостей (X - true).
      Если флаг сброшен, в случае отсутствия файла oval-описания, запустить (создать образ) контейнер будет невозможно.

    В блоке Vulnerability можно настраивать обработку контейнеров для каждого уровня уязвимостей.

    Image Removed
    Сценарий при сканировании контейнеров.

    Enabled/Drop - контейнер сканируется, в случае нахождения уязвимости, контейнер останавливается и добавляется запись в журнал событий.
    Enabled/Scan - контейнер сканируется и запускается, в случае нахождения уязвимости добавляется запись в журнал событий.
    Disabled - сканирование отключено.

    • sudo oval-db list — просмотреть статистику загруженных уязвимостей. Необязательные опции подкоманды:
      • -b — добавить в статистику уязвимости из резервной копии;
      • -cпроверять контрольные суммы файлов с описанием уязвимостей.
    • sudo oval-db load [flags]
    Блок кода
    aelrei@astra-70380:~$ sudo oval-db load -h
    A command to load and split .xml file by the severity level
    
    Usage:
      oval-db load [flags]
    
    Flags:
      -f, --filepath string   Path to the input file (required)
      -h, --help              help for load
      -o, --os string         OS of oval file (required)
      -v, --version string    Version of OS (required)

    Меню помощи для load.

    Позволяет загружать и интегрировать файлы сторонних ОС вручную администратором.
    Подробнее об этой команде можно почитать в 3.2.6 Манипуляции с файлами oval-описаний..

    • sudo oval-db remove [flags]
    Блок кода
    aelrei@astra-70380:~$ sudo oval-db remove -h
    Remove oval descriptions for specific version of OS
    
    Usage:
      oval-db remove [flags]
    
    Flags:
      -h, --help             help for remove
      -o, --os string        OS of oval file (required)
      -v, --version string   Version of OS (required)

    Меню помощи для remove.

    Позволяет удалить файлы для ОС конкретной версии.
    Подробнее об этой команде можно почитать в 3.2.6 Манипуляции с файлами oval-описаний..Пдрбе эйкомандможнопчит в 3.26Мпяци с фамиoval-пий.

    • sudo oval-db restore [flags]
    Блок кода
    aelrei@astra-70380:~$ sudo oval-db restore -h
    Restore a specific OS and version of oval-db files
    
    Usage:
      oval-db restore [flags]
    
    Flags:
      -h, --help             help for restore
      -o, --os string        OS of oval file to restore (required)
      -v, --version string   Version of OS to restore (required)
    Меню помощи для restore.

    Позволяет восстановить файлы уязвимостей из backup.
    Подробнее об этой команде можно почитать в 3.2.6 Манипуляции с файлами oval-описаний..Пдрб экемжчтть3.2.6 Мнипуляции самovlописний.

    • sudo oval-db status [flags]
    Блок кода
    aelrei@astra-70380:~$ sudo oval-db status -h
    A command to check daemon status
    
    Usage:
      oval-db status [flags]
    
    Flags:
      -h, --help   help for status

    Меню помощи для status.

    Позволяет посмотреть статус демона, его версию и режим auto-update.

    Блок кода
    aelrei@astra-70380:~$ sudo oval-db status
    Daemon Status:
      Status:  running
      Version: 0.1.0.0
      Auto-update: true

    Статус демона.

    • sudo oval-db update [flags]
    Блок кодаaelrei@astra-70380:~$ sudo oval-db update -h Update the oval db to a new version Usage: oval-db update [flags] Flags: -h, --help
    •           "enabled": true,
        
    help
    •  
    for
    •  
    update
    •   
    -v,
    •  
    --version
    •  
    string
    •    
    Version to update the service to (required)

    Меню помощи для update.

    Позволяет обновить файлы с описанием уязвимостей в полуавтоматическом режиме.
    Подробнее об этой команде можно почитать в 3.2.6 Манипуляции с файлами oval-описаний..

    • sudo oval-db vul-info [flags]
    Блок кодаaelrei@astra-70380:~$ sudo oval-db vul-info Error: required flag(s) "id", "os", "version" not set Usage: oval-db vul-info [flags] Flags: -h, --help
    •  "drop": true
              },
              "low": {
                  "enabled": true,
                 
    help
    •  
    for vul-info
    • "drop": true
        
    -i,
    •  
    --id
    •  
    string
    •     },
          
    Definition
    •  
    ID
    •  
    to
    •  
    search
    •  
    for (required)
    • "none": {
        
    -o,
    •  
    --os
    •  
    string
    •         
    In which OS we need to search for vulnerability (required) -v, --version string In which version of OS we need to search for vulnerability (required) -x, --xml Print raw xml

    Меню помощи для vul-info.

    Позволяет посмотреть информацию по конкретной уязвимости с помощью её ID (требуется полный ID).
    К примеру: oval:astra:def:1139872346980661574462931648992835

    Флаги:

    • -h - помощь
    • -i - id уязвимости (содержит не только цифры).
    • -o - название ОС (обязательно).
    • -v - версия ОС (обязательно).
    • -x - печать информации об уязвимости в сыром xml виде.
    Блок кода
    aelrei@astra-70380:~$ sudo oval-db vul-info -o astra -v 1.7_x86-64 -i oval:astra:def:1139872346980661574462931648992835
    Definition Found in NoneSeverity.xml:
      ID: oval:astra:def:1139872346980661574462931648992835
      Class: vulnerability
      Title:  Astra Linux - уязвимость в linux-5.15, linux-6.1
      Description: In the Linux kernel, the following vulnerability has been resolved:
    can: j1939: prevent deadlock by changing j1939_socks_lock to rwlock
    The following 3 locks would race against each other, causing the
    deadlock situation in the Syzbot bug report:
    - j1939_socks_lock
    - active_session_list_lock
    - sk_session_queue_lock
    A reasonable fix is to change j1939_socks_lock to an rwlock, since in
    the rare situations where a write lock is required for the linked list
    that j1939_socks_lock is protecting, the code does not attempt to
    acquire any more locks. This would break the circular lock dependency,
    where, for example, the current thread already locks j1939_socks_lock
    and attempts to acquire sk_session_queue_lock, and at the same time,
    another thread attempts to acquire j1939_socks_lock while holding
    sk_session_queue_lock.
    NOTE: This patch along does not fix the unregister_netdevice bug
    reported by Syzbot; instead, it solves a deadlock situation to prepare
    for one or more further patches to actually fix the Syzbot bug, which
    appears to be a reference counting problem within the j1939 codebase.
    [mkl: remove unrelated newline change]
      Remediation: 
      References:
        Source: CVE
        URL: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-52638
        ID: CVE-2023-52638

    Информация об уязвимости. Форматированный вид.

    Раскрыть
    Блок кода
    aelrei@astra-70380:~$ sudo oval-db vul-info -o astra -v 1.7_x86-64 -i oval:astra:def:1139872346980661574462931648992835 -x
    Raw XML from NoneSeverity.xml:
    <definitionclass=vulnerabilityid=oval:astra:def:1139872346980661574462931648992835version=1>
              <metadata>
                    <title> Astra Linux - уязвимость в linux-5.15, linux-6.1</title>
                    <affected family="unix">
                      <platform>Astra Linux 1.7</platform>
                      <product>linux-5.15, linux-6.1</product>
                    </affected>
                    <reference source="CVE" ref_url="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-52638" ref_id="CVE-2023-52638"></reference>
                    <description>In the Linux kernel, the following vulnerability has been resolved:
    can: j1939: prevent deadlock by changing j1939_socks_lock to rwlock
    The following 3 locks would race against each other, causing the
    deadlock situation in the Syzbot bug report:
    - j1939_socks_lock
    - active_session_list_lock
    - sk_session_queue_lock
    A reasonable fix is to change j1939_socks_lock to an rwlock, since in
    the rare situations where a write lock is required for the linked list
    that j1939_socks_lock is protecting, the code does not attempt to
    acquire any more locks. This would break the circular lock dependency,
    where, for example, the current thread already locks j1939_socks_lock
    and attempts to acquire sk_session_queue_lock, and at the same time,
    another thread attempts to acquire j1939_socks_lock while holding
    sk_session_queue_lock.
    NOTE: This patch along does not fix the unregister_netdevice bug
    reported by Syzbot; instead, it solves a deadlock situation to prepare
    for one or more further patches to actually fix the Syzbot bug, which
    appears to be a reference counting problem within the j1939 codebase.
    [mkl: remove unrelated newline change]</description>
                    <bdu>
                      <cwe>[]</cwe>
                      <CVSS2.0>None</CVSS2.0>
                      <CVSS3.0>None</CVSS3.0>
                      <mitigations></mitigations>
                    </bdu>
              </metadata>
              <criteria operator="OR">
                    <criterion test_ref="oval:astra:tst:77143" comment="linux-image-5.15.0-111-generic DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77144" comment="linux-image-5.15.0-111-hardened DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77145" comment="linux-image-5.15.0-111-lowlatency DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77146" comment="linux-headers-5.15.0-111 DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77147" comment="linux-headers-5.15.0-111-generic DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77148" comment="linux-headers-5.15.0-111-hardened DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77149" comment="linux-headers-5.15.0-111-lowlatency DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77150" comment="linux-tools-common-5.15.0-111 DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77151" comment="linux-tools-5.15.0-111 DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77152" comment="linux-tools-5.15.0-111-hardened DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77153" comment="linux-tools-host-5.15.0-111 DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77154" comment="linux-tools-5.15.0-111-lowlatency DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77155" comment="linux-tools-5.15.0-111-generic DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:78880" comment="linux-libc-dev-5.15.0-111 DPKG is earlier than 5.15.0-111.astra2+ci1"></criterion>
                    <criterion test_ref="oval:astra:tst:77166" comment="linux-image-6.1.90-1-generic DPKG is earlier than 6.1.90-1.astra3+ci20"></criterion>
                    <criterion test_ref="oval:astra:tst:77167" comment="linux-headers-6.1.90-1 DPKG is earlier than 6.1.90-1.astra3+ci20"></criterion>
                    <criterion test_ref="oval:astra:tst:77168" comment="linux-headers-6.1.90-1-generic DPKG is earlier than 6.1.90-1.astra3+ci20"></criterion>
                    <criterion test_ref="oval:astra:tst:77169" comment="linux-tools-common-6.1.90-1 DPKG is earlier than 6.1.90-1.astra3+ci20"></criterion>
                    <criterion test_ref="oval:astra:tst:77170" comment="linux-tools-6.1.90-1 DPKG is earlier than 6.1.90-1.astra3+ci20"></criterion>
                    <criterion test_ref="oval:astra:tst:77171" comment="linux-tools-host-6.1.90-1 DPKG is earlier than 6.1.90-1.astra3+ci20"></criterion>
                    <criterion test_ref="oval:astra:tst:77172" comment="linux-tools-6.1.90-1-generic DPKG is earlier than 6.1.90-1.astra3+ci20"></criterion>
                    <criterion test_ref="oval:astra:tst:78882" comment="linux-libc-dev-6.1.90-1 DPKG is earlier than 6.1.90-1.astra3+ci20"></criterion>
              </criteria>
            </definition>

    Информация об уязвимости. XML вид.

    Раскрыть
    • sudo oval-db completion [commands]
    Блок кода
    aelrei@astra-70380:~$ sudo oval-db completion -h
    Generate the autocompletion script for oval-db for the specified shell.
    See each sub-command's help for details on how to use the generated script.
    
    Usage:
      oval-db completion [command]
    
    Available Commands:
      bash        Generate the autocompletion script for bash
      fish        Generate the autocompletion script for fish
      powershell  Generate the autocompletion script for powershell
      zsh         Generate the autocompletion script for zsh
    
    Flags:
      -h, --help   help for completion
    
    Use "oval-db completion [command] --help" for more information about a command.

    Меню помощи для completion.

    Позволяет сгенерировать скрипт автодополнения для указанной оболочки.

    Команды:

    • bash - генерация скрипта автозаполнения для bash.
    • fish - генерация скрипта автозаполнения для fish.
    • powershell - генерация скрипта автозаполнения для powershell.
    • zsh - генерация скрипта автозаполнения для zsh.

    Для того, чтобы посмотреть, как применить этот скрипт в системе, нужна команда:

    • sudo oval-db completion [commands] -h
    Блок кода
    aelrei@astra-70380:~$ sudo oval-db completion bash -h
    Generate the autocompletion script for the bash shell.
    
    This script depends on the 'bash-completion' package.
    If it is not installed already, you can install it via your OS's package manager.
    
    To load completions in your current shell session:
    
            source <(oval-db completion bash)
    
    To load completions for every new session, execute once:
    
    #### Linux:
    
            oval-db completion bash > /etc/bash_completion.d/oval-db
    
    #### macOS:
    
            oval-db completion bash > $(brew --prefix)/etc/bash_completion.d/oval-db
    
    You will need to start a new shell for this setup to take effect.
    
    Usage:
      oval-db completion bash
    
    Flags:
      -h, --help              help for bash
          --no-descriptions   disable completion descriptions

    Инструкция по применения скрипта для bash.

    • "enabled": true,
                  "drop": true
              }
          }
      }
      Где:
      • engine — тип системы контейнеризации. Допустимые значения:
        • docker;
        • podman.
      • allow-run-wo-oval-file — управление запуском контейнеров не имеющих oval-описаний (true — разрешено, false — запрещено);
      • levels — параметры для различных уровней критичности уязвимостей:
        • enabled — управление сканированием на уязвимости для данного уровня критичности (true - сканирование включено, false - сканирование выключено);
        • drop — управление запуском контейнера при обнаружении уязвимости (true — запуск запрещен, false - запуск разрешен).
    • /usr/share/oval/db — база данных уязвимостей;
    • /usr/share/oval/db/backup — каталог для сохранения резервных копий oval-описаний при их обновлении.

    Якорь
    Графический интерфейс для управления параметрами сканирования
    Графический интерфейс для управления параметрами сканирования
    Графический интерфейс для управления параметрами сканирования

    Графический интерфейс для управления параметрами сканирования может быть запущен командой:

    Command
    sudo oval-db config

    Графический интерфейс позволяет изменять настройки конфигурации сканирования образов. Настройки для Docker и Podman управляются раздельно.

    Image Added

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

    • переход между двумя окнами производится с помощью стрелок влево и вправо;
    • подтверждение действия производится с помощью Enter;
    • в правом окне передвигаться по настройкам можно с помощью Tab;
    • чтобы вернутся к предустановленным данным нажать стрелку вверх;
    • чтобы выйти нажать Q и подтвердить.
    • в случае использования клавиатуры перемещение вниз по пунктам меню осуществляется клавишей TAB.

    Поля экранной формы графического интерфейса:

    • Select Preset - выбор предустановленных настроек сканирования;
    • Scan on Image Create - управление сканированием образа при создании образа (X - включено).
    • Scan on Container Start - управление сканированием образа при запуске контейнера (X - включено).
    • Swarm Rules Enabled - управление режимом docker swarm (X - включено).
    • Period - время в часах, для периодического сканирования всех образов контейнеров.
    • Allow run without OVAL file - управление разрешением запуска контейнеров без файлов описания уязвимостей (X - в случае отсутствия файла oval-описания запустить контейнер будет запрещено);
    • В блоке Vulnerability настраивается обработка контейнеров для каждого уровня уязвимостей:
      Image Added
      где:
      • Enabled/Drop - сканирование включено, в случае нахождения уязвимости контейнер останавливается и добавляется запись в журнал событий;
      • Enabled/Scan - сканирование включено, в случае нахождения уязвимости контейнер не останавливается, добавляется запись в журнал событий;
      • Disabled - сканирование отключено.

    Создание и использование собственного ресурса для обновления oval-описаний

    Создание ресурса

    Для создания собственного ресурса для обновления oval-описаний (например, для работы в изолированной сети необходимо:

    1. Разместить сами oval-описания так, чтобы они были доступны для загрузки. Для этого можно использовать HTTP-сервер, FTP-сервер, файловый сервер Samba и т.д.
    2. Создать каталог с описаниями обновлений oval-описаний. Описания также должны быть доступны для загрузки. Структура этого каталога описана далее.

    Каталог с описаниями обновлений oval-описаний

    Структура каталога для хранения описаний обновлений oval-описаний:

    Блок кода
    collapsetrue
    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/
    │   └── ...
    ...

    Описание структуры:

    • Файл oval_meta.json — файл, содержащий ссылки и контрольные суммы для всех доступных oval-описаний.
    • Файлы oval_meta.json.md5, oval_meta.json.sha1, oval_meta.json.sha256 — контрольные суммы файла oval_meta.json.
    • Подкаталоги по версиям и платформам. Например, подкаталоги 1.7_x86-64/, 1.8_x86-64/, 4.7_arm/ — в этих каталогах находятся файлы oval-описаний для каждой версии и архитектуры и их контрольные суммы.

    Файл описания обновлений oval-описаний

    Структура файла:

    Блок кода
    collapsetrue
    {
      "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 содержит:

      • platform — название платформы (строка, например, "x86-64" или "arm");
      • targets — цели, массив объектов, версии для данной платформы;

    • каждый элемент массива целей (targets) содержит:

      • target — строка, идентификатор версии операционной системы, к которой относятся удаляемые файлы. Соответствует значению параметра VERSION_ID в файле /etc/os-release. (обязательное поле);
      • url — строка, ссылка на собственно файл с oval-описанием для данной цели (обязательное поле);

      • md5 — строка, контрольная сумма MD5 для файла (обязательное поле);

      • sha256sum — строка, контрольная сумма SHA-256 для файла;

      • gost — строка, контрольная сумма по алгоритму ГОСТ для файла;

      • uploaded — строка, дата и время загрузки файла в формате ДД-ММ-ГГГГ ЧЧ:ММ:СС.миллисекунды.

    Пример реального файла:

    Блок кода
    collapsetrue
    {
        "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-описаний

    Для использования собственного ресурса обновлений oval-описаний внести в конфигурационный файл /usr/share/oval/conf/daemon.json следующие изменения:

    1. Изменить значение параметра ManifestUrl, указав в нем путь к собственному файлу oval_meta.json. Например:
      Блок кода
      "ManifestUrl": "http://your-server.local/al-oval/oval_meta.json",

      Поддерживаются протоколы http:// и https://.

    2. Изменить значение параметра FoldersForVersionsUrl , указав в нем новое значение, например:
      Блок кода
      "FoldersForVersionsUrl": "http://your-server.local/astra/oval/"
      Пример фрагмента итогового файла: 
      Блок кода
       { 
      	"ManifestUrl": "http://your-server.local/al-oval/oval_meta.json", 
      	"FoldersForVersionsUrl": "http://your-server.local/astra/oval/" 
      }
    3. После внесения изменений чтобы новые настройки вступили в силу перезапустить службу обработки OVAL-описаний:
      Блок кода
      sudo systemctl restart oval-dbd.service

    Обновление файлов oval-описаний контейнеров Astra Linux в закрытом контуре

    Для получения обновлений файлов oval-описаний нужен компьютер с доступом в Интернет. На этом компьютере и на компьютерах, на которые выполняется перенос (целевые компьютеры), должен быть установлен пакет oval-db. Для создания базы данных на целевом компьютере необходимы права суперпользователя (при включенном МКЦ — права суперпользователя с высоким уровнем целостности).

    Получение файлов oval-описаний

    1. На компьютере с доступом в Интернет и установленным пакетом oval-db выполнить обновление файлов oval-описаний для контейнерных образов ОС Astra Linux командой:
      Command
      sudo oval-db update -v <версия>
      • для обновления конкретной версии указать версию в соответствии с версией и архитектурой системы (например, `1.7_x86-64`, `1.8_x86-64`, `1.7_arm` и т.д.);
      • для обновления всех доступных версий использовать значение `all`. 
    2. После завершения обновления заархивировать каталог /usr/share/oval/db, например:
      Command
      tar czvf oval-db.tgz -C /usr/share/oval/db .
      Содержимое каталога будет сохранено в oval-db.tgz в текущем рабочем каталоге.

    Перенос файлов в закрытый контур

    1. Перенести полученные файлы (или папку) на компьютер в закрытом контуре любым способом (например, через съемный носитель).

    2. На целевом компьютере распаковать архив в нужный каталог. Пример команды (подразумевается, что распаковываемый файл находится в текущем рабочем каталоге):

      Command
      sudo tar xzvf oval-db.tgz -C /usr/share/oval/db/


    3. Если на целевом компьютере включен МКЦ, то установить на файлы базы данных высокую целостность:

      Command
      sudo pdpl-file -R 0:63 /usr/share/oval/db

    Порядок выполнения периодического сканирования

    Начиная с обновления 1.7.8 и 1.8.3 сканирование выполняется в следующем порядке:

    1. Раз в час системы контейнеризации (Podman и Docker) получает список образов/
    2. Для каждого образа проверятся время последнего сканирования, сохраненное в системе контейнеризации. в своей библиотеке.
    3. Если сканирование образа ранее не выполнялось (образ был был недавно создан) или время, прошедшее с последнего сканирования превышает период, заданный настройкой periodic_scan_time_in_hours в часах, то образ отправляется на сканирование.
    В более ранних обновлениях система контейнеризации получает список образов раз в 7/30 дней (в зависимости от настройки astra-sec-level) и сканирует каждый образ из списка.