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

Ключ

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

Оглавление

Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)

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

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

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

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

Термины

  • oval-описание — файл в формате XML, содержащий информацию об уязвимости, объектах, подверженный уязвимости, способах и условиях выявления наличия уязвимости;
  • сканирование — проверка содержимого контейнера для выявления уязвимостей описанных в oval-db;
  • 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-описаний при их обновлении.

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

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

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

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

Информация
На сервере Astra Linux хранятся oval-описания только для контейнеров Astra Linux. Для других ОС oval-описания добавляются вручную.
  1. Автоматическое обновление 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 - файл обновлен (изначально был в системе).
  2. Для выключения автоматического обновления oval-описаний используется команда:
    Command
    sudo oval-db auto-update -e=false
  3. Для принудительного выполнения обновления 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 —  название ОС;
  • -v — версия ОС;

Информация для значений флагов -o и -vдоступна в файле /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 -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 <версия_ОС>

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

Интерфейс командной строки системы сканирования уязвимостей

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

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

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

В более ранних обновлениях система контейнеризации получает список образов раз в 7/30 дней (в зависимости от настройки astra-sec-level) и сканирует каждый образ из списка.