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 adapta SonarQube a los controles de seguridad y flujos de trabajo del desarrollador.
2. Visión General de SonarQube: Características y Arquitectura
- Servicios principales, base de datos y componentes del escáner.
- Portales de calidad (Quality Gates), perfiles de calidad y mejores prácticas para los portales de calidad.
- Características relacionadas con la seguridad: vulnerabilidades, reglas SAST y mapeo 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 las páginas de problemas, trazabilidad y orientación para la remediación.
- Generación de informes y opciones de exportación.
4. Configuración de SonarScanner con Herramientas de Construcción
- Configuración de SonarScanner para Maven, Gradle, Ant y MSBuild.
- Mejores prácticas para propiedades del escáner, exclusiones y proyectos multi-módulo.
- Generación de datos de prueba necesarios e informes de cobertura para un análisis preciso.
5. Integración con Azure DevOps
- Configuración de las conexiones de servicio de SonarQube en Azure DevOps.
- Añadido de tareas de SonarQube a las tuberías (Pipelines) de Azure y decoración de Pull Requests.
- Importación de Azure Repos en 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 los plugins.
- Definición de parámetros de análisis y 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 CI/CD.
- Proceso de revisión y recomendación para una metodología de desarrollo seguro existente.
8. Avanzado: Añadir Reglas, Ajustes y Mejora de las Características Globales de Seguridad
- Uso de la API Web de SonarQube para añadir y gestionar reglas personalizadas.
- Ajuste de los Portales de Calidad (Quality Gates) y aplicación automatizada de políticas.
- Endurecimiento de la seguridad del servidor SonarQube y mejores prácticas para el control de acceso.
9. Sesiones de Laboratorio Práctico (Aplicado)
- Laboratorio A: Configurar SonarScanner para 5 repositorios Java (Quarkus donde sea aplicable) 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 tuberías (pipelines): integrar SonarQube con una tubería de Azure DevOps y habilitar la decoración de Pull Requests.
10. Pruebas, Resolución de Problemas e Interpretación de Informes
- Estrategias para la generación de datos de prueba y medición de cobertura.
- Problemas comunes y resolución de errores del escáner, de la tubería (pipeline) y de permisos.
- Cómo leer y presentar los 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 tuberías de construcción (pipelines).
- Hoja de ruta para escalar SonarQube en entornos empresariales.
Resumen y Próximos Pasos
Requerimientos
- Comprensión del ciclo de vida del desarrollo de software
- Experiencia con control de versiones y conceptos básicos de CI/CD
- Familiaridad con entornos de desarrollo en 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