Настройка политик
Принципы работы
Политики в системе CodeScoring представляют собой механизм отслеживания и блокирования Open Source компонентов в процессе разработки программного обеспечения. Они могут быть связаны с проверкой безопасности, совместимости лицензий или других критериев включения сторонних компонентов в разработку.
Политики можно создавать для:
- всей организации;
- отдела;
- проекта;
- окружения разработки.
Механизм политик учитывает указанный этап разработки программного обеспечения: от поступления сторонних компонентов в периметр организации до отслеживания сборок и написания нового кода.
Политики настраиваются по условиям, объединенным логическим выражением И/ИЛИ. Помимо стандартных настроек политик безопасности по уровню критичности уязвимостей, условия могут быть настроены согласно информации о компоненте: дата релиза, лицензия, автор и другие. Всего поддерживается 30 типизированных условий. Среди проверок также присутствует встроенная вендорская политика проверки на лицензионную чистоту.
В результате срабатывания политики в системе CodeScoring создаются соответствующие оповещения Policy Alerts. Выбранные оповещения можно временно или навсегда проигнорировать. Оповещения могут быть экспортированы в виде отчета.
Политики могут быть блокирующими: при срабатывании такой политики используемые компоненты блокируются в хранилище артефактов (прокси-репозитории), либо останавливается сборка программного продукта до устранения выявленного дефекта.
Дополнительно, по срабатыванию политики может быть направлено уведомление ответственным специалистам в систему управления задачами или электронное письмо с описанием проблемы.
Настройка в системе
Политики создаются в разделе Settings -> Policies
. Перейти на форму создания политики можно по кнопке Create new.
В форме создания политики задается контекст работы политики по следующим параметрам:
- Name — название политики;
- Proprietors — собственник кода, на которого распространяется политика, если пустое - политика применяется для всей организации;
- Projects — проекты, на которые применяется политика;
- Connect conditions with — логическое объединение выбранных условий;
- Stages — стадии проекта для которых применяется политика;
- Level — уровень критичности политики;
- Blocks build — признак блокировки сборки или установки компонента из прокси-репозитория;
- Is active — признак временного выключения политики;
- Description — описание политики;
- Conditions — перечень условий в политике.
Далее настраиваются условия срабатывания политики, поддерживаются следующие параметры:
- PURL — package URL, идентификатор пакета;
- Dependency Name — название зависимости;
- Dependency Version — версия зависимости;
- Dependency Author — автор зависимости;
- Dependency Release Date — дата релиза версии зависимости;
- Dependency Age — возраст зависимости;
- Technology — технология (язык или экосистема);
- License — лицензия;
- License Category — категория лицензии;
- Vulnerability ID — идентификатор уязвимости;
- CVSS 2 Score — численная оценка угрозы по стандарту CVSS 2;
- CVSS 2 Severity — уровень угрозы по стандарту CVSS 2;
- CVSS 3 Score — численная оценка угрозы по стандарту CVSS 3;
- CVSS 3 Severity — уровень угрозы по стандарту CVSS 3;
- Vulnerability Publish Date — дата публикации уязвимости;
- Vulnerability Update Date — дата обновления уязвимости;
- Vulnerability has exploit - наличие эксплойта в уязвимости;
- Vulnerability impacts - область уязвимости;
- CVSS3 Attack Vector (AV) - поверхность атаки;
- CVSS3 Attack Complexity (AC) - сложность атаки;
- CVSS3 Priviliges Required (PR) - требуемый уровень доступа;
- CVSS3 User Interaction (UI) - наличие взаимодействия с пользователем;
- CVSS3 Scope (S) - область безопасности компонента;
- CVSS3 Confidentiality (C) - cтепень потери конфиденциальности;
- CVSS3 Integrity (I) - степень потери целостности данных;
- CVSS3 Availability (A) - степень потери доступности компонента;
- Env — окружение;
- Match type — тип соответствия зависимости (по манифесту, содержанию или разрешению);
- Relation — прямая или транзитивная зависимость;
- CWE — классификация в индексе Common Weakness Enumeration.
Политика становится активной сразу после создания по нажатию кнопки Create. Результаты работы политики отображаются в разделе Policy alerts
.
Важно! Политики срабатывают во время анализа, поэтому важно их создать до запуска анализа.
Рекомендация! Если оставить поля Proprietor
и Project
пустыми, политика будет применяться для всех активных проектов в системе.
Игнорирование политик
Оповещения о сработавших политиках можно временно или навсегда проигнорировать. Создание и настройка условий игнорирования происходит в разделе Settings -> Policy Ignores
.
Для создания условия игнорирования для одной или нескольких политик необходимо нажать на кнопку Create New и заполнить следующие поля:
- Project - название проекта в системе;
- Technology - технология (язык или экосистема);
- Dependency name - название зависимости;
- Dependency version - версия зависимости;
- License - лицензия;
- Vulnerability ID - идентификатор уязвимости;
- Policies - игнорируемые политики;
- Is enabled - признак активности условия;
- Active from - дата начала работы условия;
- Active to - дата завершения работы условия;
- Note - заметка.
Условие игнорирования позволит оставить политики в системе, при этом не получая оповещений об их срабатывании при анализе.