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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация
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 позволяет организациям оценивать состояние безопасности своих систем, выявлять уязвимости и соответствие политике безопасности. В состав компонентов протокола входят языки для:

  • описания уязвимостей (CVE);
  • конфигураций (CIS); 
  • проверок соблюдения политик (XCCDF);
  • язык описания уязвимостей и оценки (OVAL).

    OVAL-описания

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

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

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

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

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

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

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

    OpenScap

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

    Сканер уязвимостей OpenScap входит в расширенный репозиторий Astra Linux Special Edition начиная с версии 1.7.5

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

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

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

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

    ScanOVAL

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

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

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

    Работа с OpenScap

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

      sudo apt install openscap-scanner openscap-utils openscap-common bzip2

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

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

      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

    2. Получить архив с OVAL-файлом, например:
      Command

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

    3. Распаковать архив:
      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

    4. Запустить процесс сканирования указав путь до генерируемого отчёта и до OVAL-файла :
      Command

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

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

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

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

    В нижней части 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 и дополнительные необходимые для работы пакеты:
      Command

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

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

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

    Запуск Scanoval:

    Command

    sudo /usr/bin/scanoval

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

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

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


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


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

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

    Информация

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

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

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

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

    Обновление Scanoval:

    1. Удалить текущую версию обновлений Scanoval:
      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

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

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

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

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

    Указать директорию для сканирования с помощью задания переменной OSCAP_PROBE_ROOT перед запуском сканера. Без указания этой переменной будет произведено сканирование основной ОС.

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

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

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

    Docker

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

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


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

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

        [Service]

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


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

        sudo systemctl restart docker


    • с помощью конфигурационного файла:
      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. Остановить службу:
        Command

        sudo systemctl stop docker

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

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

    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-файлу с описанием уязвимостей

    }

     

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


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

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

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