Съдържание и теми, включени в курса
1. Концепции и обхват на статичния анализ на код
- Дефиниции: статичен анализ, SAST, категории правила и степен на сериозност
- Обхват на статичния анализ в сигурния SDLC и покритие на риска
- Как SonarQube се вписва в контролите за сигурност и работните процеси на разработчиците
2. Преглед на SonarQube: Функции и архитектура
- Основни услуги, база данни и компоненти на скенера
- Quality Gates, Quality Profiles и най-добри практики за Quality Gates
- Функции, свързани със сигурността: уязвимости, SAST правила и CWE мапинг
3. Навигация и използване на потребителския интерфейс на SonarQube сървъра
- Обиколка на потребителския интерфейс на сървъра: проекти, проблеми, правила, измервания и изгледи за управление
- Интерпретиране на страниците с проблеми, проследимост и насоки за отстраняване
- Генериране на доклади и опции за експортиране
4. Конфигурация на SonarScanner с инструменти за изграждане
- Настройка на SonarScanner за Maven, Gradle, Ant и MSBuild
- Най-добри практики за свойства на скенера, изключения и многомодулни проекти
- Генериране на необходимите тестови данни и доклади за покритие за точен анализ
5. Интеграция с Azure DevOps
- Конфигуриране на връзки към услугата SonarQube в Azure DevOps
- Добавяне на задачи на SonarQube към Azure Pipelines и декорация на заявки за сливане (PR)
- Импортиране на Azure Repos в SonarQube и автоматизиране на анализите
6. Конфигурация на проект и анализатори на трети страни
- Quality Profiles на ниво проект и избор на правила за Java и Angular
- Работа с анализатори на трети страни и жизнен цикъл на плъгините
- Дефиниране на параметри за анализ и наследяване на параметри
7. Роли, отговорности и преглед на методологията за сигурна разработка
- Разделение на ролите: разработчици, оценители, DevOps, собственици на сигурността
- Изграждане на матрица на ролите и отговорностите за CI/CD процеси
- Процес на преглед и препоръки за съществуваща методология за сигурна разработка
8. За напреднали: Добавяне на правила, настройка и подобряване на глобалните функции за сигурност
- Използване на SonarQube Web API за добавяне и управление на персонализирани правила
- Коригиране на Quality Gates и автоматизирано налагане на политики
- Подсилване на сигурността на SonarQube сървъра и най-добри практики за контрол на достъпа
9. Практически лабораторни сесии (приложни)
- Лаб. A: Конфигуриране на SonarScanner за 5 Java хранилища (Quarkus, където е приложимо) и анализ на резултатите
- Лаб. Б: Конфигуриране на Sonar анализ за 1 Angular фронтенд и интерпретиране на констатациите
- Лаб. В: Пълна лабораторна работа с конвейер – интегриране на SonarQube с Azure DevOps конвейер и активиране на декорация на заявки за сливане (PR)
10. Тестване, отстраняване на проблеми и интерпретиране на доклади
- Стратегии за генериране на тестови данни и измерване на покритието
- Често срещани проблеми и отстраняване на грешки в скенера, конвейера и правата за достъп
- Как да четем и представяме доклади на SonarQube на технически и нетехнически заинтересовани страни
11. Най-добри практики и препоръки
- Избор на набор от правила и стратегии за поетапно налагане
- Препоръки за работния процес за разработчици, оценители и конвейери за изграждане
- Пътна карта за мащабиране на SonarQube в корпоративни среди
Обобщение и следващи стъпки
Изисквания
- Разбиране на жизнения цикъл на разработка на софтуер
- Опит с контрол на версиите и основни CI/CD концепции
- Познаване на среди за разработка с Java или Angular
Аудитория
- Разработчици (Java / Quarkus / Angular)
- DevOps и CI/CD инженери
- Инженери по сигурността и оценители на сигурността на приложения
Отзиви от участници (1)
Занимателно и praktично упражнение.
Balavignesh Elumalai - Scottish Power
Курс - SonarQube for DevOps
Машинен превод