Данная статья связана с:
Данная статья применима начиная с:
- 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
Аннотация
OVAL-описания
Общий принцип работы сканеров уязвимостей
- Обнаружение узлов сети: сканер выявляет доступные по сети устройства и их характеристики.
- Сканирование портов: сканер проверяет открытые порты, исследуя сетевые сервисы и протоколы.
- Идентификация уязвимостей: сканер ищет уязвимости в конфигурациях устройств, операционных систем и приложений, сопоставляя найденные конфигурации с имеющимися в собственной базе данных.
- Генерация отчетов: по итогам сканирования создается отчет с перечнем обнаруженных уязвимостей и отображаются рекомендации по их исправлению.
В целях исключения ложных срабатываний при проведении контроля (анализа) защищенности информационных систем, функционирующих под управлением ОС 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;
- обнаружение на основании обработки данных, представленных в XML-файлах, уязвимостей программного обеспечения;
- классификация обнаруженных уязвимостей по критичности;
- генерация отчёта с результатами проверки.
Работа с OpenScap
- Установить OpenScap:
sudo apt install openscap-scanner openscap-utils openscap-common bzip2
получить информацию о версии установленного сканера можно выполнив команду
oscap -V
. - Получить архив с OVAL-файлом, например:
wget https://www.debian.org/security/oval/oval-definitions-bookworm.xml.bz2
- Распаковать архив:
bzip2 -d oval-definitions-bookworm.xml.bz2
получить информацию о содержимом OVAL-файла можно выполнив команду
oscap info <путь до файла>.
- Запустить процесс сканирования указав путь до генерируемого отчёта и до OVAL-файла :
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:
- Скачать архив установщика и deb-пакет с обновлениями с сайта ФСТЭК.
- Распаковать архив в каталог:
sudo tar -C /var/lib -xvf <scanovalrepo_версия_пакета>.tar.gz
- Установить открытый ключ из архива:
sudo apt-key add /var/lib/scanoval/repo/PUBLIC-GPG-KEY-scanoval
- Создать конфигурационный файл локального репозитория:
echo "deb file:///var/lib/scanoval/repo 1.7_x86-64 main content" | sudo tee -a /etc/apt/sources.list.d/scanoval.list
- Обновить информацию о пакетах:
sudo apt update
- Установить сканер уязвимостей Scanoval и дополнительные необходимые для работы пакеты:
sudo apt-get install openscap-scanner openscap-common openssl scanoval
- Установить deb-пакет с актуальным обновлением инструмента и OVAL-файлом:
sudo dpkg -i <scanovalcontent_версия>.deb
Запуск Scanoval:
sudo /usr/bin/scanoval
Перед проведением процесса сканирования необходимо:
- Убедиться в том, что в Scanoval загружена актуальная версия OVAL-файла.
- Отключить режим режим замкнутой программной среды.
Для загрузки описаний уязвимостей в главном окне Scanoval необходимо нажать на кнопку <Открыть файл>:
В появившемся диалоговом окне выбрать необходимый файл и нажать кнопку <Открыть>. В главном окне Scanoval появится список выбранных описаний уязвимостей:
XML-файл может быть загружен с локального диска компьютера, сетевого диска или иного места, доступного пользователю на данном компьютере. По умолчанию XML-файл с OVAL-описаниями уязвимостей находится в папке /var/lib/scanoval/data
.
Для добавления или удаления уже загруженных OVAL-описаний необходимо повторно нажать кнопку <Открыть файл> и в появившемся окне выбрать требуемую операцию: <Добавить OVAL файл> или <Удалить все файлы>. Добавление осуществляется в диалоговом режиме. Для подтверждения операции необходимо нажать кнопку <Загрузить>:
При загрузке OVAL-файла проверяется его цифровая подпись. Если проверка завершилась неудачно, содержимое OVAL-файла игнорируется.
Для обнаружения уязвимостей необходимо нажать на кнопку <Выполнить аудит>
По окончании проверок сообщение «Выполнение...» исчезает, при этом в главном окне появляются результаты проверок с сообщениями «обнаружено» / «не обнаружено»:
Доступна функция сохранения результатов сканирования в формате HTML или CSV:
Обновление Scanoval:
- Удалить текущую версию обновлений Scanoval:
sudo apt-get remove scanoval-content-alse17
- Скачать deb-пакет с актуальным обновлением инструмента и OVAL-файлом.
- Установить deb-пакет с актуальным обновлением инструмента и OVAL-файлом:
sudo dpkg -i <scanovalcontent_версия>.deb
- После нажатия кнопки <Добавить OVAL файл> выбрать актуальный xml-файл с OVAL .
Сканирование в образах Docker/Podman
Средства контейнеризации, которые используется в составе 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
.
Регистрация событий безопасности, связанных с образами и контейнерами Podman и Docker осуществляется подсистемой регистрации событий. Событиям безопасности, связанным с образами и контейнерами Docker, присваиваются метки dockerd_audit
. Событиям безопасности, связанным с образами и контейнерами Podman, присваиваются метки podman_audit.
Записи в журнале имеют следующий формат:
podman.audit | user ; uid | событие | результат | дополнительная информация
При обнаружении уязвимостей дальнейшее использование образа контейнера запрещено.
Для устранения обнаруженной уязвимости и последующего запуска контейнера без блокировки, необходимо:
- Запустить средство контейнеризации в режиме отладки (6 класс защиты).
- Запустить контейнер и устранить уязвимость путём обновления библиотек.
- Запустить средство контейнеризации с требуемым классом защиты.
Для блокировки запуска контейнера, в образе которого обнаружена уязвимость, применяется глобальный параметр astra-sec-level
в конфигурационных файлах средств контейнеризации. В качестве значения параметра задается число от 1 до 6, которое определяет класс защиты:
- 1-5 классы защиты — при обнаружении уязвимости в контейнере его запуск блокируется;
- 6 класс защиты — отладочный режим, при обнаружении уязвимости в контейнере выводится соответствующее предупреждение, при этом запуск контейнера не блокируется.
В случае если класс защиты не задан или задан не из диапазона 1-6, то при обнаружении уязвимости в контейнере автоматически задается 1 класс защиты с выводом соответствующего сообщения в журнал и запуск контейнера блокируется.
Docker
Для указания класса защиты контейнеров Docker допускается использовать только один из способов.
Установить значение параметра astra-sec-level
можно тремя способами:
- с помощью параметров запуска службы:
- Открыть редактор для добавления параметра запуска службы и добавить туда строку:sudo systemctl edit docker
[Service]
Environment="DOCKER_OPTS=--astra-sec-level <класс_защиты>" # от 1 до 6
- Перезапустить службу:
sudo systemctl restart docker
- Открыть редактор для добавления параметра запуска службы и добавить туда строку:
- с помощью конфигурационного файла:
- Остановить службу:
sudo systemctl stop docker
- В файле
/etc/docker/daemon.json
добавить полеastra-sec-level:
sudo cat
/
etc
/
docker
/
daemon.json
{
"astra-sec-level"
:
<класс_защиты> # значение от 1 до 6
}
- Повторно запустить службу:
sudo systemctl start docker
- Остановить службу:
- разово:
- Остановить службу:
sudo systemctl stop docker
- Перезапустить службу с указанным параметром:
sudo dockerd --astra-sec-level <класс_защиты> # значение от 1 до 6
- Остановить службу:
Podman
Создать конфигурационный файл /etc/podman.conf
, если он не был создан ранее, и указать в нем значение параметра astra-sec-level
:
{ "astra-sec-level" : <класс_защиты> # значение от 1 до 6 }
Для просмотра настроек выполнить:
{
"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, можно увидеть запись о включенных событиях безопасности в Журнале системных событий. Чтобы включить регистрацию нужных событий, например "Сканирование образа", соответствующее событие необходимо включить в Настройках регистрации системных событий:
После настройки включенные события начнут появляться в журнале. Можно узнать дополнительную информацию о событии: