Оглавление |
---|
Информация | ||
---|---|---|
| ||
Информация | ||
---|---|---|
| ||
|
Аннотация
описания уязвимостейOVAL-описания
xmlXML.
Общий принцип работы сканеров уязвимостей
- Обнаружение узлов сети: сканер выявляет доступные по сети устройства и их характеристики.
- Сканирование портов: сканер проверяет открытые порты, исследуя сетевые сервисы и протоколы.
- Идентификация уязвимостей: сканер ищет уязвимости в конфигурациях устройств, операционных систем и приложений, сопоставляя найденные конфигурации с имеющимися в собственной базе данных.
- Генерация отчетов: по итогам сканирования создается отчет с перечнем обнаруженных уязвимостей и отображаются рекомендации по их исправлению.
- https://bdu.fstec.ru/vul - сайт ФСТЭК «Банк данных угроз безопасности информации» для получения информации о ранее сформированных паспортах;
- https://security-tracker.debian.org/tracker/ - сайт ОС Debian для нахождения уязвимых пакетов для конкретной уязвимости;
- https://tracker.debian.org/ - сайт ОС Debian для отслеживания версий пакетов и подверженность их уязвимости;
- https://ubuntu.com/security/ - сайт ОС Ubuntu для нахождения уязвимых пакетов для конкретной уязвимости;
- https://access.redhat.com/security/security-updates/#/cve - сайт компании Red Hat для нахождения подробной информации о CVE.
В целях исключения ложных срабатываний при проведении контроля (анализа) защищенности информационных систем, функционирующих под управлением ОС Astra Linux, необходимо руководствоваться:
- актуальным списком устраненных уязвимостей (доступен в личном кабинете пользователя);
- перечнями устраненных и неактуальных уязвимостей ОС Astra Linux, представленными в формате, используемом средствами анализа защищенности в качестве источника сведений об уязвимостях (OVAL-описания), (предоставляются по запросу в техническую поддержку).
Обзор сканеров уязвимостей для
Astra Linux Special EditionOpenScap
Набор библиотек с открытым исходным кодом, обеспечивающий поддержку линейки стандартов SCAP. Включает в себя инструмент-сканер openscap-scanner.
Astra Linux Special Edition
начиная с версии 1.7.5Основные возможности инструмента-сканера в составе OpenScap:
представление информации о конфигурации систем для тестирования;
генерация отчёта о результатах этой оценки.
ScanOVAL
Сканер разработан компанией «Алтэкс-Софт» совместно с
Основные возможности ScanOVAL:
- загрузка XML-файлов с OVAL-описаниями уязвимостей, выполненными в соответствии со спецификацией OVAL версии не ниже 5.10.1;
- обнаружение на основании обработки данных, представленных в XMLOVAL-файлахописаниях, уязвимостей программного обеспечения;
- классификация обнаруженных уязвимостей по критичности;
- генерация отчёта с результатами проверки.
Работа с OpenScap
Установить OpenScap:Command |
---|
|
получить информацию о версии установленного сканера можно выполнив команду oscap -V
.
title | Пример |
---|
Title | oscap -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
OpenScap
Набор библиотек с открытым исходным кодом, обеспечивающий поддержку линейки стандартов SCAP. Включает в себя инструмент-сканер openscap-scanner.
Сканер уязвимостей OpenScap предустановлен в Astra Linux Special Edition начиная с версии 1.7.5. для инструментов контейнеризации. Периодическая проверка образов на наличие известных уязвимостей осуществляется автоматически один раз в неделю. Регистрация событий безопастности осуществляется подсистемой регистрации событий.
Основные возможности инструмента-сканера в составе OpenScap задействованные в Astra Linux Special Edition:
анализ системы на наличие заданного состояния машины (уязвимость, конфигурация, состояние исправления и т. д.);
генерация сообщений о результатах этой оценки.
Работа с ScanOVAL
Установка ScanOVAL
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
Command |
---|
|
Command |
---|
|
получить информацию о содержимом OVAL-файла можно выполнив команду oscap info <путь до файла>.
Раскрыть | |||||
---|---|---|---|---|---|
| |||||
|
Command |
---|
|
добавить в результаты сканирования xml-файл для последующей автоматизированной обработки результатов сканирования можно указав дополнительный параметр --results <имя_файла_отчёта>.xml
Интерпретация результатов сканирования
Открыть в браузере файл oval-bookworm.html:
В нижней части html-документа располагаются результаты сканирования.
Значение полей OVAL Definition Results :
- ID — уникальный идентификатор описания;
- Result — результат выполнения проверки:
false
— если проблем не обнаружено,true
— требуется устранение обнаруженной уязвимости; - Class — для OVAL-файлов всегда принимает значение
vulnerability
(уязвимость); - Reference ID — ссылка на бюллетень безопасности, где хранится дополнительная информация об уязвимости;
- Title — заголовок названия бюллетеня, позволяющий понять, о какой уязвимости идёт речь.
Подробная справка по инструменту доступна в руководстве man oscap
.
Работа с Scanoval
Установка Scanoval:
- Скачать архив установщика и deb-пакет с обновлениями с сайта ФСТЭК.
- Распаковать архив в каталог:
Command sudo tar -C /var/lib -xvf <scanovalrepo_версия_пакета>.tar.gz
- Установить открытый ключ из архива:
Command sudo apt-key add /var/lib/scanoval/repo/PUBLIC-GPG-KEY-scanoval
- Создать конфигурационный файл локального репозитория:
Command echo "deb file:///var/lib/scanoval/repo 1.7_x86-64 main content" | sudo tee -a /etc/apt/sources.list.d/scanoval.list
- Обновить информацию о пакетах:
Command sudo apt update
- Установить сканер уязвимостей Scanoval ScanOVAL и дополнительные необходимые для работы пакеты:
Command sudo apt-get install openscap-scanner openscap-common openssl scanoval
- Установить deb-пакет с актуальным обновлением инструмента и OVAL-файлом:
Command sudo dpkg -i <scanovalcontent_версия>.deb
Запуск ScanovalScanOVAL:
Command |
---|
|
При необходимости добавить ярлык сканера на рабочий стол.
Перед проведением процесса сканирования необходимо:
- Убедиться в том, что в Scanoval ScanOVAL загружена актуальная версия OVAL-файлаописания.
- Отключить режим режим замкнутой программной среды.
Для загрузки описаний уязвимостей в главном окне Scanoval ScanOVAL необходимо нажать на кнопку <Открыть файл>:
В появившемся диалоговом окне выбрать необходимый файл и нажать кнопку <Открыть>. В главном окне Scanoval ScanOVAL появится список выбранных описаний уязвимостей:
XML-файл может быть загружен с локального диска компьютера, сетевого диска или иного места, доступного пользователю на данном компьютере. По умолчанию XML-файл с OVAL-описаниями уязвимостей находится в папке /var/lib/scanoval/data
.
Для добавления или удаления уже загруженных OVAL-описаний необходимо повторно нажать кнопку <Открыть файл> и в появившемся окне выбрать требуемую операцию: <Добавить OVAL файл> или <Удалить все файлы>. Добавление осуществляется в диалоговом режиме. Для подтверждения операции необходимо нажать кнопку <Загрузить>:
Информация |
---|
При загрузке XML-файла OVAL-файла описания проверяется его цифровая подпись. Если проверка завершилась неудачно, содержимое OVAL- файла игнорируется. |
Для обнаружения уязвимостей необходимо нажать на кнопку кнопку <Выполнить аудит>
По окончании проверок сообщение «Выполнение...» исчезает, при этом в главном окне появляются результаты проверок с сообщениями «обнаружено» / «не обнаружено»:
Доступна функция сохранения результатов сканирования в формате HTML или CSV:
Обновление
ScanovalScanOVAL:
- Удалить текущую версию обновлений ScanovalScanOVAL:
Command sudo apt-get remove scanoval-content-alse17
- Скачать deb-пакет с актуальным обновлением инструмента и OVAL-файломописанием.
- Установить deb-пакет с актуальным обновлением инструмента и OVAL-файломописанием:
Command sudo dpkg -i <scanovalcontent_версия>.deb
- После нажатия кнопки <Добавить OVAL файл> выбрать актуальный xmlXML-файл с 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 | событие | результат | дополнительная информация |
Предупреждение |
---|
При обнаружении уязвимостей дальнейшее использование образа контейнера запрещено. |
Для устранения обнаруженной уязвимости и последующего запуска контейнера без блокировки, необходимо:
- Запустить средство контейнеризации в режиме отладки (6 класс защиты).
- Запустить контейнер и устранить уязвимость путём обновления библиотек.
- Запустить средство контейнеризации с требуемым классом защиты.
Для блокировки запуска контейнера, в образе которого обнаружена уязвимость, применяется глобальный параметр 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:
- С
- помощью параметров запуска службы:
- Открыть редактор для добавления параметра запуска службы и добавить туда строку:
Command Title sudo systemctl edit docker [Service]
Environment="DOCKER_OPTS=--astra-sec-level <класс_защиты>" # от 1 до 6
- Перезапустить службу:
Command sudo systemctl restart docker
- Открыть редактор для добавления параметра запуска службы и добавить туда строку:
- С помощью конфигурационного файла:
- Остановить службу:
Command sudo systemctl stop docker
- В файле
/etc/docker/daemon.json
добавить полеastra-sec-level:
Command sudo cat
/
etc
/
docker
/
daemon.json
{
"astra-sec-level"
:
<класс_защиты> # значение от 1 до 6
}
- Повторно запустить службу:
Command sudo systemctl start docker
- Остановить службу:
- Разово:
- Остановить службу:
Command sudo systemctl stop docker
- Перезапустить службу с указанным параметром:
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 | ||
---|---|---|
| ||
|
После установки Podman сервис сканирования запускается автоматически. Чтобы вручную запустить сканирование, нужно выполнить:
Command |
---|
|
Журнале Настройках
После настройки включенные события начнут появляться в журнале. Можно узнать дополнительную информацию о событии: