Перейти к содержанию

Настройка сканирования веб-приложений с помощью GitLab

В данной статье описана настройка в системе GitLab CI. Настройка в других системах выполняется аналогичным образом.

Добавление переменных окружения

В GitLab выберите пункт «Настройки» → «CI/CD» → «Переменные» → «Добавить переменную».

Скриншот пути «Настройки» → «CI/CD»

Скриншот пути «Переменные» → «Добавить переменную»

Необходимо добавить две переменные:

Адрес сканера

  1. В поле «Ключ» укажите SOLIDPOINT_BASE_URL.
  2. В поле «Значение» укажите URL сканера, например: https://cloud.solidpoint.net.
  3. Нажмите «Добавить переменную». Скриншот создания переменной «адрес сканера»

Секретный токен доступа

  1. Перейдите в панель управления.
  2. Откройте выпадающее меню рядом с иконкой профиля.
  3. Выберите пункт «Токены доступа». Скриншот выпадающего меню «Токены доступа»
  4. Нажмите кнопку «Создать токен». Скриншот кнопки «Создать токен»
  5. Введите GitLab CI в поле «Название» и, опционально, укажите срок действия в соответствующем поле. Скриншот формы для создания токена
  6. Скопируйте значение получившегося токена. Скриншот копирования токена
  7. Вернитесь в GitLab.
  8. В новой переменной в поле «Ключ» укажите SOLIDPOINT_TOKEN.
  9. В поле «Значение» вставьте скопированное значение токена.
  10. Поставьте галочку в чекбоксе «Замаскировать переменную».
  11. Нажмите «Добавить переменную».

    Скриншот создания переменной токена

Настройка конфигурации CI/CD

В GitLab CI нажмите кнопку «Конфигурация CI/CD».

Скриншот кнопки «Конфигурация CI/CD»

В открывшемся редакторе нажмите кнопку «Настроить пайплайн».

Скриншот кнопки «Настроить пайплайн»

Создание задачи для сканирования

Необходимо воспользоваться образом Docker под названием repo.solidpoint.net/solidpoint-cli. Этот образ должен быть установлен предварительно в GitLab Runner. Скопируйте и вставьте следующий код в редактор для выполнения задачи:

solidpoint:
  image:
    name: repo.solidpoint.net/solidpoint-cli
    entrypoint: [""]
  tags: [docker]
  script:
    - solidpoint-cli scan new-ci --url http://xxe-shop.stands.fuchsia

Скриншот вставки кода в редактор

В поле script можно по-разному задать адрес для сканирования. В примере выше указан статический адрес. Для задания динамического адреса используйте:

- solidpoint-cli scan new-ci --url $URL

Скриншот задания динамического адреса

Здесь скрипт получает адрес через переменную $URL.

Альтернативным способом указания адреса для сканирования является задание цели через панель управления. При создании цели ей присваивается уникальный targetID. В данном случае скрипт будет иметь следующий вид:

- solidpoint-cli scan new-ci --targetID 123

Скриншот задания цели

Задача готова к выполнению. Для запуска необходимо написать сообщение коммита и нажать кнопку «Commit changes».

Просмотр запущенной задачи

Посмотреть выполнение задачи в реальном времени с отслеживанием прогресса и ее итоговый результат можно двумя способами:

Интерфейс GitLab

Скриншот значка работы пайплайна

Скриншот просмотра выполнения джобы в GitLab

Панель управления

Скриншот просмотра сканирований в панели управления

Скриншот просмотра выполнения джобы в панели управления

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