Оглавление |
---|
Информация | ||
---|---|---|
| ||
Информация | ||
---|---|---|
| ||
|
Аннотация
Обзор сканеров уязвимости
OVAL-описания
В качестве файла базы данных уязвимостей в Astra Linux Special Edition используется OVAL-файл в формате XML.
Общий принцип работы сканеров уязвимостей
- Обнаружение узлов сети: сканер выявляет доступные по сети устройства и их характеристики.
- Сканирование портов: сканер проверяет открытые порты, исследуя сетевые сервисы и протоколы.
- Идентификация уязвимостей: сканер ищет уязвимости в конфигурациях устройств, операционных систем и приложений, сопоставляя найденные конфигурации с имеющимися в собственной базе данных.
- Генерация отчетов: по итогам сканирования создается отчет с перечнем обнаруженных уязвимостей и отображаются рекомендации по их исправлению.
- 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 Edition
ScanOVAL
Сканер разработан компанией «Алтэкс-Софт» совместно с
Основные возможности ScanOVAL:
- загрузка XML-файлов с OVAL-описаниями уязвимостей, выполненными в соответствии со спецификацией OVAL версии не ниже 5.10.
- 1;
- обнаружение на основании обработки данных, представленных в OVAL-описаниях, уязвимостей программного обеспечения;
- классификация обнаруженных уязвимостей по критичности;
- генерация отчёта с результатами проверки.
OpenScap
Набор библиотек с открытым исходным кодом, обеспечивающий поддержку линейки стандартов SCAP. Включает в себя инструмент-сканер openscap-scanner.
Сканер уязвимостей OpenScap предустановлен в
Установка OpenScap
Сканер уязвимостей OpenScap входит в расширенный репозиторий Astra Linux Special Edition начиная с версии 1.7.5. для инструментов контейнеризации. Периодическая проверка образов на наличие известных уязвимостей осуществляется автоматически один раз в неделю. Регистрация событий безопастности осуществляется подсистемой регистрации событий.
Основные возможности инструмента-сканера в составе OpenScap задействованные в Astra Linux Special Edition:
анализ системы на наличие заданного состояния машины (уязвимость, конфигурация, состояние исправления и т. д.);
Установка OpenScap:
Работа с OpenScap
генерация сообщений о результатах этой оценки.
Работа с 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 и дополнительные необходимые для работы пакеты:
Command sudo apt-get install openscap-scanner openscap-common openssl scanoval
- Установить deb-пакет с актуальным обновлением инструмента и OVAL-файлом:
Command sudo dpkg -i <scanovalcontent_версия>.deb
Запуск ScanOVAL:
Command |
---|
|
При необходимости добавить ярлык сканера на рабочий стол.
Перед проведением процесса сканирования необходимо:
- Убедиться в том, что в ScanOVAL загружена актуальная версия OVAL-описания.
- Отключить режим режим замкнутой программной среды.
Для загрузки описаний уязвимостей в главном окне ScanOVAL необходимо нажать на кнопку <Открыть файл>:
В появившемся диалоговом окне выбрать необходимый файл и нажать кнопку <Открыть>. В главном окне ScanOVAL появится список выбранных описаний уязвимостей:
XML-файл может быть загружен с локального диска компьютера, сетевого диска или иного места, доступного пользователю на данном компьютере. По умолчанию XML-файл с OVAL-описаниями находится в папке /var/lib/scanoval/data
.
Для добавления или удаления уже загруженных OVAL-описаний необходимо повторно нажать кнопку <Открыть файл> и в появившемся окне выбрать требуемую операцию: <Добавить OVAL файл> или <Удалить все файлы>. Добавление осуществляется в диалоговом режиме. Для подтверждения операции необходимо нажать кнопку <Загрузить>:
Информация |
---|
При загрузке XML-файла OVAL-описания проверяется его цифровая подпись. Если проверка завершилась неудачно, содержимое файла игнорируется. |
Для обнаружения уязвимостей необходимо нажать на кнопку <Выполнить аудит>
По окончании проверок сообщение «Выполнение...» исчезает, при этом в главном окне появляются результаты проверок с сообщениями «обнаружено» / «не обнаружено»:
Доступна функция сохранения результатов сканирования в формате HTML или CSV:
Обновление ScanOVAL:
- Удалить текущую версию обновлений ScanOVAL:
Command sudo apt-get remove scanoval-content-alse17
- Скачать deb-пакет с актуальным обновлением инструмента и OVAL-описанием.
- Установить deb-пакет с актуальным обновлением инструмента и OVAL-описанием:
Command sudo dpkg -i <scanovalcontent_версия>.deb
- После нажатия кнопки <Добавить 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 | событие | результат | дополнительная информация |
Предупреждение |
---|
При обнаружении уязвимостей дальнейшее использование образа контейнера запрещено. |
Для устранения обнаруженной уязвимости и последующего запуска контейнера без блокировки, необходимо:
- Запустить средство контейнеризации в режиме отладки (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"
:
3
<класс_защиты> # значение от 1 до 6
}
- Повторно запустить службу:
Command sudo systemctl start
- Остановить службу:
- С помощью параметров запуска службы:
Для устранения обнаруженной уязвимости и последующего запуска контейнера без блокировки, необходимо:
- Запустить средство контейнеризации в режиме отладки (6 класс защиты).
- Запустить контейнер и устранить уязвимость.
- Запустить средство контейнеризации с требуемым классом защиты.
OVAl-описания
В качестве файла базы данных уязвимостей в Astra Linux Special Edition используется файл формата OVALdocker
- Разово:
- Остановить службу:
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 |
---|
|
После настройки включенные события начнут появляться в журнале. Можно узнать дополнительную информацию о событии: