Skip to content

NatashaNagaeva/SiB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Домашнее задание к занятию «3.1. DevSecOps и AppSec». Часть 1

Пришлите ответы на вопросы в личном кабинете на сайте netology.ru.

Описание

Домашнее задание — лабораторная работа, в которой вы по инструкциям выполните действия.

Задание GitLab

Это домашнее задание не обязательно для выполнения, так как для него нужна регистрация на стороннем сервисе.

В этом задании применяется сервис GitLab — один из комплексных и самых популярных решений для поддержки DevOps и DevSecOps.

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

Командой GitLab уже подготовлены и настроены инструменты, которые позволяют выполнять действия:

  1. Анализировать код на уязвимости — SAST, включая зависимости — SCA или Dependency Scanning.
  2. Анализировать контейнеры на уязвимости — Container Scanning.
  3. Анализировать используемые в проекте лицензии — License Scanning.
  4. Проверять секреты — Secret Detection.

Список всех проверок доступен по адресам:

Этапы выполнения

1. Перейдите по ссылке и зарегистрируйте новую учётную запись. Попросит подтвердить почтовый ящик, поэтому указываем действую почту.

2. Установите значения, как на скриншоте, и нажмите кнопку Continue. (В полях надо указать любую страну и любой номер телефона.)

3. Заполните данные для продолжения.

4. Введите название для группы проектов.

5. Дождитесь перехода на главную страницу.

6. Проверьте свой email, указанный при регистрации, и подтвердите регистрацию.

7. Нажмите на кнопку Create new project для создания нового проекта.

8. Выберите Import project для импорта готового проекта.

9. Нажмите на кнопку Repository By URL и заполните поле Git repository URL ссылкой https://github.com/netology-code/ib-devsecops-app.git .

10. Оставьте остальные поля заполненными по умолчанию и нажмите Create project.

11. Настройте локальные раннеры

После регистрации, для работы с пайплайнами безопасности, необходимо поставить локальные раннеры на свой компьютер Раннер нужен для сборки и проведения проверок безопасности. Откройте настройки проекта, а именно настройки CI/CD. Подсказка: адрес имеет вид https://gitlab.com/<название группы>/<название проекта>/-/settings/ci_cd

Внутри настроек переходим к настройкам Runners, и нажимем New project Runner. Следуем инструкции по настройке раннера windows/linux/macos (в зависимости от вашей ОС). Можно использовать docker (на свой страх и риск)

После установки раннера, его надо запустить командой gitlab-runner run. Однако, раннер нужно зарегистрировать. Токен будет указан на странице gitlab (надо скопировать и указать в команде): gitlab-runner register --name my-runner --url "http://gitlab.example.com" --registration-token <тут токен со страницы регистрации/создания раннера>

При успешной настройке, в настройках отобразится локальный раннер.

При этом, необходимо откючить Group runners и Shared runners.

11.1. Docker runner

для использования докера в качестве раннеров, нужно иметь запущенный на компьютере докер, и выполнить неколько простых команд:

docker pull gitlab/gitlab-runner

docker run -d --name gitlab-runner --restart always  -v /Users/Shared/gitlab-runner/config:/etc/gitlab-runner  -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest

docker run --rm -it -v /Users/shared/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register

При регистрации будут поля для заполнения (в командной строке после запуска последней команды): GitLab instance URL - https://gitlab.com registration token который отображается на странице регистрации раннера Enter a name for the runner - название раннера (любое) Enter an executor: - просто указать docker default Docker image - указываем стандартный образ python

12. Зайдите в пункт меню BuildPipelines и нажмите на кнопку Run Pipeline.

13. На странице снова нажмите на кнопку Run Pipeline.

14. Дождитесь окончания процесса анализа.

Примечание. В списке задач вы увидите упавшую задачу с retire-js. Это нормально.

15. Перейдите в раздел Security & Compliance.

16. Изучите внимательно разделы:

  • Vulnerability Report (отчёт об уязвимостях).
  • Dependency List.
  • License Compliance.

Ответьте на вопросы:

Важно: после окончания проверки подождите пару минут и несколько раз обновите страницу через Shift + F5. Иногда не все данные по проверкам подтягиваются сразу. Убедитесь, что уязвимости точно найдены для приложения, зависимостей и контейнера.

Вопросы для домашнего задания.

1. Сколько уязвимостей и какого уровня значимости найдено (Severity)?

2. Сколько из них:

  • в самом приложении (SAST);
  • в контейнерах (Container Scanning);
  • в зависимостях (Dependency Scanning);
  • секретов (Secret Detection).

3. Какая уязвимость найдена в самом приложении? 4. Сколько зависимостей в приложении? 5. Сколько различного рода лицензий используется в приложении и его зависимостях?

Решение задания

Пришлите в личном кабинете ответы на вопросы из раздела «Ответьте на следующие вопросы» и скриншот статистики со всеми найденными уязвимостями. Нужны только числа в секциях Critical, High, Medium, Low.

Не удаляйте свою учётную запись после завершения работы. Она вам понадобится на следующей лекции.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published