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
- Anbindung von SonarQube an Sicherheitskontrollen und Entwickler-Arbeitsabläufe
2. Überblick über SonarQube: Funktionen und Architektur
- Kernservices, Datenbank und Scanner-Komponenten
- Qualitätsgrenzen, Qualitätsprofile und bewährte Verfahren für Qualitätsgrenzen
- Sicherheitsbezogene Funktionen: Schwachstellen, SAST-Regeln und CWE-Mapping
3. Navigation und Nutzung der SonarQube-Server-UI
- Überblick über die Server-UI: Projekte, Probleme, Regeln, Metriken und Governance-Ansichten
- Interpretation von Problemseiten, Rückverfolgbarkeit und Hinweise zur Behebung
- Erstellung und Exportmöglichkeiten für Berichte
4. Konfiguration von SonarScanner mit Build-Tools
- Einstellung von SonarScanner für Maven, Gradle, Ant und MSBuild
- Bewährte Verfahren für Scanner-Eigenschaften, Ausschlüsse und Multi-Modul-Projekte
- Erzeugung notwendiger Testdaten und Abdeckungsberichte für eine präzise Analyse
5. Integration in Azure DevOps
- Konfiguration von SonarQube-Serviceverbindungen in Azure DevOps
- Hinzufügen von SonarQube-Aufgaben zu Azure Pipelines und PR-Dekorierung (Pull Request Decoration)
- Import von Azure Repos in SonarQube und Automatisierung der Analysen
6. Projektkonfiguration und Drittanbieter-Analyser
- Projektbezogene Qualitätsprofile und Regelwahl für Java und Angular
- Arbeiten mit Drittanbieter-Analysern und Plugin-Lebenszyklus
- Definition von Analyseparametern und Parameter-Erbschaft
7. Rollen, Verantwortlichkeiten und Überprüfung der Methodik der sicheren Entwicklung
- Trennung von Rollen: Entwickler, Reviewer, DevOps, Sicherheitsverantwortliche
- Erschaffung einer Rollen- und Verantwortlichkeitsmatrix für CI/CD-Prozesse
- Überprüfung und Empfehlung eines Prozesses für eine bestehende sichere Entwicklungsmethodik
8. Fortgeschritten: Hinzufügen von Regeln, Feinabstimmung und Erweiterung globaler Sicherheitsfunktionen
- Nutzung der SonarQube-Web-API zum Hinzufügen und Verwalten benutzerdefinierter Regeln
- Anpassung von Qualitätsgrenzen und automatisierte Durchsetzung von Richtlinien
- Erhöhung der Sicherheit des SonarQube-Servers und bewährte Verfahren für die Zugriffskontrolle
9. Praktische Übungseinheiten (Anwendung)
- Übung A: Konfigurieren Sie SonarScanner für 5 Java-Lager (Quarkus wo anwendbar) und werten Sie die Ergebnisse aus
- Übung B: Konfigurieren Sie die Sonar-Analyse für 1 Angular-Frontend und interpretieren Sie die Befunde
- Übung C: Vollständiger Pipeline-Versuch – Integration von SonarQube mit einer Azure-DevOps-Pipeline und Aktivierung der PR-Dekorierung
10. Testen, Fehlerbehebung und Interpretation von Berichten
- Strategien für die Erzeugung von Testdaten und die Messung der Abdeckung
- Häufige Probleme und Fehlersuche bei Scanner-, Pipeline- und Berechtigungsfehlern
- Wie man SonarQube-Berichte für technische und nicht-technische Stakeholder liest und präsentiert
11. Best Practices und Empfehlungen
- Regelwerkswahl und Strategien zur schrittweisen Durchsetzung
- Arbeitsablauf-Empfehlungen für Entwickler, Reviewer und Build-Pipelines
- Roadmap zur Skalierung von SonarQube in Unternehmensumgebungen
Zusammenfassung und nächste Schritte
Voraussetzungen
- Grundverständnis des Softwareentwicklungslebenszyklus (SDLC)
- Erfahrung mit Versionskontrollsystemen und grundlegenden CI/CD-Konzepten
- Vertrautheit mit Java- oder Angular-Entwicklungsumgebungen
Zielgruppe
- Entwickler (Java / Quarkus / Angular)
- DevOps- und CI/CD-Ingenieure
- Sicherheitstechniker und Reviewer für Anwendungssicherheit
Erfahrungsberichte (1)
Spannend und praktische Übungen.
Balavignesh Elumalai - Scottish Power
Kurs - SonarQube for DevOps
Maschinelle Übersetzung