DevSecOps: Infraestructura CI/CD para el desarrollo seguro de software

Bustamante Vivas, Javier (2023). DevSecOps: Infraestructura CI/CD para el desarrollo seguro de software. Trabajo Fin de Grado / Proyecto Fin de Carrera, E.T.S.I. de Sistemas Informáticos (UPM), Madrid.

Descripción

Título: DevSecOps: Infraestructura CI/CD para el desarrollo seguro de software
Autor/es:
  • Bustamante Vivas, Javier
Director/es:
Tipo de Documento: Trabajo Fin de Grado o Proyecto Fin de Carrera
Grado: Grado en Ingeniería del Software
Fecha: Julio 2023
Materias:
ODS:
Palabras Clave Informales: Integración Continua (CI); Entrega Continua (CD); DevSecOps; GitLab; Jenkins
Escuela: E.T.S.I. de Sistemas Informáticos (UPM)
Departamento: Sistemas Informáticos
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[thumbnail of TFG_JAVIER_BUSTAMANTE_VIVAS.pdf] PDF (Portable Document Format) - Acceso permitido solamente a usuarios en el campus de la UPM - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB)

Resumen

En este proyecto se presenta una arquitectura segura de desarrollo de software CI/CD basada en Rancher, que incorpora los principios de DevSecOps. El objetivo principal es establecer un flujo de trabajo automatizado y seguro, que integre las etapas de desarrollo, pruebas, integración y entrega continua, mientras se asegura la calidad y seguridad del software.

En este contexto, se realiza un análisis exhaustivo de los requisitos de seguridad asociados al proceso CI/CD, se identifican las mejores prácticas de DevSecOps y se implementan medidas de seguridad como el acceso seguro, el control de autenticación y autorización, para mitigar riesgos y garantizar la seguridad desde el inicio del ciclo de desarrollo.

La arquitectura propuesta se compone de cuatro componentes principales: PostgreSQL, Jenkins, GitLab y SonarQube. PostgreSQL actúa como una base de datos segura para almacenar tanto la información de los proyectos como los datos de las vulnerabilidades conocidas. Jenkins se encarga de la automatización de las etapas del proceso CI/CD, mientras que GitLab proporciona un sistema de control de versiones seguro y colaborativo. SonarQube es empleado para realizar análisis estáticos del código y garantizar su calidad y seguridad.

Finalmente, se incluyen pruebas exhaustivas para validar el correcto funcionamiento de la arquitectura propuesta. Se evalúan aspectos como la integridad de los datos, la detección de vulnerabilidades y la generación de informes de calidad del código.

Abstract:

This project presents a secure CI/CD software development architecture based on Rancher, which incorporates DevSecOps principles. The main objective is to establish an automated and secure workflow, which integrates the stages of development, testing, integration and continuous delivery, while ensuring the quality and security of the software.

In this context, a thorough analysis of the security requirements associated with the CI/CD process is performed, DevSecOps best practices are identified and security measures such as secure access, authentication and authorisation control are implemented to mitigate risks and ensure security from the beginning of the development cycle.

The proposed architecture consists of four main components: PostgreSQL, Jenkins, GitLab and SonarQube. PostgreSQL acts as a secure database to store both project information and known vulnerability data. Jenkins handles the automation of the CI/CD process steps, while GitLab provides a secure and collaborative version control system. SonarQube is used to perform static analysis of the code to ensure its quality and security.

Finally, extensive testing is included to validate the correct functioning of the proposed architecture. Aspects such as data integrity, vulnerability detection and code quality reporting are evaluated.

Más información

ID de Registro: 75203
Identificador DC: https://oa.upm.es/75203/
Identificador OAI: oai:oa.upm.es:75203
Depositado por: Biblioteca Universitaria Campus Sur
Depositado el: 13 Jul 2023 15:07
Ultima Modificación: 13 Jul 2023 15:07