Artículos Técnicos

Seguridad en DevSecOps con GitLab

Por Javier Ortiz

bit2bit CTO

Ya no es raro escuchar sobre incidentes de seguridad relacionados con tecnología, desde robo de contraseñas e información sensible de nuestros usuarios hasta ciberataques relacionados con la guerra en Ucrania. El IBM Security X-Force Threat Intelligence Index 2023 reporta que el 21% de incidentes de seguridad desplegaron backdoors (permitiendo al atacante tener acceso posterior a los sistemas afectados), el 27% de los atacantes extorsionaron a las organizaciones afectadas con la información obtenida, y 26% de las vulnerabilidades tenían exploits conocidos. Por lo que en este artículo te explicaremos porqué debes apostar por mejor tu seguridad en DevSecOps

Seguridad en DevSecOps

Fuente: IBM X-Force Threat Intelligence Index 2023

Central a la revolución propuesta DevSecOps es la importancia de la colaboración entre los diferentes roles de una cadena de valor. Como relata Gene Kim, en su libro, El proyecto Unicornio, “La tecnología debe estar integrada en el negocio, no debe ser externa a él o estar simplemente ‘alineada con él'”. Así, un objetivo importante es que el equipo completo, desde el product owner hasta operaciones, tenga la misma visión, y el producto sea responsabilidad de todos, haciendo un énfasis especial en el tema de la seguridad.

 

GitLab Global DevSecOps Survey todos eran responsables 43% de los profesionales de la seguridad se sienten “algo” o “muy” poco preparados para el futuro.

 

Aunque vemos esta creciente importancia de los temas de seguridad, el reto aparece cuando los equipos DevOps quieren moverse más rápido de lo que los equipos de seguridad se lo permiten, de tal forma que los procesos de seguridad en silos o legacy, pueden generan fricciones para nuestros procesos. Lo que debemos buscar es la integración de la seguridad en nuestros procesos.

Security scanning is
increasing...

Across the board, devs report greater usage of scanning...

53%

run SAST scans (a dramatic jump from last year, which was less than 40%)

55%

employ dynamic application security testing (DAST) scans (up 11 pointa from last year)

60%

scan containers today (up 10% from 2021)

56%

perform dependency scans

61%

ensure license compliance checks

...but easy access to data lags

30%

have SATS lite scanners in a web IDE

29%

pull scan results into a web pipeline report for devs

29%

make DAST, container and dependency scans easily available to devs

Fuente: GitLab Global DevSecOps Survey

Seguridad integrada con GitLab

En su artículo Es tiempo de ponerla se de seguridad en DevSecOps, Francis Ofungwu traduce esto en requerimientos específicos que deben brindarnos nuestras herramientas para poder lograr estos objetivos:

Eliminar de la comunicación unidireccional de los requisitos de seguridad. Los controles deben aplicarse programáticamente y ser consumibles a través de APIs.

Implementar la política de seguridad como código (Police as Code) para lograr la adopción, consistencia y cambio cultural deseado. Estas políticas deben implementarse programáticamente.

Contar con una visión unificada de las amenazas en todos los niveles del ciclo de vida del desarrollo. Todas las partes interesadas deben conocer la misma información. Tener escáneres de seguridad independientes operados únicamente por el equipo de seguridad no impulsa la colaboración.

Permitir el entrenamiento dentro del proceso de desarrollo. Creando mejores desarrolladores, ofreciéndoles evidencia casi en tiempo real de las vulnerabilidades en su entorno de desarrollos y código fuente.

Reducir la cantidad de tiempo que los desarrolladores dedican a auditorías dolorosas, mediante la inversión en artefactos de desarrollo inmutables que evidencian el uso de controles a lo largo del ciclo de vida de desarrollo.

GitLab te ayuda a asegurar tu proceso DevSecOps end-to-end, analizando tu aplicación ya sea como parte de un proceso CI/CD automatizado o siguiendo un cronograma. Esto incluye:

Análisis de código fuente

Dependencias en tus proyectos o imágenes de contenedores

Vulnerabilidades en una aplicación web en ejecución

Configuración de Infraestructura como código

Cada herramienta de seguridad es relevante a etapas específicas del ciclo de desarrollo:

Commit

  • SAST (Pruebas estáticas de
    seguridad de aplicaciones)
  • Detección de secretos
  • Análisis de IaC (Infraestructura como código)
  • Análisis de dependencias
  • Análisis de licencias
  • Coverage-guided Fuzz Testing

Build

  • Análisis de contenedores

Test

  • Seguridad de APIs
  • DAST (Pruebas dinámicas de seguridad de aplicaciones)

Deploy

  • Operational Container
    Scanning (Analís operacional de Contenedores)

Adicional a estas herramientas de seguridad GitLab ofrece a los
equipos de seguridad control sobre cómo se deben ejecutar los mismos mediante el uso de Políticas y Compliance Frameworks.

Políticas y Compliance Frameworks

Las políticas en GitLab permiten a los equipos de seguridad definir la manera como quieren que los análisis de seguridad se realicen dentro de sus organizaciones, de modo que cumplan con los estándares internos.

A través de estás políticas, ellos pueden definir qué análisis debe realizarse en determinados pipelines y estar seguros que estos se ejecuten de la forma que ellos establecieron, impidiendo a los equipos de desarrollo modificarlos u obviarlos. Estas políticas se guardan como YAML, proyecto independiente que luego puede enlazarse con otros proyectos, grupos o subgrupos. Esto permite flexibilidad a los equipos de seguridad para aplicar políticas específicas dependiendo de su necesidad. Adicionalmente, el uso de YAML como Policy as Code para la configuración, permite que los cambios a cualquier política ocurran de forma colaborativa y controlada al pasar por procesos de Code Review antes de cualquier cambio.

Fuente: GitLab Policies

Compliance frameworks

Los Compliance Frameworks, son etiquetas que permiten categorizar proyectos que deben seguir ciertos requerimientos específicos de cumplimientos o revisión adicional. Estas etiquetas además pueden forzar el uso de ciertos pipelines de compliance, que permiten al equipo de seguridad definir el pipeline de ejecución que deben seguir proyectos específicos, escribiendo las configuraciones locales del proyecto. Esto permite al equipo de compliance definir el orden y detalle de las tareas que se deben ejecutar para lograr el cumplimento del framework específico, asegurando la separación de responsabilidades.

Fuente: GitLab Compliance frameworks

Apuesta por la seguridad en tu ciclo DevOps. En bit2bit Americas,
GitLab Select Partner y Professional Services Partner, contamos con un equipo
de expertos para acompañarte y asesorarte en la adopción progresiva
del enfoque DevSecOps en tu organización.

¿Qué son los procesos ITSM? La versión 4 de ITIL pasó recientemente de recomendar “procesos” de ITSM a introducir 34 “prácticas” de ITSM. Su razonamiento para esta terminología actualizada es que “se pueden considerar elementos como la cultura, la tecnología, la información y la gestión de datos para obtener una visión holística de las formas de trabajar”. Este enfoque más integral refleja mejor las realidades de las organizaciones modernas.

 

Aquí, no nos preocuparemos por las diferencias matizadas en el uso de la terminología de prácticas o procesos. Lo que es importante y cierto, independientemente del marco que siga su equipo, es que los equipos de servicios de TI modernos utilizan los recursos de la organización y siguen procedimientos repetibles para brindar un servicio consistente y eficiente. De hecho, aprovechar la práctica o el proceso es lo que distingue a ITSM de TI.

La gestión de cambios garantiza que se utilicen procedimientos estándar para un manejo rápido y eficiente de todos los cambios en la infraestructura de TI, ya sea para implementar nuevos servicios, gestionar los existentes o resolver problemas en el código. La gestión de cambios eficaz proporciona contexto y transparencia para evitar cuellos de botella y al mismo tiempo, minimizar el riesgo. No se sienta abrumado por esto y la aún más larga lista de prácticas de ITIL.

La gestión de problemas es el proceso de identificar y gestionar las causas de los incidentes en un servicio de TI, la gestión de problemas no se trata solo de encontrar y solucionar incidentes, sino de identificar y comprender las causas subyacentes de un incidente, así como de identificar el mejor método para eliminar las causas de raíz.

La gestión de incidentes es el proceso para responder a un evento no planificado o una interrupción del servicio y restaurar el servicio a su estado operativo. Teniendo en cuenta todos los servicios de software de los que dependen las organizaciones hoy en día, existen más puntos de falla potenciales que nunca, por lo que este proceso debe estar listo para responder y resolver problemas rápidamente.

La gestión de activos de TI (también conocida como ITAM) es el proceso de garantizar que los activos de una organización se contabilicen, implementen, mantengan, actualicen y eliminen cuando llegue el momento. En pocas palabras, se trata de asegurarse de que los elementos valiosos, tangibles e intangibles, de la organización sean rastreados y utilizados.

La gestión del conocimiento es el proceso de crear, compartir, utilizar y gestionar el conocimiento y la información de una organización. Se refiere a un enfoque multidisciplinario para lograr los objetivos organizacionales haciendo el mejor uso del conocimiento.

La gestión de solicitudes de servicio es un procedimiento repetible para manejar la amplia variedad de solicitudes de servicio al cliente, como solicitudes de acceso a aplicaciones, mejoras de software y actualizaciones de hardware. El flujo de trabajo de solicitud de servicio a menudo implica solicitudes recurrentes y se beneficia enormemente de permitir a los clientes el conocimiento y la automatización de ciertas tareas.

Porque la plataforma abierta para el trabajo de Jira brinda una mayor claridad, colaboración y rentabilidad en toda la empresa. En medio de las rápidas transformaciones de TI y los objetivos comerciales en constante cambio, simplemente no es suficiente tener una solución ITSM; necesitas una que realmente acelere la forma en que trabajan tus equipos.

 

La solución ITSM de Atlassian desbloquea la TI a alta velocidad al optimizar los flujos de trabajo en el desarrollo y las operaciones a escala. Es decir, lo que antes eran muchos equipos aislados con diferentes formas de trabajar, ahora están integrados y son mucho más colaborativos que nunca.

Los principios de gestión de servicios pueden brindar mejoras a toda su organización. ITSM conduce a ganancias de eficiencia y productividad.

 

En bit2bit Americas y Atlassian evaluamos, implementamos, entrenamos y acompañamos a nuestros clientes en la implementación de los procesos relacionados con la Gestión del Servicio de TI (ITSM) según las buenas prácticas recomendadas por ITIL (IT Infrastructure Library).

 

Nuestro enfoque es estratégico y aporta valor al negocio ofreciendo soluciones de TI que combinan adecuadamente personas, procesos y tecnología. Realizamos la conexión entre TI y la estrategia de negocio y ayudamos a nuestros clientes a entender el impacto de TI en sus distintos procesos de negocio.