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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация
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 (SCAP, Security Content Automation Protocol) — это набор стандартов и спецификаций, разработанных для автоматизации управления безопасностью информационных систем. SCAP позволяет организациям оценивать состояние безопасности своих систем, выявлять уязвимости и соответствие политике безопасности. Он включает в себя несколько компонентов, таких как языки для описания уязвимостей (CVE), конфигураций (CIS) и проверок соблюдения политик (XCCDF). Основная цель SCAP — упростить и ускорить процесс оценки и управления рисками, обеспечивая автоматизированные и стандартизированные методы анализа безопасности. SCAP включает в себя язык описания уязвимостей OVALпозволяет оценивать состояние безопасности информационных систем, выявлять уязвимости и проверять системы на соответствие политикам безопасности. В состав компонентов протокола входит язык описания уязвимостей и оценки (OVAL).

OVAL-описания

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

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

  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

OpenScap

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

Сканер уязвимостей OpenScap входит в расширенный репозиторий

уязвимостей для Astra Linux Special Edition

начиная с версии 1.7.5

Основные возможности инструмента-сканера в составе OpenScap:

представление информации о конфигурации систем для тестирования;

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

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

  • Сканирование уязвимостей выполняется с использованием файла базы данных уязвимостей, рекомендуемого ФСТЭК России и содержащего сведения об уязвимостях банка данных угроз безопасности информации ФСТЭК России. В качестве файла базы данных уязвимостей при общесистемном сканировании используется OVAL-файл /usr/share/oval/db.xml.

    ScanOVAL

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

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

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

    Работа с OpenScap

    Установить OpenScap:
    Command

    sudo apt install openscap-scanner openscap-utils bzip2

    получить информацию о версии установленного сканера можно выполнив команду oscap -V

    Раскрыть
    titleПример
    Command
    Titleoscap -V

    OpenScap

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

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

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

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

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

    Работа с ScanOVAL

    Установка ScanOVAL

    OpenSCAP command line tool (oscap) 1.3.7
    Copyright 2009--2021 Red Hat Inc., Durham, North Carolina.
    ==== Supported specifications ====
    SCAP Version: 1.3
    XCCDF Version: 1.2
    OVAL Version: 5.11.1
    CPE Version: 2.3
    CVSS Version: 2.0
    CVE Version: 2.0
    Asset Identification Version: 1.1
    Asset Reporting Format Version: 1.1
    CVRF Version: 1.1
    ==== Capabilities added by auto-loaded plugins ====
    SCE Version: 1.0 (from libopenscap_sce.so.25)
    ==== Paths ====
    Schema files: /usr/share/openscap/schemas
    Default CPE files: /usr/share/openscap/cpe
    ==== Inbuilt CPE names ====
    Red Hat Enterprise Linux - cpe:/o:redhat:enterprise_linux:-
    Red Hat Enterprise Linux 5 - cpe:/o:redhat:enterprise_linux:5
    Red Hat Enterprise Linux 6 - cpe:/o:redhat:enterprise_linux:6
    Red Hat Enterprise Linux 7 - cpe:/o:redhat:enterprise_linux:7
    Red Hat Enterprise Linux 8 - cpe:/o:redhat:enterprise_linux:8
    Community Enterprise Operating System 5 - cpe:/o:centos:centos:5
    Community Enterprise Operating System 6 - cpe:/o:centos:centos:6
    Community Enterprise Operating System 7 - cpe:/o:centos:centos:7
    Community Enterprise Operating System 8 - cpe:/o:centos:centos:8
    Fedora 32 - cpe:/o:fedoraproject:fedora:32
    Fedora 33 - cpe:/o:fedoraproject:fedora:33
    Fedora 34 - cpe:/o:fedoraproject:fedora:34
    Fedora 35 - cpe:/o:fedoraproject:fedora:35
    ==== Supported OVAL objects and associated OpenSCAP probes ====
    OVAL family   OVAL object                  OpenSCAP probe               
    ----------    ----------                   ----------                   
    independent   environmentvariable          probe_environmentvariable
    independent   environmentvariable58        probe_environmentvariable58
    independent   family                       probe_family
    independent   filehash                     probe_filehash (MD5, SHA-1)
    independent   filehash58                   probe_filehash58 (MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512)
    independent   sql                          probe_sql
    independent   sql57                        probe_sql57
    independent   system_info                  probe_system_info
    independent   textfilecontent              probe_textfilecontent
    independent   textfilecontent54            probe_textfilecontent54
    independent   variable                     probe_variable
    independent   xmlfilecontent               probe_xmlfilecontent
    independent   yamlfilecontent              probe_yamlfilecontent
    linux         dpkginfo                     probe_dpkginfo
    linux         iflisteners                  probe_iflisteners
    linux         inetlisteningservers         probe_inetlisteningservers
    linux         partition                    probe_partition
    linux         rpminfo                      probe_rpminfo
    linux         rpmverify                    probe_rpmverify
    linux         rpmverifyfile                probe_rpmverifyfile
    linux         rpmverifypackage             probe_rpmverifypackage
    linux         selinuxboolean               probe_selinuxboolean
    linux         selinuxsecuritycontext       probe_selinuxsecuritycontext
    linux         systemdunitdependency        probe_systemdunitdependency
    linux         systemdunitproperty          probe_systemdunitproperty
    unix          dnscache                     probe_dnscache
    unix          file                         probe_file
    unix          fileextendedattribute        probe_fileextendedattribute
    unix          interface                    probe_interface
    unix          password                     probe_password
    unix          process                      probe_process
    unix          process58                    probe_process58
    unix          routingtable                 probe_routingtable
    unix          runlevel                     probe_runlevel
    unix          shadow                       probe_shadow
    unix          symlink                      probe_symlink
    unix          sysctl                       probe_sysctl
    unix          uname                        probe_uname
    unix          xinetd                       probe_xinetd
  • Получить архив с OVAL-файлом:
    Command

    wget https://www.debian.org/security/oval/oval-definitions-bookworm.xml.bz2

  • Распаковать архив:
    Command

    bzip2 -d oval-definitions-bookworm.xml.bz2

    получить информацию о содержимом OVAL-файла можно выполнив команду oscap info <путь до файла>. 

    Раскрыть
    titleПример
    Command
    Titleoscap info oval-definitions-bookworm.xml

    Document type: OVAL Definitions 
    OVAL version: 5.11.2
    Generated: 2024-10-17T03:31:08.188-04:00
    Imported: 2024-10-17T06:31:2

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

    Внимание! Инструмент oscap по умолчанию доступен для запуска без прав администратора! Настоятельно рекомендуется ограничить доступ к инструменту!

  • Ограницить доступ к инструменту oscap последовательно выполнив :
    Command
    sudo chown root:root /usr/bin/oscap
    sudo chmod 700 /usr/bin/oscap
  • Запустить процесс сканирования указав путь до генерируемого отчёта и до OVAL-файла :
    Command

    sudo oscap oval eval --report oval-bookworm.html oval-definitions-bookworm.xml

    добавить в результаты сканирования xml-файл для последующей автоматизированной обработки результатов сканирования можно указав дополнительный параметр --results <имя_файла_отчёта>.xml

  • Интерпретация результатов сканирования

    Открыть в браузере файл oval-bookworm.html:
    Image Removed

    В нижней части html-документа располагаются результаты сканирования.

    Значение полей OVAL Definition Results :

    • ID — уникальный идентификатор описания;
    • Result — результат выполнения проверки: false — если проблем не обнаружено, true — требуется устранение обнаруженной уязвимости;
    • Class — для OVAL-файлов всегда принимает значение vulnerability (уязвимость);
    • Reference ID — ссылка на бюллетень безопасности, где хранится дополнительная информация об уязвимости;
    • Title — заголовок названия бюллетеня, позволяющий понять, о какой уязвимости идёт речь.

    Подробная справка по инструменту доступна в руководстве man oscap.

    Работа с Scanoval 

    Установка Scanoval:

    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-файла описания проверяется его цифровая подпись. Если проверка завершилась неудачно, содержимое 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. Открыть редактор для добавления параметра запуска службы и добавить туда строку
      при запуске процесса
        1. :
          Command
      sudo dockerd
        1. Titlesudo systemctl edit docker

          [Service]

          Environment="DOCKER_OPTS=--astra-sec-level

      4
        1. <класс_защиты>" #

      значение
        1. от 1 до 6


      при запуске сервиса


        1. Перезапустить службу:
          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" :

        3
        1. <класс_защиты> # значение от 1 до 6
          }


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

          sudo systemctl start docker


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

          sudo systemctl stop docker

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

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

    • Для непривилегированной службы 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": 4,<класс_защиты>, # значение от 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.pngImage Added

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

    image-2024-9-19_11-51-40.pngImage Added