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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация
titleДанная статья применима начиная с:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) и РУСБ.10015-10, РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7

Аннотация

Протокол SCAP (Security Content Automation Protocol) — это набор стандартов и спецификаций, разработанных для автоматизации управления безопасностью информационных систем. Основная цель SCAP — упростить и ускорить процесс оценки и управления рисками, обеспечивая автоматизированные и стандартизированные методы анализа безопасности. SCAP позволяет оценивать состояние безопасности информационных систем, выявлять уязвимости и проверять системы на соответствие политикам безопасности. В состав компонентов протокола входит язык описания уязвимостей и оценки (OVAL).

OVAL-описания

Язык уязвимостей и оценки (OVAL, Open Vulnerability and Assessment Language) — это декларативный язык, используемый для оценки наличия и описания уязвимостей в программном обеспечении. OVAL позволяет автоматически собирать информацию о состоянии безопасности систем и проводить анализ уязвимостей с помощью программ-сканеров уязвимостей. В качестве файла базы данных уязвимостей в Astra Linux Special Edition используется OVAL-файл в формате XML.

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

  1. Обнаружение узлов сети: сканер выявляет доступные по сети устройства и их характеристики.
  2. Сканирование портов: сканер проверяет открытые порты, исследуя сетевые сервисы и протоколы.
  3. Идентификация уязвимостей: сканер ищет уязвимости в конфигурациях устройств, операционных систем и приложений, сопоставляя найденные конфигурации с имеющимися в собственной базе данных.
  4. Генерация отчетов: по итогам сканирования создается отчет с перечнем обнаруженных уязвимостей и отображаются рекомендации по их исправлению.

Сканирование уязвимостей выполняется с использованием файла базы данных уязвимостей, рекомендуемого ФСТЭК России и содержащего сведения об уязвимостях банка данных угроз безопасности информации ФСТЭК России.

Информация об уязвимостях:

  1. https://bdu.fstec.ru/vul - сайт ФСТЭК «Банк данных угроз безопасности информации» для получения информации о ранее сформированных паспортах;
  2. https://security-tracker.debian.org/tracker/ - сайт ОС Debian для нахождения уязвимых пакетов для конкретной уязвимости;
  3. https://tracker.debian.org/ - сайт ОС Debian для отслеживания версий пакетов и подверженность их уязвимости;
  4. https://ubuntu.com/security/ - сайт ОС Ubuntu для нахождения уязвимых пакетов для конкретной уязвимости;
  5. https://access.redhat.com/security/security-updates/#/cve - сайт компании Red Hat для нахождения подробной информации о CVE.

В целях исключения ложных срабатываний при проведении контроля (анализа) защищенности информационных систем, функционирующих под управлением ОС Astra Linux, необходимо руководствоваться:

  • актуальным списком устраненных уязвимостей (доступен в личном кабинете пользователя);
  • перечнями устраненных и неактуальных уязвимостей ОС Astra Linux, представленными в формате, используемом средствами анализа защищенности в качестве источника сведений об уязвимостях (OVAL-описания), (предоставляются по запросу в техническую поддержку).

Обзор сканеров уязвимостей для Astra Linux Special Edition

ScanOVAL

Сканер разработан компанией «Алтэкс-Софт» совместно с ФСТЭК России. В качестве базы данных уязвимостей использует банк данных угроз безопасности информации (БДУ) ФСТЭК России.

Основные возможности ScanOVAL:

  • загрузка XML-файлов с OVAL-описаниями уязвимостей, выполненными в соответствии со спецификацией OVAL версии не ниже 5.10.1;
  • обнаружение на основании обработки данных, представленных в OVAL-описаниях, уязвимостей программного обеспечения;
  • классификация обнаруженных уязвимостей по критичности;
  • генерация отчёта с результатами проверки.

OpenScap

Набор библиотек с открытым исходным кодом, обеспечивающий поддержку линейки стандартов SCAP. Включает в себя инструмент-сканер openscap-scanner.

Сканер уязвимостей OpenScap предустановлен в Astra Linux Special Edition начиная с версии 1.7.5. для инструментов контейнеризации. Периодическая проверка образов на наличие известных уязвимостей осуществляется автоматически один раз в неделю. Регистрация событий безопастности осуществляется подсистемой регистрации событий.

Основные возможности инструмента-сканера в составе OpenScap задействованные в Astra Linux Special Edition:

  • анализ системы на наличие заданного состояния машины (уязвимость, конфигурация, состояние исправления и т. д.);

  • генерация сообщений о результатах этой оценки. 

Работа с

Scanoval 

ScanOVAL

Установка ScanovalScanOVAL:

  1. Скачать архив установщика и deb-пакет с обновлениями с сайта ФСТЭК.
  2. Распаковать архив в каталог:
    Command

    sudo tar -C /var/lib -xvf <scanovalrepo_версия_пакета>.tar.gz

  3. Установить открытый ключ из архива:
    Command

    sudo apt-key add /var/lib/scanoval/repo/PUBLIC-GPG-KEY-scanoval

  4. Создать конфигурационный файл локального репозитория:
    Command

    echo "deb file:///var/lib/scanoval/repo 1.7_x86-64 main content" | sudo tee -a /etc/apt/sources.list.d/scanoval.list

  5. Обновить информацию о пакетах:
    Command

    sudo apt update

  6. Установить сканер уязвимостей Scanoval ScanOVAL и дополнительные необходимые для работы пакеты:
    Command

    sudo apt-get install openscap-scanner openscap-common openssl scanoval

  7. Установить deb-пакет с актуальным обновлением инструмента и OVAL-файлом:
    Command

    sudo dpkg -i <scanovalcontent_версия>.deb

Запуск ScanovalScanOVAL:

Command

sudo /usr/bin/scanoval

При необходимости добавить ярлык сканера на рабочий стол.

Перед проведением процесса сканирования необходимо:

  1. Убедиться в том, что в Scanoval ScanOVAL загружена актуальная версия OVAL-описания.
  2. Отключить режим режим замкнутой программной среды.

Для загрузки описаний уязвимостей в главном окне Scanoval ScanOVAL необходимо нажать на кнопку <Открыть файл>:


В появившемся диалоговом окне выбрать необходимый файл и нажать кнопку <Открыть>. В главном окне Scanoval ScanOVAL появится список выбранных описаний уязвимостей:


XML-файл может быть загружен с локального диска компьютера, сетевого диска или иного места, доступного пользователю на данном компьютере. По умолчанию XML-файл с OVAL-описаниями находится в папке  /var/lib/scanoval/data

Для добавления или удаления уже загруженных OVAL-описаний необходимо повторно нажать кнопку <Открыть файл> и в появившемся окне выбрать требуемую операцию: <Добавить OVAL файл> или <Удалить все файлы>. Добавление осуществляется в диалоговом режиме. Для подтверждения операции необходимо нажать кнопку <Загрузить>:

Информация

При загрузке XML-файла OVAL-описания проверяется его цифровая подпись. Если проверка завершилась неудачно, содержимое файла игнорируется.

Для обнаружения уязвимостей необходимо нажать на кнопку <Выполнить аудит>

По окончании проверок сообщение «Выполнение...» исчезает, при этом в главном окне появляются результаты проверок с сообщениями «обнаружено» / «не обнаружено»:

Доступна функция сохранения результатов сканирования в формате HTML или CSV:
Image RemovedImage Added

Обновление

Scanoval

ScanOVAL:

  1. Удалить текущую версию обновлений ScanovalScanOVAL:
    Command

    sudo apt-get remove scanoval-content-alse17

  2. Скачать deb-пакет с актуальным обновлением инструмента и OVAL-описанием.
  3. Установить deb-пакет с актуальным обновлением инструмента и OVAL-описанием:
    Command

    sudo dpkg -i <scanovalcontent_версия>.deb

  4. После нажатия кнопки <Добавить OVAL файл> выбрать актуальный XML-файл с OVAL-описанием .

Сканирование в образах Docker/Podman инструментом OpenSCAP

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

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

  • создание образа из Dockerfile или из контейнера;
  • загрузка образа из архива или потока ввода;
  • создание файловой системы образа из архива;
  • скачивание образа из реестра;
  • запуск или перезапуск контейнера.

Файл базы данных уязвимостей для контейнеров и образов:

  • в версии Docker 24.0.2+ci14 и выше: /usr/share/oval/db.xml.
  • в версиях Docker 24.0.2+astra16 и ниже: usr/share/docker.io/db-oval.xml.

Файл Docker, в котором запускается сканирование: docker-io/components/engine/internal/astraintegration/scanner.go

Регистрация событий безопасности, связанных с образами и контейнерами Podman и Docker осуществляется подсистемой регистрации событий. Событиям безопасности, связанным с образами и контейнерами Docker, присваиваются метки dockerd_audit. Событиям безопасности, связанным с образами и контейнерами Podman, присваиваются метки podman_audit. Записи в журнале имеют следующий формат:

Блок кода
podman.audit | user ; uid | событие | результат | дополнительная информация


Предупреждение

При обнаружении уязвимостей дальнейшее использование образа контейнера запрещено.

Для устранения обнаруженной уязвимости и последующего запуска контейнера без блокировки, необходимо:

  1. Запустить средство контейнеризации в режиме отладки (6 класс защиты).
  2. Запустить контейнер и устранить уязвимость путём обновления библиотек.
  3. Запустить средство контейнеризации с требуемым классом защиты.

Для блокировки запуска контейнера, в образе которого обнаружена уязвимость, применяется глобальный параметр astra-sec-level в конфигурационных файлах средств контейнеризации. В качестве значения параметра задается число от 1 до 6, которое определяет класс защиты:

Класс защитыТребование
1,2Средство контейнеризации 1, 2 классов защиты должно обеспечивать запрет создания образов контейнеров, содержащих известные уязвимости критического, высокого и среднего уровня опасности
3, 4, 5

Средство контейнеризации 3, 4, 5 классов защиты должно:

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

Средство контейнеризации 6 класса защиты должно:

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

  • 1-5 классы защиты — при обнаружении уязвимости в контейнере его запуск блокируется;
  • 6 класс защиты — отладочный режим, при обнаружении уязвимости в контейнере выводится соответствующее предупреждение, при этом запуск контейнера не блокируется.

В случае если класс защиты не задан или задан не из диапазона 1-6, то при обнаружении уязвимости в контейнере автоматически задается 1 класс защиты с выводом соответствующего сообщения в журнал и запуск контейнера блокируется.

Docker

При скачивании, запуске и тд образов, он производит сканирование образа на предмет наличия уязвимостей с помощью библиотеки OpenSCAP.

Предупреждение

Для указания класса защиты контейнеров Docker допускается использовать только один из способов. 


Установить значение параметра astra-sec-level можно тремя способамиследующими способами:

  • Для привилегированной службы docker:
      с
      1. С помощью параметров запуска службы:
        1. Открыть редактор для добавления параметра запуска службы и добавить туда строку:
          Command
          Titlesudo systemctl edit docker

          [Service]

          Environment="DOCKER_OPTS=--astra-sec-level <класс_защиты>" # от 1 до 6


        2. Перезапустить службу:
          Command

          sudo systemctl restart docker

      с

      1. С помощью конфигурационного файла:
        1. Остановить службу:
          Command

          sudo systemctl stop docker


        2. В файле /etc/docker/daemon.json добавить поле astra-sec-level:
          Command

          sudo cat /etc/docker/daemon.json
          {
              "astra-sec-level" : <класс_защиты> # значение от 1 до 6
          }


        3. Повторно запустить службу:
          Command

          sudo systemctl start docker

      разово

      1. Разово:
        1. Остановить службу:
          Command

          sudo systemctl stop docker

        2. Перезапустить службу с указанным параметром:
          Command

          sudo dockerd --astra-sec-level <класс_защиты> # значение от 1 до 6

    1. Для непривилегированной службы docker (rootless docker) значение параметра astra-sec-level устанавливается индивидуально для каждого пользователя в файле /var/lib/rootlessdocker/<имя_пользователя>/<метка_безопасности>/.config/docker/.config/docker/daemon.json, где:
      • <имя_пользователя> — имя пользователя, для которого запускается служба rootless docker;
      • <метка_безопасности> — метка безопасности, с которой запускается служба roorless docker (по умолчанию — l0i0c0x0t0x0). 

Podman

Создать конфигурационный файл /etc/podman.conf, если он не был создан ранее, и указать в нем значение параметра astra-sec-level:

Блок кода
{
"astra-sec-level" : <класс_защиты> # значение от 1 до 6
}

Для просмотра настроек выполнить:

Command
Titlepodman astra-config

{

"astra-sec-level": <класс_защиты>, # значение от 1 до 6

"oscap-report-dir": "/home/astra/.podman/scanoval/reports", # путь к отчёту о сканировании

"oscap-exec": "/usr/bin/oscap",

"oscap-db-xml": "/usr/share/oval/db.xml" # путь к OVAL-файлу с описанием уязвимостей

}

После установки Podman сервис сканирования запускается автоматически. Чтобы вручную запустить сканирование, нужно выполнить:

Command

 sudo podman scan --service


Начиная с Astra Linux 1.8, можно увидеть запись о включенных событиях безопасности в журнале системных событий. Чтобы включить регистрацию нужных событий, например "Сканирование образа", соответствующее событие необходимо включить в настройках регистрации системных событий:

image-2024-9-19_11-47-5.png

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

image-2024-9-19_11-51-40.png