Habilitación de la conformidad continua en el ciclo de desarrollo de software de aplicación
Si se aprovecha DevSecOps para automatizar la integración de la seguridad en cada fase del ciclo de vida de desarrollo de las aplicaciones empresariales, se abordan los problemas de seguridad a medida que surgen, lo que facilita, acelera y abarata su solución. Al utilizar la arquitectura desplegable de gestión del ciclo de vida de las aplicaciones de DevSecOps, puede aprovechar las dos principales ventajas de utilizar DevSecOps,, que son la velocidad y la seguridad.
A lo largo del ciclo de desarrollo, el código se revisa, se escanea y se prueba en busca de problemas de seguridad. Esta seguridad integrada permite a su equipo detectar los problemas con antelación, y reduce las revisiones duplicadas y las reconstrucciones innecesarias, lo que da como resultado un código más seguro que se entrega más rápido. A medida que DevSecOps integra la exploración de vulnerabilidades y la aplicación de parches en el ciclo de desarrollo y publicación, aumenta la capacidad de identificar y parchear vulnerabilidades y exposiciones comunes (CVE). Esto limita la ventana que un actor de amenazas tiene para aprovechar las vulnerabilidades en los sistemas de producción de cara al público. Adicionalmente, se incluye el cumplimiento continuo con el escaneo periódico de las aplicaciones en producción.
La implementación de la exploración y las pruebas automatizadas puede garantizar que las dependencias de software incorporadas estén en los niveles de parche adecuados y confirmar que el software pasa las pruebas de unidad de seguridad. Además, puede probar y validar código para la seguridad con análisis estático y dinámico. Las pruebas de los resultados de la exploración se almacenan, recopilan y resumen de forma segura como parte de un proceso de gestión de cambios automatizado que retiene los despliegues, antes de que los cambios se promocionen a producción.
Revise las siguientes secciones para obtener una visión general de los pasos esenciales para garantizar que su ciclo de vida de desarrollo de aplicaciones sea seguro mediante el uso de las herramientas de IBM Cloud DevSecOps.
Configuración de la arquitectura de desarrollo de software seguro
La arquitectura desplegable DevSecOps Application Lifecycle Management agiliza el proceso para configurar su cadena de suministro de software seguro mediante un conjunto de plantillas de cadenas de herramientas de integración continua (CI), despliegue continuo (CD) y cumplimiento continuo (CC). Estas plantillas utilizan una colección de integraciones de herramientas y pipelines Tekton de referencia personalizables para construir, escanear, probar, gestionar cambios y desplegar aplicaciones.
Las interconexiones de Tekton proporcionan una infraestructura de scripts personalizados que se pueden utilizar para garantizar la orquestación automatizada y compatible de los cambios de código y de configuración. Las interconexiones mantienen un inventario de actualización de GitOps, mientras recopilan y almacenan pruebas que se pueden utilizar para generar solicitudes de cambio auditables. Además, el conducto de conformidad continua explora periódicamente los artefactos desplegados y los repositorios de código fuente asociados en busca de vulnerabilidades.
Para obtener más información sobre cómo configurar la arquitectura desplegable para adaptarla a sus necesidades, consulte la guía de despliegue DevSecOps. Puede utilizar un proyecto para desplegar esta arquitectura en todos los entornos de desarrollo de aplicaciones, para que el equipo de desarrollo pueda adoptar un enfoque de desplazamiento a la izquierda identificando los riesgos de seguridad y las exposiciones de forma temprana, para que se aborden antes de que el código llegue a producción.
Garantizar el cumplimiento continuo con la interconexión CC
Las interconexiones CI/CD garantizan que el código de aplicación que desarrolla el equipo esté protegido y libre de vulnerabilidades antes de que el código se envíe a producción. Una vez que el código llega a producción, puede utilizar el conducto CC para explorar continuamente el código de producción en busca de nuevas vulnerabilidades. La interconexión CC se puede desencadenar manual o periódicamente utilizando desencadenantes.
El conducto CC explora los artefactos desplegados existentes y sus repositorios de origen independientemente de la planificación de despliegue. Ejecuta las exploraciones estáticas y las exploraciones dinámicas en el código fuente de la aplicación, detecta secretos en los repositorios Git, la comprobación de lista de materiales (BOM), la comprobación de CIS y la exploración del Vulnerability Advisor.
Gestión de problemas y recopilación de pruebas para estar preparado para la auditoría
Después de explorar y ejecutar comprobaciones en artefactos y repositorios de origen, el conducto crea un nuevo problema de incidencia o actualiza los problemas de incidencia existentes en el repositorio de incidencias. Por último, utilizando estos problemas y los resultados, el conducto recopila pruebas y resume las pruebas.
Se notifican dos tipos de problemas desde las interconexiones de AC y CC: problemas de incidencias y problemas no de incidencias. Los problemas de incidencias pueden surgir debido a vulnerabilidades o CVE encontradas dentro del código o los artefactos desplegados, y los problemas de no incidencias no surgen de vulnerabilidades, sino que representan una desviación de la postura de conformidad, por ejemplo, anomalías de prueba de unidad y anomalías de comprobación de protección de ramificación. Para obtener más información sobre la gestión de problemas, consulte Proceso de problemas de incidencias y no incidencias y Gestión de problemas de incidencias
Las pruebas de cumplimiento crean el rastro que los auditores buscan durante una auditoría de cumplimiento. Uno de los objetivos de DevSecOps es la generación y el almacenamiento automatizados de pruebas en solicitudes de cambio auditables y casilleros de pruebas duraderos. Para obtener más información, consulte Pruebas.