Requisitos previos

Antes de configurar Software Composition Analysis, asegúrate de que se cumplen los siguientes requisitos previos:

  1. Instalación del Datadog Agent: el Datadog Agent se instala y configura para el sistema operativo de tu aplicación o contenedor, nube o entorno virtual.
  2. Configuración de Datadog APM: Datadog APM está configurado para tu aplicación o servicio, y Datadog recibe las trazas (traces) web (type:web).
  3. Biblioteca de rastreo compatible: la biblioteca de rastreo de Datadog utilizada por tu aplicación o servicio es compatible con las funciones de Software Composition Analysis para el lenguaje de tu aplicación o servicio. Para ver más detalles, consulta la página Compatibilidad de bibliotecas de cada producto de ASM.

Tipos de activación para Software Composition Analysis

Guía de inicio rápido

  1. Ve a la Guía de inicio rápido:
    1. Expande Enable Vulnerability Detection (Habilitar la detección de vulnerabilidades).
    2. Selecciona Open source vulnerabilities (Abrir vulnerabilidades fuente).
    3. Selecciona Start Activation (Iniciar activación).
    4. Selecciona los servicios en los que quieres identificar vulnerabilidades de biblioteca y luego haz clic en Next (Siguiente).
    5. Selecciona Enable for Selected Services (Habilitar servicios seleccionados).

Página de configuración

Alternativamente, puedes activar Software Composition Analysis en la página Settings (Configuración).

  1. Ve a la página Settings (Configuración) y selecciona Get Started (Iniciar) en Software Composition Analysis (SCA).
  2. Para el análisis estático en código fuente, selecciona Select Repositories (Seleccionar repositorios).
  3. Selecciona Add Github Account (Añadir cuenta de Github) y sigue las instrucciones para crear una nueva aplicación de GitHub.
  4. Una vez configurada la cuenta de GitHub, selecciona Select Repositories (Seleccionar repositorios) y activa Software Composition Analysis (SCA).
  5. Para el análisis en tiempo de ejecución en servicios, haz clic en Select Services (Seleccionar servicios).
  6. Selecciona los servicios en los que quieres identificar vulnerabilidades de biblioteca y luego haz clic en Next (Siguiente).
  7. Selecciona Enable for Selected Services (Habilitar servicios seleccionados).

Bibliotecas de rastreo de Datadog

Añade una variable de entorno o un nuevo argumento para configurar tu biblioteca de rastreo de Datadog.

Siguiendo estos pasos, podrás configurar con éxito Software Composition Analysis en tu aplicación, para garantizar una exhaustiva monitorización e identificación de vulnerabilidades en las bibliotecas de código abierto utilizadas por tus aplicaciones o servicios.

Puedes utilizar Datadog Software Composition Analysis (SCA) para monitorizar bibliotecas de código abierto en tus aplicaciones.

SCA se configura definiendo la marca -Ddd.appsec.sca.enabled o la variable de entorno DD_APPSEC_SCA_ENABLED en true en los lenguajes compatibles:

  • Java
  • .NET
  • Go
  • Ruby
  • PHP
  • Node.js
  • Python

Este tema explica cómo configurar SCA utilizando un ejemplo de Java.

Ejemplo: habilitación de Software Composition Analysis en Java

  1. Actualiza la biblioteca Java de Datadog al menos a la versión 0.94.0 (o a la versión 1.1.4 para las funciones de detección de Software Composition Analysis):

    wget -O dd-java-agent.jar 'https://dtdg.co/latest-java-tracer'
    
    curl -Lo dd-java-agent.jar 'https://dtdg.co/latest-java-tracer'
    
    ADD 'https://dtdg.co/latest-java-tracer' dd-java-agent.jar
    
    Para verificar que las versiones del lenguaje y del marco del servicio son compatibles con las funciones de ASM, consulta Compatibilidad.

  2. Ejecuta tu aplicación Java con SCA activado. Desde la línea de comandos:

    java -javaagent:/path/to/dd-java-agent.jar -Ddd.appsec.sca.enabled=true -Ddd.service=<MY SERVICE> -Ddd.env=<MY_ENV> -jar path/to/app.jar
    

    O uno de los siguientes métodos, dependiendo de dónde se ejecute la aplicación:

    Nota: Los sistemas de archivos de sólo lectura no son compatibles en este momento. La aplicación debe tener acceso a un directorio /tmp en el que se pueda escribir.

    Actualiza tu contenedor de configuración para APM añadiendo el siguiente argumento en tu comando docker run:

    docker run [...] -e DD_APPSEC_SCA_ENABLED=true [...]
    

    Añade el siguiente valor de variable de entorno a tu contenedor Dockerfile:

    ENV DD_APPSEC_SCA_ENABLED=true
    

    Actualiza tu archivo de configuración del despliegue para APM y añade la variable de entorno de SCA:

    spec:
      template:
        spec:
          containers:
            - name: <CONTAINER_NAME>
              image: <CONTAINER_IMAGE>/<TAG>
              env:
                - name: DD_APPSEC_SCA_ENABLED
                  value: "true"
    

    Actualiza tu archivo JSON de definición de tarea de ECS añadiendo esto en la sección de entorno:

    "environment": [
      ...,
      {
        "name": "DD_APPSEC_SCA_ENABLED",
        "value": "true"
      }
    ]
    

    Define la marca -Ddd.appsec.sca.enabled o la variable de entorno DD_APPSEC_SCA_ENABLED como true en la invocación de tu servicio:

    java -javaagent:dd-java-agent.jar \
         -Ddd.appsec.sca.enabled=true \
         -jar <YOUR_SERVICE>.jar \
         <YOUR_SERVICE_FLAGS>
    

Referencias adicionales

PREVIEWING: dgreen15/github-error-fix