Schulungsübersicht
1. Grundlagen und Reichweite der statischen Codeanalyse
- Definitionen: statische Analyse, SAST, Regelkategorien sowie Schweregrade von Sicherheitsproblemen
- Einsatzbereiche statischer Analysen im Rahmen sicherer Softwareentwicklung und Risikobewertung
- Wie SonarQube in Sicherheitskontrollen sowie Entwicklerabläufe integriert wird
2. Übersicht zu SonarQube: Funktionen und Architektur
- Wesentliche Dienste, Datenbank sowie Scannerkomponenten
- Qualitätsziele, Qualitätsprofile – einschließlich bewährter Praktiken bei deren Nutzung
- Sicherheitsrelevante Funktionen: Schwachstellenerkennung, SAST-Regeln und Zuordnung zu den CWE-Kriterien
3. Bedienung der Benutzeroberfläche von SonarQube
- Führung durch die Server-Oberfläche: Projekte, Probleme, Regeln, Kennzahlen und Steuerungsmodule
- Auswertung von Problemseiten einschließlich Verknüpfungen und Lösungsvorschlägen
- Erstellung sowie Exportmöglichkeiten von Berichten
4. Konfiguration des SonarScanners mit Build-Tools
- Einrichtung des SonarScanners für Maven, Gradle, Ant sowie MSBuild
- Bewährte Verfahren zur Festlegung von Scanner-Parametern, Ausschlüssen und Umgang mit mehrschichtigen Projekten
- Erstellung erfordlicher Testdaten sowie Abdeckungsberichte für präzise Analysen
5. Integration in Azure DevOps
- Einrichten von SonarQube-Dienstverbindungen in Azure DevOps
- Hinzufügen der nötigen SonarQube-Aufgaben zu Azure Pipelines sowie Integration in Pull-Requests
- Verknüpfung vorhandener Azure Repos mit SonarQube und Automatisierung von Analysen
6. Projektkonfiguration und Zusammenarbeit mit externen Analysewerkzeugen
- Auswahl von Qualitätsprofilen sowie Regelsätzen spezifisch für Java- und Angular-Projekte
- Zusammenspiel mit externen Analysetools sowie der Lebenszyklusregelung deren Plugins
- Definition und Vererbung von Analyseparameter-Einstellungen
7. Verantwortlichkeiten, Rollenverteilung sowie Überprüfung sicherer Entwicklungsmethoden
- Klare Zuordnung der Aufgaben: Entwickler, Code-Prüfer, DevOps-Teams und Sicherheitsverantwortliche
- Erstellung eines Rollen-Kompetenz-Matrizenmodells für CI/CD-Prozesse
- Bewertung und Verbesserungsvorschläge zum gegenwärtig verwendeten Sicherheitsentwicklungsansatz
8. Fortgeschrittene Themen: Erstellung eigener Regeln, Feinabstimmungen sowie Absicherung globaler Sicherheitsfunktionen
- Einsatz der SonarQube-Web-API zur Definition und Verwaltung individueller Regelvorlagen
- Optimierung von Qualitätszielen sowie automatischer Durchsetzung definierter Sicherheitsrichtlinien
- Gewährleistung der Server-Sicherheit von SonarQube und Umsetzung bewährter Zugriffskontrollmaßnahmen
9. Praktische Übungsmodule (Anwendung)
- Übung A: Konfiguration des SonarScanners für 5 Java-Repositories (bei Bedarf mit Quarkus) und Auswertung der Analyseergebnisse
- Übung B: Einrichtung einer statischen Analyse in einem Angular-Frontend sowie Interpretation der erfassten Ergebnisse
- Übung C: Umfassende Pipeline-Übung – Integration von SonarQube in ein Azure DevOps-Pipeline-Projekt mit Pull-Request-Verknüpfung
10. Teststrategien, Fehlerbehebung und Interpretation der Berichte
- Erarbeitung geeigneter Strategien zur Erstellung von Testdaten sowie Messung des Codes-Abdeckungsgrads
- Häufig auftretende Fehlerquellen: Korrektur bei Problemen mit dem Scanner, Pipelines und Zugriffsberechtigungen
- Präsentation der SonarQube-Berichte für technisch versierte wie auch nicht-technische Interessengruppen
11. Empfehlungen und bewährte Verfahren im Umgang mit SonarQube
- Auswahl sinnvoller Regelkomplexe sowie schrittweise Umsetzung verbesserter Sicherheitsvorgaben
- Praxistaugliche Arbeitsabläufe für Entwickler, Code-Prüfer und Build-Pipelines
- Wegweiser zur zukünftigen Skalierung der SonarQube-Einsatzweise in großen Unternehmen
Zusammenfassung sowie weitere Schritte nach Kursende
Voraussetzungen
- Grundsätzliche Kenntnisse des Softwareentwicklungslebenszyklus
- Erfahrung mit Versionskontrolle sowie grundlegenden CI/CD-Konzepten
- Vertrautheit mit der Entwicklung in Java oder Angular-Umgebungen
Zielgruppe
- Entwickler (Java / Quarkus / Angular)
- DevOps- und CI/CD-Ingenieure
- Sicherheitstechniker sowie Prüfer für Anwendungssicherheit
Erfahrungsberichte (1)
Spannend und praktische Übungen.
Balavignesh Elumalai - Scottish Power
Kurs - SonarQube for DevOps
Maschinelle Übersetzung