Schița de curs
1. Concepte și domeniu de aplicare al analizei staticale a codului
- Definiții: analiza statică, SAST, categorii de reguli și severitate
- Domeniu de aplicare al analizei statice în SDLC securizată și acoperirea riscurilor
- Cum SonarQube se integrează cu controalele de securitate și fluxurile de lucru ale dezvoltatorilor
2. Prezentare generală a SonarQube: caracteristici și arhitectură
- Servicii core, bază de date și componente de scanner
- Bariere de calitate (Quality Gates), profile de calitate (Quality Profiles) și cele mai bune practici pentru Bariere de Calitate
- Caracteristici legate de securitate: vulnerabilități, reguli SAST și mapearea CWE
3. Navigare și utilizarea interfeței UI a serverului SonarQube
- Tur prin interfața de server: proiecte, probleme, reguli, măsuratori și vederi de guvernanță
- Interpretarea paginilor cu probleme, trasabilitatea și orientările pentru remediere
- Generarea de rapoarte și opțiuni de export
4. Configurarea SonarScanner cu instrumente de compilare
- Configurarea SonarScanner pentru Maven, Gradle, Ant și MSBuild
- Cele mai bune practici pentru proprietățile scannerului, excluderi și proiectele cu mai multe module
- Generarea datelor de test necesare și a rapoartelor de acoperire pentru o analiză precisă
5. Integrarea cu Azure DevOps
- Configurarea conexiunilor de serviciu SonarQube în Azure DevOps
- Adăugarea sarcinilor SonarQube la Azure Pipelines și decorarea PR (Pull Requests)
- Importul depozitelor Azure în SonarQube și automatizarea analizelor
6. Configurarea proiectului și analizatoarele de părți terțe
- Profile de calitate la nivel de proiect și selecția regulilor pentru Java și Angular
- Lucrul cu analizatoare de părți terțe și ciclul de viață al pluginurilor
- Definirea parametrilor de analiză și a moștenirii parametrilor
7. Roluri, responsabilități și revizuirea metodei de dezvoltare securizată
- Separarea rolurilor: dezvoltatori, revisori, DevOps, proprietari de securitate
- Construirea unei matrice de roluri și responsabilități pentru procesele CI/CD
- Procesul de revizuire și recomandare pentru o metodologie existentă de dezvoltare securizată
8. Avansat: adăugarea regulilor, ajustarea și îmbunătățirea caracteristicilor globale de securitate
- Folosirea API-ului Web al SonarQube pentru a adăuga și gestiona reguli personalizate
- Ajustarea Barierelor de Calitate și aplicarea automată a politicilor
- Consolidarea securității serverului SonarQube și cele mai bune practici privind controlul accesului
9. Sesiuni de laborator practice (aplicate)
- Laborator A: Configurarea SonarScanner pentru 5 depozite Java (Quarkus unde este aplicabil) și analizarea rezultatelor
- Laborator B: Configurarea analizei Sonar pentru un frontend Angular și interpretarea constatărilor
- Laborator C: Laborator complet de pipeline—integrarea SonarQube cu un pipeline Azure DevOps și activarea decorării PR (Pull Requests)
10. Testare, depanare și interpretarea rapoartelor
- Strategii pentru generarea datelor de test și măsurarea acoperirii
- Probleme comune și depanarea erorilor de scanner, pipeline și permisiuni
- Cum să citiți și prezentați rapoartele SonarQube pentru stakeholderi tehnici și nitehnici
11. Cele mai bune practici și recomandări
- Selectarea seturilor de reguli și strategii de aplicare incrementală
- Cele mai bune practici pentru fluxuri de lucru ale dezvoltatorilor, revisorilor și pipeline-urilor de compilare
- Roadmap pentru scalarea SonarQube în medii enterprise
Rezumat și următori pași
Cerințe
- O înțelegere a ciclului de viață al dezvoltării software
- Experiență cu controlul sursei și conceptele CI/CD de bază
- Familiarizare cu medii de dezvoltare Java sau Angular
Audience
- Dezvoltatori (Java / Quarkus / Angular)
- Ingineri DevOps și CI/CD
- Ingineri de securitate și verificatori de securitate a aplicațiilor
Mărturii (1)
Înțelegător și practic directă.
Balavignesh Elumalai - Scottish Power
Curs - SonarQube for DevOps
Tradus de catre o masina