Schulungsübersicht
1. Konzepte und Umfang der statischen Codeanalyse
- Definitionen: Statische Analyse, SAST, Regelkategorien und Schweregrade
- Umfang der statischen Analyse im sicheren SDLC und Risikodeckung
- Einfügung von SonarQube in Sicherheitskontrollen und Entwickler-Workflows
2. SonarQube-Übersicht: Funktionen und Architektur
- Kernservices, Datenbank und Scanner-Komponenten
- Quality Gates, Quality Profiles und bewährte Praktiken für Quality Gates
- Sicherheitsrelevante Funktionen: Schwachstellen, SAST-Regeln und CWE-Zuordnung
3. Navigation und Nutzung der Benutzeroberfläche des SonarQube-Servers
- Tour durch die Server-UI: Projekte, Probleme, Regeln, Kennzahlen und Governance-Ansichten
- Interpretation von Problembildschirmen, Rückverfolgbarkeit und Empfehlungen zur Behebung
- Erstellung und Exportoptionen für Berichte
4. SonarScanner-Konfiguration mit Build-Tools
- Einrichtung von SonarScanner für Maven, Gradle, Ant und MSBuild
- Bewährte Praktiken für Scanner-Eigenschaften, Ausnahmen und Mehrmodul-Projekte
- Erstellung der erforderlichen Testdaten und Abdeckungsberichte für eine genaue Analyse
5. Integration mit Azure DevOps
- Konfiguration der SonarQube-Serviceverbindungen in Azure DevOps
- Hinzufügen von SonarQube-Aufgaben zu Azure Pipelines und Pull Request-Verzierung (Decoration)
- Import von Azure Repos in SonarQube und Automatisierung von Analysen
6. Projektkonfiguration und Drittanbieter-Analysatoren
- Projektspezifische Quality Profiles und Regelauswahl für Java und Angular
- Arbeiten mit Drittanbieter-Analysatoren und dem Plugin-Lebenszyklus
- Definition von Analyseparametern und Parameter-Ererbung
7. Rollen, Verantwortlichkeiten und Überprüfung der Methodik der sicheren Entwicklung
- Trennung der Rollen: Entwickler, Prüfer, DevOps, Sicherheitsverantwortliche
- Aufbau einer Matrix für Rollen und Verantwortlichkeiten für CI/CD-Prozesse
- Überprüfung und Empfehlungsprozess für eine bestehende Methodik der sicheren Entwicklung
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 Quality Gates und automatisierte Durchsetzung von Richtlinien
- Härtung der SonarQube-Server-Sicherheit und bewährte Praktiken für die Zugriffskontrolle
9. Praktische Labs (Anwendung)
- Lab A: SonarScanner für 5 Java-Repositories (falls zutreffend Quarkus) konfigurieren und Ergebnisse analysieren
- Lab B: Sonar-Analyse für eine Angular-Frontend-Anwendung konfigurieren und Ergebnisse interpretieren
- Lab C: Gesamtpipeline-Lab – SonarQube mit einer Azure DevOps-Pipeline integrieren und Pull Request-Verzierung aktivieren
10. Testen, Fehlersuche 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. Bewährte Praktiken und Empfehlungen
- Regelwerk-Auswahl und Strategien für die schrittweise Durchsetzung
- Workflow-Empfehlungen für Entwickler, Prüfer und Build-Pipelines
- Roadmap für den Ausbau von SonarQube in Unternehmensumgebungen
Zusammenfassung und nächste Schritte
Voraussetzungen
- Verständnis des Softwareentwicklungslifecycles (SDLC)
- Erfahrung mit Quellcodeverwaltung und grundlegenden CI/CD-Konzepten
- Vertrautheit mit Java- oder Angular-Entwicklungsumgebungen
Zielgruppe
- Entwickler (Java / Quarkus / Angular)
- DevOps- und CI/CD-Ingenieure
- Sicherheitsexperten und Prüfer für Applikationssicherheit
Erfahrungsberichte (1)
Spannend und praktische Übungen.
Balavignesh Elumalai - Scottish Power
Kurs - SonarQube for DevOps
Maschinelle Übersetzung