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 Risikoberichterstattung
- Wie SonarQube in Sicherheitskontrollen und Entwickler-Arbeitsabläufe integriert wird
2. SonarQube im Überblick: Funktionen und Architektur
- Kern-Dienste, Datenbank und Scanner-Komponenten
- Qualitätsgrenzen, Qualitätsprofile und bewährte Praktiken für Qualitätsgrenzen
- Sicherheitsbezogene Funktionen: Schwachstellen, SAST-Regeln und CWE-Zuordnungen
3. Navigation und Nutzung der SonarQube-Server-Benutzeroberfläche
- Führung durch die Server-Benutzeroberfläche: Projekte, Probleme, Regeln, Kennzahlen und Governance-Ansichten
- Interpretation von Problemdetails, Rückverfolgbarkeit und Hinweise zur Behebung
- Berichtserstellung und Exportoptionen
4. Konfiguration von SonarScanner mit Build-Tools
- Einrichtung von SonarScanner für Maven, Gradle, Ant und MSBuild
- Bewährte Praktiken für Scanner-Eigenschaften, Ausschlüsse und Multi-Modul-Projekte
- Generierung notwendiger 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-Dekoration
- Importieren von Azure Repos in SonarQube und Automatisierung von Analysen
6. Projektkonfiguration und Drittanbieter-Analysatoren
- Projektbezogene Qualitätsprofile und Regelauswahl für Java und Angular
- Arbeit mit Drittanbieter-Analysatoren und dem Plugin-Lebenszyklus
- Definition von Analyseparametern und Parameter-Erbschaft
7. Rollen, Verantwortlichkeiten und Überprüfung der sicheren Entwicklungsmethodologie
- Trennung der Rollen: Entwickler, Reviewer, DevOps, Sicherheitsverantwortliche
- Aufbau einer Rollen- und Verantwortlichkeitsmatrix für CI/CD-Prozesse
- Überprüfung und Empfehlungsvorgang für eine bestehende sichere Entwicklungsmethodologie
8. Fortgeschritten: Hinzufügen von Regeln, Feinjustierung und Verbesserung der globalen Sicherheitsfunktionen
- Nutzung der SonarQube Web-API zum Hinzufügen und Verwalten benutzerdefinierter Regeln
- Anpassung von Qualitätsgrenzen und automatisierte Durchsetzung von Richtlinien
- Verstärkung der Sicherheit des SonarQube-Servers und bewährte Praktiken für Zugriffskontrollen
9. Praxis-Laborübungen (Angewandt)
- Labor A: SonarScanner für 5 Java-Repositories konfigurieren (Quarkus wo anwendbar) und Ergebnisse analysieren
- Labor B: Sonar-Analyse für 1 Angular-Frontend konfigurieren und Ergebnisse interpretieren
- Labor C: Vollständige Pipeline-Übung – SonarQube mit einer Azure DevOps-Pipeline integrieren und Pull-Request-Dekoration aktivieren
10. Testen, Fehlerbehebung und Interpretation von Berichten
- Strategien für die Generierung von Testdaten und die Messung der Abdeckung
- Häufige Probleme und Fehlerbehebung bei Scanner-, Pipeline- und Berechtigungsfehlern
- Wie SonarQube-Berichte für technische und nicht-technische Stakeholder gelesen und präsentiert werden
11. Bewährte Praktiken und Empfehlungen
- Regelsatzauswahl und Strategien für inkrementelle Durchsetzung
- Empfehlungen für Arbeitsabläufe 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 Software-Lebenszyklus
- Erfahrung mit Versionskontrolle und grundlegenden CI/CD-Konzepten
- Kenntnis von 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