Descripción general
La seguridad de la CI/CD se utiliza para proteger los canales de código con pruebas y verificaciones automáticas para evitar que se generen puntos vulnerables en la distribución del software. Si la incorporas a tu canal, puedes proteger el código de los ataques, evitar las pérdidas de datos, cumplir con las políticas y garantizar la calidad.
La integración y la distribución continuas (CI/CD)
La CI/CD (distribución, implementación e integración continuas) consiste en una serie de pasos, a menudo visualizados como canales, que deben realizarse para ofrecer una versión nueva del software. Agrega la automatización y la supervisión permanente al desarrollo de aplicaciones con el objetivo de reducir los errores humanos y mantener un proceso que permita desarrollar código de buena calidad con mayor rapidez.
Por lo general, las etapas principales de los canales de CI/CD no incluyen medidas de seguridad, lo que significa que debes tomar otras medidas para proteger el proceso de desarrollo.
Recursos de Red Hat
Problemas comunes de seguridad de la CI/CD
La velocidad del desarrollo y la implementación sin la seguridad adecuada puede exponer los canales a varios riesgos, como:
- La divulgación de la información confidencial a fuentes externas
- El uso de elementos de terceros o códigos que no sean seguros
- El acceso no autorizado a las herramientas de diseño o los repositorios de código fuente
Cuando identificas y eliminas los puntos vulnerables a lo largo del ciclo de desarrollo, te aseguras de que los cambios en el código estén comprobados minuciosamente y cumplan con los estándares de seguridad antes de su implementación para la producción.
La importancia de la CI/CD para DevSecOps
DevSecOps (desarrollo, seguridad y operaciones) es un enfoque que aborda la cultura, la automatización y el diseño de plataformas e integra la seguridad como una responsabilidad compartida durante todo el ciclo de vida de la TI. Uno de sus elementos fundamentales es la incorporación de un canal de CI/CD seguro.
La CI/CD resulta esencial en este enfoque porque automatiza e incorpora las verificaciones de seguridad al comienzo del proceso de desarrollo, lo cual garantiza la obtención de devoluciones rápidas en relación con los posibles puntos vulnerables. Esto, a su vez, facilita la adopción de un enfoque preventivo a lo largo de todo el ciclo de vida de la aplicación.
Uno de los principios básicos de CI/CD y DevSecOps es el llamado “shift left”, que consiste en mover ciertas actividades y tareas orientadas a la seguridad a las primeras etapas del proceso de desarrollo del software. Esta práctica incluye la automatización de los procesos de prueba para buscar problemas de seguridad, la revisión de los cambios en el código apenas se producen y el fomento de una cultura general con consciencia de la importancia de la seguridad preventiva entre los equipos de operaciones y los desarrolladores.
La manera de asegurar un canal de CI/CD
Etapa de planificación: para asegurarte de que el código sea seguro y cumpla con los estándares de seguridad, es importante incluir verificaciones de seguridad en todas las etapas del canal. El primer paso es desarrollar un plan, que servirá para identificar las posibles amenazas a la seguridad. Esto se conoce como elaboración de modelos de amenazas, un proceso en el cual se identifican los potenciales problemas de seguridad y se establecen las medidas para disminuir los riesgos.
Codificación: verifica que el código de los desarrolladores esté escrito según las orientaciones de diseño y los estándares definidos previamente. Utiliza herramientas de análisis de código fuente para identificar aquellos fragmentos que puedan estar expuestos a amenazas de seguridad.
Compilación: cuando los desarrolladores comienzan a guardar el código fuente en un repositorio compartido, asegúrate de que se activen las pruebas automáticas para verificar que las compilaciones cumplan con los requisitos.
Puesta a prueba: una vez que se complete la compilación, comprueba si el software tiene errores. En caso de que se agreguen funciones nuevas, deberán realizarse más pruebas automáticas.
Red Hat puede ayudarte
Red Hat® OpenShift ® permite que las empresas utilicen la CI/CD para automatizar el diseño, las pruebas y la implementación de las aplicaciones en las plataformas locales y de nube pública. Red Hat OpenShift y Red Hat Ansible® Automation Platform, junto con las tecnologías de nuestros partners, crean una base para DevSecOps y protegen el ciclo de vida de tus aplicaciones en contenedores, lo cual incluye el desarrollo, la implementación y el tiempo de ejecución.
Para que la empresa funcione sin problemas, es fundamental prevenir los posibles problemas de seguridad en la cadena de suministro del software. Sin embargo, la seguridad de la cadena de suministro de software para las aplicaciones desarrolladas en la nube puede requerir meses de esfuerzo por parte de grandes equipos de ingenieros y desarrolladores. Red Hat Trusted Software Supply Chain es un conjunto de soluciones que se centran en la seguridad de los elementos y las dependencias del software al inicio del ciclo de vida de desarrollo, así como en los canales de diseño y lanzamiento para investigar los problemas y solucionarlos. Utilizamos las prácticas de DevSecOps para integrar las medidas de seguridad y agilizar la obtención de resultados en cada etapa de la fábrica de software, es decir, pasar de los procesos manuales y poco uniformes a las operaciones uniformes, repetibles y automatizadas. Cuando las empresas aumentan su capacidad de recuperación en la cadena de suministro de software, mantienen y aumentan la confianza de los usuarios.
Red Hat Advanced Cluster Security (ACS) for Kubernetes es la primera plataforma de seguridad del sector desarrollada en Kubernetes, con la cual las empresas pueden diseñar aplicaciones en la nube e implementarlas y ejecutarlas de forma más segura. Esta solución permite proteger las cargas de trabajo de Kubernetes organizadas en contenedores de todas las nubes y plataformas híbridas importantes, como Red Hat OpenShift, Amazon Elastic Kubernetes Service (EKS), Microsoft Azure Kubernetes Service (AKS) y Google Kubernetes Engine (GKE).
Red Hat Advanced Developer Suite, que incluye Red Hat Trusted Artifact Signer, protege la cadena de suministro de software con la firma automatizada, la verificación criptográfica y el seguimiento integral de la procedencia de los artefactos de software.
El blog oficial de Red Hat
Obtenga la información más reciente sobre nuestro ecosistema de clientes, socios y comunidades.