Приём результатов безопасности и логов аудита GitLab

Материал из Документация Ключ-АСТРОМ

Приём результатов безопасности и логов аудита GitLab

Принимайте результаты сканирования зависимостей и контейнеров GitLab, события сканирования и логи аудита в Ключ-АСТРОМ как события безопасности.

Начало работы

Обзор

Интеграция Ключ-АСТРОМ с GitLab позволяет унифицировать и контекстуализировать результаты безопасности и активность аудита GitLab по группам, проектам и образам контейнеров для визуализации, анализа и автоматизации в Ключ-АСТРОМ.

GitLab предоставляет возможности сканирования безопасности, такие как Dependency Scanning и Container Scanning, которые сканируют код и артефакты сборки для выявления проблем безопасности.

Ключ-АСТРОМ принимает и обогащает результаты GitLab контекстом времени выполнения, чтобы помочь командам разработки фильтровать и приоритизировать риски, которые затрагивают производственные приложения и артефакты кода.

Варианты использования

С принятыми данными вы можете реализовать различные сценарии, такие как:

  • Визуализация и анализ результатов безопасности
  • Обнаружение пробелов в покрытии результатов безопасности
  • Автоматизация и оркестрация результатов безопасности

Требования

Ниже приведены требования для GitLab и Ключ-АСТРОМ.

Требования GitLab

  • Учётная запись GitLab с доступом к группам и проектам, которые должны отслеживаться.
  • Доступ к требуемому уровню GitLab для интегрированных функций:
  * Dependency Scanning
  * Container Scanning
  • Personal Access Token (PAT) для аутентификации API.
  • Конвейеры CI/CD, настроенные с помощью управляемых шаблонов GitLab для:
  * Dependency Scanning
  * Container Scanning

Требования Ключ-АСТРОМ

  • АктивныйШлюз версии 1.310+, который должен иметь возможность:
  * Запускать фреймворк Расширения 2.0
  * Достигать конечных точек API GitLab
  • Разрешения: для получения списка необходимых разрешений перейдите в раздел Расширения, выберите Расширения и откройте Техническую информацию.
  • Сгенерируйте токен доступа с областью openpipeline.events_security и сохраните его для дальнейшего использования.

Активация и настройка

  1. В Ключ-АСТРОМ найдите GitLab и выберите Установить.
  2. Следуйте инструкциям на экране для настройки расширения.
  3. Проверьте конфигурацию, выполнив следующие запросы в Notebooks:

Для логов аудита:

fetch logs
| filter log.source=="GitLab"

Для событий результатов:

fetch security.events | filter dt.system.bucket == "default_securityevents" | filter event.provider=="GitLab"

   AND event.type=="VULNERABILITY_FINDING"

Для событий сканирования:

fetch security.events | filter dt.system.bucket == "default_securityevents" | filter event.provider=="GitLab"

   AND event.type=="VULNERABILITY_SCAN"

После установки и запуска расширения вы можете получить к нему доступ и управлять им в Ключ-АСТРОМ через раздел Расширения.

Детали

Как это работает

Как работает приём результатов безопасности и логов аудита GitLab

Интеграция Ключ-АСТРОМ с GitLab — это расширение, работающее на АктивныйШлюз Ключ-АСТРОМ. После включения и настройки расширения GitLab для Ключ-АСТРОМ:

  • Оно периодически собирает результаты безопасности и логи аудита с помощью API GitLab.
  • Полученные данные принимаются в Ключ-АСТРОМ и сопоставляются с Семантическим словарём Ключ-АСТРОМ.
  • Данные хранятся в бакете default_securityevents.

Лицензирование и затраты

Информацию о выставлении счетов см. в разделе «События».

Часто задаваемые вопросы

Какая модель данных используется для логов и событий безопасности, поступающих из GitLab?

События результатов уязвимостей хранят отдельные результаты уязвимостей, о которых сообщает GitLab для затронутых артефактов и компонентов.

События сканирования уязвимостей указывают покрытие сканирований для отдельных артефактов.

Логи аудита представляют логи активности пользователей.

Какие результаты безопасности GitLab импортируются в Ключ-АСТРОМ? Если расширение настроено на приём данных с интервалом в n часов, то каждый запуск принимает все события безопасности, обновлённые за последние n часов.

При первом приёме Ключ-АСТРОМ учитывает результаты, обновлённые за последние m часов, где m — это интервал первого приёма, настроенный в конфигурации мониторинга.

Если новые или обновлённые результаты не обнаружены, результаты не принимаются.

Какие поля расширения добавляются к основным полям событий, принятых из GitLab? Пространство имён container_image добавляется для информации, связанной с образом контейнера:

  • container_image.digest представляет дайджест образа контейнера и может использоваться для сопоставления с контейнерами времени выполнения.
  • container_image.repository представляет имя репозитория контейнера.
  • container_image.registry представляет имя реестра контейнеров.

Пространство имён gitlab добавляется для специфичных для GitLab атрибутов поверх основной схемы. Полная исходная полезная нагрузка хранится в event.original_content.

Примеры полей:

  • gitlab.project.id: идентификатор проекта.
  • gitlab.project.name: имя проекта.
  • gitlab.project.branch: исходная ветка, связанная со сканированием или результатом.
  • gitlab.group.id: идентификатор группы.
  • gitlab.group.name: имя группы.
  • gitlab.finding.false_positive: помечен ли результат как ложноположительный.

Какие типы активов GitLab поддерживаются Ключ-АСТРОМ для контекстуализации во время выполнения? CONTAINER_IMAGE: результаты из GitLab генерируются оценками уязвимостей образов контейнеров и сопоставляются со значением CONTAINER_IMAGE в object.type. Пространство имён container_image добавляется, и container_image.digest используется для сопоставления принятых результатов с контейнерами времени выполнения, отслеживаемыми Ключ-АСТРОМ. Атрибут container_image.digest используется для сопоставления принятых результатов безопасности с контейнерами времени выполнения, отслеживаемыми Ключ-АСТРОМ.

Как нормализуется оценка риска для результатов GitLab? Ключ-АСТРОМ нормализует серьёзность и оценки риска для всех результатов, принятых через эту интеграцию. Это помогает согласованно приоритизировать результаты независимо от их источника.

dt.security.risk.level сопоставляется из значений серьёзности GitLab, возвращаемых API результатов уязвимостей.

dt.security.risk.score выводится из dt.security.risk.level с использованием статического сопоставления серьёзности и оценки Ключ-АСТРОМ.

dt.security.risk.level (сопоставлено из finding.severity) dt.security.risk.score (сопоставлено из dt.security.risk.level)
Critical → CRITICAL 10,0
High → HIGH 8,9
Medium → MEDIUM 6,9
Low → LOW 3,9
Info/Unknown → NONE 0,0