Seguridad en CI/CD y Pipelines: 3 enfoques fáciles para la "Seguridad Continua" y que no digas que "te jakiaron"

Seguridad en CI/CD y Pipelines: 3 enfoques fáciles para la "Seguridad Continua" y que no digas que "te jakiaron"

"me jakiaron..."

- Anónimo

La seguridad de CI/CD es un tema cada vez más importante a medida que las pipelines de CI/CD se vuelven más complejas y su uso se extiende. Por lo superficies de ataque son dinámicas y requieren de un foco cultural y técnico, no sólo de tener tediosos y muchas veces absurdos procesos que sólo garantizan que los equipos se desgastan rápido y las empresas paguen por sus propias pérdidas e incluso multiplicarlas.

Para enfrentar este escenario, los equipos -y no sólo los equipos de seguridad- necesitan adoptar un enfoque holístico que proteja todo el flujo CI/CD, desde el código fuente hasta la producción, a través de nuestros pipelines. Esto incluye:

  • Seguridad En-Pipeline (Security In-The-Pipeline): asegurar que el código que se envía a producción esté libre de vulnerabilidades y configuraciones erróneas. Esto se puede lograr mediante el uso de herramientas de escaneo de seguridad automatizadas, así como controles manuales, como revisiones de código y particularmente el enfoque "shift left" o también conocido como DevSecOps.
  • Seguridad Del-Pipeline (Security Of Pipeline): proteger los sistemas y herramientas que componen el pipeline en si mismo contra ataques y vulnerabilidades. Esto incluye medidas como la gestión de políticas de permisos y accesos, monitoreo, alertas, credenciales rotativas y el mprincipio del "menor privilegio posible".
  • Seguridad Alrededor-del-Pipeline (Security Around the Pipeline): Comprender el flujo de tu ciclo implica saber que todas tus medidas pueden simplemente ser bypasseadas o eludidas, con el consiguiente "acceso directo" a producción. Puedes mitigar riesgos implementando RBAC (Role Based Access Control), y de manera genérica, políticas de aislamientos de redes y conectividades diferenciadas, con monitoreo persistente/alertas de accesos y por sobre todo, implementar GitOps, previniendo que tus entornos de ejecución requieran ser accedidos por distintos roles, sino que dicho entor no sea quien se responsabiliza de "ir a buscar el recurso a desplegar" a un punto externo, generalmente un repositorio git. traffic shaping., la implementación de bastion hosts y la monitorización de los flujos de tráfico atípicos.
QUé es "shift left" y "shift right"? Fuente: https://www.dynatrace.com/news/blog/what-is-shift-left-and-what-is-shift-right/

Un enfoque holístico para la seguridad de CI/CD requiere la cooperación de los equipos de seguridad, desarrollo y operaciones, pero por sobre todo, contar con una organización que respalde y comprenda el valor crítico que representa la cultura y conocimiento de la seguridad en el negocio.

A continuación, se presentan algunos consejos adicionales para mejorar la seguridad de CI/CD:

  • Utilizar un framework de seguridad de CI/CD. Hay varios frameworks disponibles que pueden ayudar a las organizaciones a implementar un enfoque holístico para la seguridad de CI/CD. Estos frameworks proporcionan una serie de controles y recomendaciones que pueden ayudar a las organizaciones a reducir su superficie de ataque.
  • Implementar revisiones de seguridad automatizadas. Las revisiones de seguridad automatizadas pueden ayudar a los equipos a identificar y remediar vulnerabilidades de forma rápida y eficiente. Estas revisiones pueden realizarse en el código fuente, los artefactos de compilación y los archivos de configuración.
  • Monitorizar los flujos de datos. Es importante monitorizar los flujos de datos a través de la pipeline de CI/CD para detectar anomalías que puedan indicar un ataque. Esto puede hacerse mediante el uso de sistemas de detección de intrusiones (IDS) y sistemas de detección de malware (IDS).
  • Implementar controles de acceso granulares. Es importante implementar controles de acceso granulares para restringir el acceso a los sistemas y herramientas de CI/CD a los usuarios autorizados. Esto puede ayudar a evitar que los atacantes exploten vulnerabilidades para obtener acceso a la pipeline.
  • Seguridad . Es importante educar a los empleados sobre los riesgos de seguridad de CI/CD y las medidas que pueden tomar para protegerse. Esto puede incluir la formación sobre las mejores prácticas de seguridad de código, la gestión de accesos y la higiene de las credenciales.

Al seguir estos consejos, las organizaciones pueden mejorar significativamente la seguridad de sus pipelines de CI/CD y proteger sus aplicaciones y cadenas de suministro de software de los ataques.

Basado en la columna de Bill Doerrfeld

Bill Doerrfeld Articles and Insights
Bill Doerrfeld lends us insights and views on DevOps in the following articles