Temario del curso

1. Conceptos y Ámbito del Análisis Estático de Código

  • Definiciones: análisis estático, SAST, categorías de reglas y severidad
  • Ámbito del análisis estático en el SDLC seguro y cobertura de riesgos
  • Cómo SonarQube se integra en los controles de seguridad y los flujos de trabajo de desarrolladores

2. Visión General de SonarQube: Características y Arquitectura

  • Servicios principales, base de datos y componentes del escáner
  • Puertas de Calidad, Perfiles de Calidad y mejores prácticas para Puertas 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, rastreabilidad y guía de corrección
  • Opciones de generación y exportación de 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 escáner, exclusiones y proyectos multi-módulo
  • Generación de datos de prueba necesarios y informes de cobertura para un análisis preciso

5. Integración con Azure DevOps

  • Configuración de conexiones de servicio SonarQube en Azure DevOps
  • Agregar tareas de SonarQube a Azure Pipelines y decoración de PR
  • Importar repositorios de Azure en SonarQube y automatizar 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
  • Trabajar con analizadores de terceros y ciclo de vida del plugin
  • Definir parámetros de análisis y herencia de parámetros

7. Roles, Responsabilidades y Revisión del Método de Desarrollo Seguro

  • Separación de roles: desarrolladores, revisores, DevOps, responsables de seguridad
  • Construcción de una matriz de roles y responsabilidades para procesos CI/CD
  • Proceso de revisión y recomendaciones para un método de desarrollo seguro existente

8. Avanzado: Agregar Reglas, Ajustar y Mejorar 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 automática de políticas
  • Fortalecimiento de la seguridad del servidor SonarQube y mejores prácticas de control de acceso

9. Sesiones Prácticas en el Laboratorio (Aplicadas)

  • Laboratorio A: Configurar SonarScanner para 5 repositorios Java (Quarkus cuando sea aplicable) y analizar resultados
  • Laboratorio B: Configurar análisis de Sonar para un front-end Angular e interpretar hallazgos
  • Laboratorio C: Laboratorio completo de pipeline—integrar SonarQube con una pipeline de Azure DevOps y habilitar 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
  • Problemas comunes y solución de problemas del escáner, pipeline y errores de permisos
  • Cómo leer y presentar informes de SonarQube a interesados técnicos y no técnicos

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 construcción
  • Ruta de mapa para escalar SonarQube en entornos empresariales

Resumen y Próximos Pasos

Requerimientos

  • Un conocimiento 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 Java o Angular

Público Objetivo

  • Desarrolladores (Java / Quarkus / Angular)
  • Ingenieros DevOps y CI/CD
  • Ingenieros de seguridad y revisores de seguridad de aplicaciones
 21 Horas

Número de participantes


Precio por participante

Testimonios (1)

Próximos cursos

Categorías Relacionadas


Fatal error: Uncaught TypeError: _isl_get_excluded_site(): Return value must be of type ?array, none returned in /apps/hitra7/backdrop/modules/_custom/frontend/islc7/isl_common.inc:38 Stack trace: #0 /apps/hitra7/backdrop/modules/_custom/frontend/islc7/isl_common.inc(30): _isl_get_excluded_site() #1 /apps/hitra7/backdrop/modules/_custom/frontend/islc7/isl_common.inc(17): isl_get_excluded_site() #2 /apps/hitra7/backdrop/modules/_custom/frontend/islc7/islc7.module(51): get_outline_isls() #3 /apps/hitra7/backdrop/modules/_custom/frontend/islc7/islc7.module(7): islc_prepare_links() #4 /apps/hitra7/npfrontend/nptemplates/default.php(272): islc7_sites_links_array_v3() #5 /apps/hitra7/npfrontend/modules/course/course.php(143): require_once('...') #6 /apps/hitra7/npfrontend/core/routes.php(15): course_menu_callback() #7 /apps/hitra7/npfrontend/__index.php(81): require_once('...') #8 /apps/hitra7/npfrontend/index.php(15): include_once('...') #9 /apps/hitra7/index.php(66): include_once('...') #10 {main} thrown in /apps/hitra7/backdrop/modules/_custom/frontend/islc7/isl_common.inc on line 38