Schulungsübersicht
1. Konzepte und Umfang der statischen Codeanalyse
- Definitionen: Statische Analyse, SAST, Regelkategorien und Schweregrade
- Umfang der statischen Analyse in der sicheren SDLC und Abdeckung von Risiken
- Wie SonarQube in Sicherheitskontrollen und Entwickler-Workflows eingebunden wird
2. Überblick über SonarQube: Funktionen und Architektur
- Kern-Dienste, Datenbank und Scanner-Komponenten
- Qualitätstore, Qualitätsprofile und Best Practices für Qualitätstore
- Sicherheitsbezogene Funktionen: Schwachstellen, SAST-Regeln und CWE-Zuordnung
3. Navigation und Nutzung der Benutzeroberfläche des SonarQube-Servers
- Führung durch die Server-Oberfläche: Projekte, Probleme, Regeln, Kennzahlen und Governance-Ansichten
- Interpretation von Problemdetailseiten, Nachverfolgbarkeit und Empfehlungen zur Behebung
- Erstellung und Exportoptionen für Berichte
4. Konfiguration von SonarScanner mit Build-Tools
- Einrichtung von SonarScanner für Maven, Gradle, Ant und MSBuild
- Best Practices für Scanner-Eigenschaften, Ausschlüsse und mehrmodulare Projekte
- Erstellung der erforderlichen Testdaten und Abdeckungsberichte für eine genaue Analyse
5. Integration mit Azure DevOps
- Konfiguration von SonarQube-Dienstverbindungen in Azure DevOps
- Hinzufügen von SonarQube-Aufgaben zu Azure Pipelines und Pull-Request-Decoration
- Import von Azure Repos in SonarQube und Automatisierung von Analysen
6. Projektkonfiguration und Analyser von Drittanbietern
- Projektbezogene Qualitätsprofile und Regelauswahl für Java und Angular
- Arbeit mit Analysern von Drittanbietern und dem Plugin-Lebenszyklus
- Definition von Analysenparametern und Parametervererbung
7. Rollen, Verantwortlichkeiten und Überprüfung der Methodik für sichere Entwicklung
- Trennung der Rollen: Entwickler, Reviewer, DevOps, Sicherheitsverantwortliche
- Gestaltung einer Matrix für Rollen und Verantwortlichkeiten in CI/CD-Prozessen
- Überprüfung und Empfehlungsprozess für eine bestehende Methodik für sichere Entwicklung
8. Fortgeschritten: Hinzufügen von Regeln, Anpassungen und Verbesserung globaler Sicherheitsfunktionen
- Nutzung der SonarQube-Web-API zum Hinzufügen und Verwalten benutzerdefinierter Regeln
- Anpassung von Qualitätstore und automatisierte Durchsetzung von Richtlinien
- Härtung der Server-Sicherheit von SonarQube und Best Practices für Zugriffskontrollen
9. Praktische Laborübungen (Anwendung)
- Labor A: Konfiguration von SonarScanner für 5 Java-Repositories (Quarkus wo anwendbar) und Analyse der Ergebnisse
- Labor B: Konfiguration der Sonar-Analyse für 1 Angular-Frontend und Interpretation der Befunde
- Labor C: Vollständiges Pipeline-Labor – Integration von SonarQube in eine Azure-DevOps-Pipeline und Aktivierung der Pull-Request-Decoration
10. Testen, Fehlerbehebung und Interpretation von Berichten
- Strategien für die Erzeugung von Testdaten und die Messung der Abdeckung
- Häufige Probleme und Fehlerbehebung für Scanner-, Pipeline- und Berechtigungsfehler
- Wie man SonarQube-Berichte für technische und nicht-technische Stakeholder liest und präsentiert
11. Best Practices und Empfehlungen
- Regelwerksauswahl und Strategien für die schrittweise Durchsetzung
- Workflow-Empfehlungen für Entwickler, Reviewer und Build-Pipelines
- Roadmap für die Skalierung von SonarQube in Unternehmensumgebungen
Zusammenfassung und nächste Schritte
Voraussetzungen
- Verständnis des Softwareentwicklungslebenszyklus
- Erfahrung mit Versionskontrolle und grundlegenden CI/CD-Konzepten
- Vertrautheit mit Java- oder Angular-Entwicklungsumgebungen
Zielgruppe
- Entwickler (Java / Quarkus / Angular)
- DevOps- und CI/CD-Ingenieure
- Sicherheitsingenieure und Anwendungssicherheitsprüfer
Erfahrungsberichte (1)
Spannend und praktische Übungen.
Balavignesh Elumalai - Scottish Power
Kurs - SonarQube for DevOps
Maschinelle Übersetzung