Temario del curso
1. Conceptos y alcance del análisis estático de código
- Definiciones: análisis estático, SAST, categorías de reglas y severidad
- Alcance del análisis estático en el SDLC seguro y cobertura de riesgos
- Cómo se integra SonarQube en los controles de seguridad y flujos de trabajo de desarrollo
2. Descripción general de SonarQube: características y arquitectura
- Servicios principales, base de datos y componentes del analizador
- Puertas de calidad, perfiles de calidad y mejores prácticas para las puertas de calidad
- Características relacionadas con la seguridad: vulnerabilidades, reglas SAST y mapeo a CWE
3. Navegación y uso de la interfaz del servidor SonarQube
- Tour por la interfaz del servidor: proyectos, problemas, reglas, medidas y vistas de gobernanza
- Interpretación de páginas de problemas, trazabilidad y guías de remediación
- Opciones para generar y exportar informes
4. Configuración de SonarScanner con herramientas de compilación
- Configuración de SonarScanner para Maven, Gradle, Ant y MSBuild
- Mejores prácticas para propiedades del analizador, exclusiones y proyectos multi-módulo
- Generación de datos de prueba y informes de cobertura necesarios para un análisis preciso
5. Integración con Azure DevOps
- Configuración de las conexiones de servicio de SonarQube en Azure DevOps
- Agregado de tareas de SonarQube a Azure Pipelines y decoración de solicitudes de extracción (PR)
- Importación de Azure Repos a SonarQube y automatización de análisis
6. Configuración del proyecto y analizadores de terceros
- Perfiles de calidad a nivel de proyecto y selección de reglas para Java y Angular
- Trabajo con analizadores de terceros y ciclo de vida de complementos
- Definición de parámetros de análisis e herencia de parámetros
7. Roles, responsabilidades y revisión de la metodología de desarrollo seguro
- Separación de roles: desarrolladores, revisores, DevOps y propietarios de seguridad
- Construcción de una matriz de roles y responsabilidades para los procesos de CI/CD
- Proceso de revisión y recomendación para una metodología de desarrollo seguro existente
8. Avanzado: adición de reglas, ajuste y mejora de características globales de seguridad
- Uso de la API web de SonarQube para agregar y gestionar reglas personalizadas
- Ajuste de puertas de calidad y aplicación automatizada de políticas
- Fortalecimiento de la seguridad del servidor SonarQube y mejores prácticas de control de acceso
9. Sesiones de laboratorio práctico (aplicado)
- Laboratorio A: Configurar SonarScanner para 5 repositorios Java (Quarkus donde corresponda) y analizar los resultados
- Laboratorio B: Configurar el análisis de Sonar para 1 aplicación front-end Angular e interpretar los hallazgos
- Laboratorio C: Laboratorio completo de pipelines: integrar SonarQube con un pipeline de Azure DevOps y habilitar la decoración de PR
10. Pruebas, solución de problemas e interpretación de informes
- Estrategias para la generación de datos de prueba y medición de cobertura
- Errores comunes y solución de problemas del analizador, del pipeline y de permisos
- Cómo leer y presentar informes de SonarQube a partes interesadas técnicas y no técnicas
11. Mejores prácticas y recomendaciones
- Selección de conjuntos de reglas y estrategias de aplicación incremental
- Recomendaciones de flujo de trabajo para desarrolladores, revisores y pipelines de compilación
- Hojas de ruta para escalar SonarQube en entornos empresariales
Resumen y próximos pasos
Requerimientos
- Conocimiento del ciclo de vida del desarrollo de software
- Experiencia con control de versiones y conceptos básicos de CI/CD
- Conocimiento previo de entornos de desarrollo Java o Angular
Público objetivo
- Desarrolladores (Java / Quarkus / Angular)
- Ingenieros de DevOps y CI/CD
- Ingenieros de seguridad y revisores de seguridad de aplicaciones
Testimonios (1)
Interactiva y práctica hands-on.
Balavignesh Elumalai - Scottish Power
Curso - SonarQube for DevOps
Traducción Automática