CodeScoring NXRM Firewall
Установка плагина
Плагин CodeScoring NXRM Firewall поставляется в виде JAR-файла и поддерживает версии Nexus Repository Manager 3.39.0-01 и выше.
Для добавления плагина в NXRM необходимо:
- Скопировать полученный от вендора файл
nexus-codescoring-plugin.jar
в директорию/opt/sonatype/nexus/deploy
: Если NXRM запущен в Docker-контейнере: - Выдать права для пользователя и группы
nexus
: Если NXRM запущен в Docker-контейнере:
После выполненных операций, необходимо произвести перезапуск NXRM.
Настройка плагина
Для применения плагина CodeScoring Firewall в дальнейшей работе, необходимо использовать механизм Capability, предоставляемый NXRM. Capability – это набор API и компонентов UI для встраивания в NXRM, позволяющий расширять его функциональность.
Плагин CodeScoring Firewall предоставляет две новые Capability:
- CodeScoring Configuration — настройка взаимодействия с on-premise инсталляцией CodeScoring.
- CodeScoring Scan — настройка сканирования для отдельно выбранного прокси-репозитория.
После установки плагина CodeScoring Firewall в разделе System -> Capabilities
появится возможность создания Capability через элемент (+ Create capability
) интерфейса.
Capability CodeScoring Configuration
Расширение позволяет задать общие настройки плагина для работы с on-premise версией CodeScoring:
- CodeScoring Token – ключ для авторизации вызовов API (Создается из CodeScoring раздела
Profile -> Home
); - CodeScoring URL – адрес on-premise инсталляции CodeScoring;
- HttpClient Connection Pool Size – количество доступных соединений;
- HTTP Proxy Host – адрес прокси-сервера;
- HTTP Proxy Port – порт прокси-сервера;
- Store artifact analysis in the DB to retrieve them via REST – сохранение результатов загрузки пакета с возможностью извлечения из API;
- If unset doesn't block builds on plugin or codescoring errors – блокировка сборки при наличии ошибок от плагина или CodeScoring API.
Внимание: указанные настройки будут использовать все экземпляры осуществляющие проверку прокси репозиториев.
Capability CodeScoring Scan
Расширение позволяет установить функцию фаерволинга (экранирования) на выбранный прокси репозиторий:
- Repository – выбор репозитория, для которого будет применена функция фаерволинга;
- Security violation response status – код ошибки, возвращаемый при срабатывания политик безопасности;
- Run manual scan on save – запускает принудительное сканирование компонентов относящихся к выбранному прокси репозиторию при нажатии кнопки save;
- Delete blocked by policy component from repository – принудительное удаление блокируемых компонентов из репозитория (создание "стерильного" репозитория)
Настройка логирования
Для настройки логирования событий плагина необходимо зайти в раздел Support -> Logging
и добавить логгер с названием ru.codescoring и уровнем логирования DEBUG.
Пример работы плагина
После проверки компонента информация о нем будет отображаться в разделе Attributes:
- vulnerabilities - список найденных уязвимостей;
- licenses - список найденных лицензий;
- release date - дата выхода компонента;
- index URL - ссылка на страницу компонента в индексе пакетного менеджера;
- authors - авторы компонента;
- homepage - ссылка на домашнюю страницу компонента.
Загрузка компонентов, не прошедших проверку, блокируется на этапе попадания в прокси-репозиторий. Ответ от плагина в таком случае имеет следующее содержание: