Skip to main content
Seguridad en la nube

¿Qué es GitLab Container Scanning?

Refuerce la seguridad y el cumplimiento de su empresa con GitLab Container Scanning. Detecte vulnerabilidades y malware en sus imágenes de contenedor antes del despliegue. Automatice el análisis, reduzca el riesgo y proteja la cadena de suministro.

Por SentinelOne
¿Qué es GitLab Container Scanning?

GitLab Container Scanning es una herramienta esencial para mantener la seguridad y la integridad de las aplicaciones en contenedores. Conocer y utilizar esta técnica cobra aún más importancia a medida que las organizaciones adoptan contenedores para desplegar software.

Este artículo explica en detalle GitLab Container Scanning, cómo funciona, qué formatos de contenedor admite y cómo configurar la herramienta en sus proyectos mediante buenas prácticas y ejemplos reales. Esta guía destaca las buenas prácticas para mantener procesos de desarrollo seguros y un flujo de trabajo fluido.

GitLab Container Scanning - Featured Image | SentinelOne

Conceptos básicos de GitLab Container Scanning

Comprender GitLab Container Scanning es fundamental para proteger aplicaciones en contenedores con GitLab o con otras plataformas de contenedores como Docker. GitLab Container Scanning examina cada componente del software en busca de vulnerabilidades que los atacantes podrían aprovechar, como un antivirus que revisa sus componentes básicos.

El análisis examina el software de los contenedores para detectar problemas y posibles riesgos. Este paso es crucial en el desarrollo de software moderno: los contenedores suelen reunir componentes de distintas fuentes, y todos deben cumplir los estándares de seguridad para preservar la integridad de la aplicación.

GitLab Container Scanning aporta una protección esencial a las aplicaciones en contenedores durante el desarrollo. Detectar las vulnerabilidades a tiempo mantiene los sistemas seguros y da tranquilidad tanto a los desarrolladores como a las demás partes interesadas.

¿Cómo funciona GitLab Container Scanning?

GitLab Container Scanning identifica automáticamente vulnerabilidades en las imágenes de contenedor y facilita su resolución rápida y fiable. Así funciona:

GitLab Container Scanning se integra fácilmente en el pipeline de integración continua y despliegue continuo (CI/CD). Así, el análisis forma parte de cada compilación y envío de cambios, en lugar de ser una tarea aislada. Los controles de seguridad acompañan todo el desarrollo, no se realizan una sola vez.

Uso de bases de datos de vulnerabilidades

La herramienta compara los componentes con bases de datos de vulnerabilidades conocidas para detectar fallos en los paquetes de software o las bibliotecas de los contenedores. Así identifica fácilmente las amenazas conocidas que puedan contener.

Generación de un informe

Al finalizar, GitLab Container Scanning genera un informe completo con las vulnerabilidades detectadas, su nivel de gravedad y, cuando corresponde, las medidas recomendadas para corregirlas o mitigarlas.

Automatización de respuestas

Según su configuración, GitLab Container Scanning ejecuta respuestas automáticas. Puede crear incidencias para que los equipos de desarrollo las resuelvan o incluso detener el pipeline de CI/CD si detecta vulnerabilidades críticas, para impedir que el código inseguro llegue a producción.

Corrección y supervisión continua

Nuestra herramienta de supervisión continua facilita la corrección de problemas al analizar cada actualización de los contenedores. Comprueba automáticamente si los cambios introducen vulnerabilidades y mantiene la protección frente a las que surjan con el tiempo.

Callout Background Image Gradient

Guía de mercados de la CNAPP

Obtenga información clave sobre el estado del mercado de CNAPP en esta guía de mercado de Gartner para plataformas de protección de aplicaciones nativas de la nube.

Formatos de contenedor compatibles con GitLab

La compatibilidad de GitLab Container Scanning con determinados formatos de contenedor se refiere a su capacidad de examinar la estructura y la organización de sus datos. Las herramientas de análisis Trivy y Grype admiten numerosas distribuciones de Linux, por lo que detectan rápidamente vulnerabilidades en distintos entornos.

Herramientas de análisis de código abierto:

  • Trivy (analizador de vulnerabilidades de código abierto para contenedores y sistemas operativos): Trivy está diseñado específicamente para contenedores y sistemas operativos. Analiza numerosas distribuciones de Linux de forma ligera y exhaustiva para identificar vulnerabilidades.
  • Grype: Grype ofrece datos precisos sobre las vulnerabilidades de las imágenes de contenedor. Como herramienta de análisis, complementa a Trivy con un examen exhaustivo de las amenazas de seguridad y datos precisos que facilitan la acción.

Distribuciones de Linux compatibles

Es importante distinguir entre formatos de contenedor y distribuciones. Los contenedores almacenan datos, mientras que las distribuciones son variantes del sistema operativo Linux compatibles con las herramientas Trivy y Grype de GitLab. GitLab admite numerosas distribuciones; esta es una breve lista:

  • Alma Linux: analizada con Trivy
  • Alpine Linux: compatible con Grype y Trivy
  • Amazon Linux: compatible con Grype y Trivy
  • BusyBox: analizada con Grype
  • CentOS: compatible con Grype y Trivy
  • CBL-Mariner: analizada con Trivy
  • Debian: compatible con Grype y Trivy
  • Distroless: compatible con Grype y Trivy
  • Oracle Linux: compatible con Grype y Trivy
  • Photon OS: analizada con Trivy
  • Red Hat (RHEL): compatible con Grype y Trivy
  • Rocky Linux: analizada con Trivy
  • SUSE: analizada con Trivy
  • Ubuntu: compatible con Grype y Trivy

La importancia de admitir numerosas distribuciones

En GitLab Container Scanning, entendemos que la compatibilidad con una amplia variedad de distribuciones cobra cada vez más importancia a medida que las aplicaciones en contenedores ganan popularidad entre los desarrolladores que suelen elegir distintas distribuciones de Linux según el rendimiento, la seguridad, la compatibilidad o sus preferencias personales. Al admitir varias distribuciones de forma simultánea, GitLab Container Scanning garantiza que los desarrolladores puedan seguir manteniendo la seguridad de sus aplicaciones independientemente del entorno que elijan – y refuerza aún más nuestro compromiso de ofrecer seguridad integral para las cargas de trabajo en contenedores.

¿Cómo configurar GitLab para el análisis de contenedores?

Configurar GitLab para el análisis de contenedores es un proceso eficiente que automatiza la detección de vulnerabilidades en sus aplicaciones en contenedores. Este es un resumen de los pasos:

1. Activar el análisis de contenedores mediante una solicitud de fusión automática

GitLab 14.9 simplifica y agiliza la activación del análisis de contenedores mediante una solicitud de fusión automática. Siga estos pasos:

  • Vaya al proyecto deseado.
  • Vaya a Secure > Security Configuration.
  • En la fila Container Scanning, seleccione Configure with a merge request.

Este proceso generará una solicitud de fusión automática con los cambios necesarios para activar el análisis de contenedores. Revísela antes de fusionarla para completar la configuración.

2. Configuración mediante el archivo .gitlab-ci.yml:

Para configurar manualmente el análisis de contenedores, añada la plantilla correspondiente a su archivo .gitlab-ci.yml:

include:   - template: Security/Container-Scanning.gitlab-ci.yml

Esta plantilla añade un trabajo container_scanning a su pipeline de CI/CD. El trabajo analiza las imágenes Docker en busca de vulnerabilidades y guarda los resultados como un artefacto de informe de análisis de contenedores.

Un ejemplo de archivo .gitlab-ci.yml que crea y analiza imágenes Docker sería el siguiente.

include:   - template: Jobs/Build.gitlab-ci.yml   - template: Security/Container-Scanning.gitlab-ci.yml container_scanning:   variables:     CS_DEFAULT_BRANCH_IMAGE: $CI_REGISTRY_IMAGE/$CI_DEFAULT_BRANCH:$CI_COMMIT_SHA

3. Personalizar la configuración del análisis de contenedores

GitLab le ofrece opciones para adaptar el análisis de contenedores a sus necesidades, desde ampliar la información de salida y configurar la autenticación con un registro específico hasta obtener resultados más detallados.

Para activar una salida detallada, por ejemplo, edite su archivo .gitlab-ci.yml de este modo:

include:   - template: Security/Container-Scanning.gitlab-ci.yml variables:     SECURE_LOG_LEVEL: 'debug'

4. Analizar una imagen en un registro remoto:

También puede analizar imágenes ubicadas en un registro distinto del registro del proyecto mediante esta configuración:

include:   - template: Security/Container-Scanning.gitlab-ci.yml container_scanning:   variables:     CS_IMAGE: example.com/user/image:tag

Configurar el análisis de contenedores de GitLab es sencillo, tanto mediante solicitudes de fusión automáticas como de forma manual. Con sus herramientas de análisis, GitLab incorpora las comprobaciones de seguridad al flujo de trabajo de los desarrolladores y se convierte en un elemento esencial del desarrollo de software moderno y seguro.

Prácticas recomendadas para el análisis de contenedores de GitLab

1. Actualice periódicamente las herramientas de análisis

Es fundamental mantener actualizadas herramientas como Trivy y Grype. Así detectarán nuevas vulnerabilidades en cuanto aparezcan y seguirán siendo compatibles con los cambios en las distribuciones admitidas. Las actualizaciones periódicas garantizan ambas cosas.

2. Integre el análisis desde el inicio del desarrollo

Cuanto antes incorpore el análisis de contenedores al ciclo de desarrollo, antes podrá identificar y corregir las vulnerabilidades. Al integrar el análisis de contenedores de GitLab en su proceso de integración continua (CI), los análisis se ejecutarán automáticamente con cada envío de código – pasarán a formar parte de su flujo de desarrollo y acelerarán la identificación y corrección de vulnerabilidades.

3. Adapte los análisis a sus necesidades

No todos los proyectos requieren los mismos análisis. Adaptarlos a los requisitos de su proyecto – ya sea ajustando el nivel de detalle, seleccionando registros específicos o definiendo variables – puede acelerar los análisis y mejorar su eficiencia. Use las opciones de personalización del archivo .gitlab-ci.yml para ajustar los análisis con precisión.

4. Revise periódicamente los informes de análisis y actúe en consecuencia

No basta con ejecutar análisis – también debe revisar los hallazgos y abordarlos sin demora. La revisión periódica de los artefactos de los informes de análisis de contenedores, junto con una corrección sistemática, garantiza que las vulnerabilidades se identifiquen y traten rápidamente. Integrar el flujo de corrección en los procesos de desarrollo existentes puede facilitar esta tarea esencial.

Flujo de corrección con el análisis de contenedores de GitLab

El flujo de corrección del análisis de contenedores de GitLab comprende varios pasos para identificar y resolver de forma eficiente y sistemática las vulnerabilidades de las imágenes de contenedores. Un flujo habitual podría ser el siguiente:

  1. Identificar las vulnerabilidades: GitLab ofrece análisis de contenedores y análisis de seguridad con Trivy o Grype. Una vez detectadas las vulnerabilidades, este paso genera un informe detallado de todas ellas.
  2. Analizar los hallazgos: En este paso, revise a fondo los hallazgos de los informes de análisis de contenedores para conocer la gravedad, el tipo y el origen de las vulnerabilidades que requieren atención inmediata. Priorice los problemas urgentes para resolverlos de inmediato.
  3. Priorizar la corrección: A partir de esta evaluación, establezca el orden de prioridad de los problemas. Las vulnerabilidades que suponen una amenaza inmediata para las aplicaciones suelen tener mayor prioridad, aunque también pueden influir factores como el impacto y la facilidad de explotación.
  4. Elaborar un plan de corrección: Tras priorizar las vulnerabilidades, elabore un plan eficaz para abordar cada una. Incluya las medidas necesarias para mitigarlas – por ejemplo, instalar actualizaciones, realizar modificaciones o cambiar directamente partes del código.
  5. Aplicar las correcciones: Con el plan definido, aplique las correcciones mediante solicitudes de fusión de GitLab que modifiquen el código, la configuración o las dependencias afectadas. La colaboración entre desarrolladores, equipos de seguridad y otras partes clave suele ser esencial para completar este proceso.
  6. Comprobar las correcciones: Después de aplicar las correcciones, realice verificaciones adicionales para confirmar que resuelven las vulnerabilidades sin crear nuevos problemas. Analizar de nuevo las imágenes de contenedores o realizar otras pruebas puede confirmar si las medidas eliminaron las vulnerabilidades o crearon brechas de seguridad.
  7. Supervisión y mejora continua: Los procesos de corrección no se completan de la noche a la mañana; la supervisión, el análisis y la revisión continuos garantizan su eficacia. Un enfoque iterativo mantiene esa eficacia a largo plazo.

Ejemplos reales y casos de uso

1. Banca

La seguridad de las aplicaciones bancarias es fundamental. Los métodos tradicionales no siempre detectan las vulnerabilidades a tiempo. Al incorporar GitLab Container Scanning al proceso de CI/CD de estas aplicaciones, las entidades bancarias pueden inspeccionarlas y corregir vulnerabilidades en tiempo real. Así refuerzan la seguridad y fomentan la confianza y el cumplimiento normativo en el sector.

2. Atención sanitaria

Los sistemas sanitarios gestionan datos sensibles que deben protegerse conforme a normas estrictas, pero las comprobaciones manuales suelen ser laboriosas y propensas a errores. Al adoptar GitLab Container Scanning para las evaluaciones de vulnerabilidades e incorporarlo a los procesos continuos de informes de cumplimiento, las organizaciones sanitarias pueden protegerse frente a las brechas y simplificar la elaboración de informes.

3. Startups tecnológicas

Las startups tecnológicas suelen tener dificultades para conciliar el desarrollo rápido con los estándares de seguridad. GitLab Container Scanning integra ambos procesos. El análisis continuo de vulnerabilidades en aplicaciones en contenedores acelera los ciclos de desarrollo sin comprometer la seguridad. Así, las startups pueden innovar con agilidad y mantener una postura de seguridad sólida.

Callout Background Image Gradient

Vea SentinelOne en acción

Descubra cómo la seguridad en la nube basada en IA puede proteger su organización en una demostración individual con un experto en productos SentinelOne.

Conclusión

GitLab Container Scanning se ha convertido en una herramienta valiosa para el desarrollo moderno. Ofrece a las organizaciones una forma sencilla y fiable de detectar rápidamente vulnerabilidades en aplicaciones en contenedores. Al integrarlo en sus procesos de desarrollo, obtienen visibilidad de las vulnerabilidades desde las primeras etapas. Así incorporan la seguridad al desarrollo, reducen los riesgos y refuerzan su postura de seguridad.

GitLab Container Scanning es una parte esencial de una estrategia DevSecOps eficaz y fomenta la mejora continua de la seguridad. Mantiene la seguridad como prioridad mientras las organizaciones innovan, cumplen las normativas, protegen los datos de sus clientes y conservan ciclos de desarrollo ágiles. También responde a distintas necesidades de seguridad en diversos sectores y casos de uso.

"

Preguntas frecuentes sobre GitLab Container Scanning

GitLab Container Scanning analiza las imágenes de sus contenedores en busca de vulnerabilidades durante el proceso de CI/CD. Utiliza analizadores como Trivy para examinar cada capa, desde los paquetes del sistema operativo base hasta las dependencias de la aplicación, antes de que las imágenes lleguen a producción. Actívelo incluyendo la plantilla de CI Container-Scanning de GitLab o mediante una solicitud de fusión con un solo clic.

Los resultados aparecen como artefactos JSON y en la pestaña Security del proceso. Allí se señalan los CVE de riesgo y las versiones del sistema operativo sin soporte.

Detecta CVE conocidos en la imagen base y los paquetes del sistema operativo. Si se habilita esa opción, también detecta fallos en bibliotecas específicas de cada lenguaje, como paquetes de Java o Python. Además, señala los sistemas operativos que han llegado al final de su vida útil y ya no reciben actualizaciones de seguridad. El analizador Trivy consulta fuentes de avisos como NVD, los registros de seguridad de las distribuciones y la base de datos de avisos de GitLab para identificar y clasificar las vulnerabilidades según su puntuación CVSS y la posibilidad de explotarlas.

Añada la plantilla integrada de GitLab a su .gitlab-ci.yml.

include:

  - template: Jobs/Container-Scanning.gitlab-ci.yml

También puede ir a Secure > Security configuration en su proyecto, hacer clic en Configure with a merge request y fusionar la solicitud. Esto incorpora los trabajos necesarios al proceso. Si ya crea su imagen Docker y la envía al registro del proyecto, no necesita escribir scripts adicionales

Cuando termine el proceso, abra Build > Pipelines, elija la ejecución y seleccione la pestaña Security. Allí verá la gravedad de cada hallazgo, su puntuación CVSS, la probabilidad de explotación (EPSS) y las recomendaciones de corrección. El informe de análisis sin procesar (gl-container-scanning-report.json) y un SBOM CycloneDX (gl-sbom-report.cdx.json) están disponibles en Job Artifacts.

Con el plan Ultimate, también verá los resultados directamente en las solicitudes de fusión y un informe consolidado de vulnerabilidades en la rama predeterminada.

Sí. Cada vulnerabilidad incluye una descripción del problema y su impacto, además de medidas de corrección recomendadas, como actualizar paquetes o cambiar la configuración. Con el plan Ultimate, GitLab incluso puede generar parches de corrección automática: solicitudes de fusión que actualizan su Dockerfile o manifiesto de paquetes a versiones corregidas.

Cree un archivo vulnerability-allowlist.yml en la raíz de su repositorio. Incluya los ID de CVE que haya confirmado como falsos positivos, ya sea para todas las imágenes o para imágenes específicas. GitLab excluirá esos CVE de los futuros informes de análisis y los marcará como “Approved” en el registro del trabajo. Así, la pestaña Security se centrará en los riesgos reales sin ocultar problemas auténticos.

Descubra más sobre Seguridad en la nube

Decorative background gradient

Su seguridad en la nube: completamente evaluada en 30 minutos.

Reúnase con un experto de SentinelOne para evaluar su postura de seguridad en la nube en entornos multicloud, descubrir activos en la nube, configuraciones incorrectas, análisis de secretos y priorizar riesgos con Verified Exploit Paths™.
Dark dashboard UI with purple-highlighted nav, summary cards showing 149, 7, 78, 56, 1.2 h, and a status table with linked purple text