Configuración de Software Composition Analysis
Requisitos previos
Antes de configurar Software Composition Analysis, asegúrate de que se cumplen los siguientes requisitos previos:
- 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.
- Configuración de Datadog APM: Datadog APM está configurado para tu aplicación o servicio, y Datadog recibe las trazas (traces) web (
type:web
). - 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
- Ve a la Guía de inicio rápido:
- Expande Enable Vulnerability Detection (Habilitar la detección de vulnerabilidades).
- Selecciona Open source vulnerabilities (Abrir vulnerabilidades fuente).
- Selecciona Start Activation (Iniciar activación).
- Selecciona los servicios en los que quieres identificar vulnerabilidades de biblioteca y luego haz clic en Next (Siguiente).
- 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).
- Ve a la página Settings (Configuración) y selecciona Get Started (Iniciar) en Software Composition Analysis (SCA).
- Para el análisis estático en código fuente, selecciona Select Repositories (Seleccionar repositorios).
- Selecciona Add Github Account (Añadir cuenta de Github) y sigue las instrucciones para crear una nueva aplicación de GitHub.
- Una vez configurada la cuenta de GitHub, selecciona Select Repositories (Seleccionar repositorios) y activa Software Composition Analysis (SCA).
- Para el análisis en tiempo de ejecución en servicios, haz clic en Select Services (Seleccionar servicios).
- Selecciona los servicios en los que quieres identificar vulnerabilidades de biblioteca y luego haz clic en Next (Siguiente).
- 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
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.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
Más enlaces, artículos y documentación útiles: