Configuración de Cloud Security en Kubernetes
Utilice las siguientes instrucciones para habilitar Misconfigurations y Vulnerability Management.
Collecting events using Cloud Security affects your billing. For more information, see
Datadog Pricing.
Requisitos previos
Nota: La recopilación de SBOM no es compatible con la función de transmisión de imágenes en Google Kubernetes Engine (GKE). Para deshabilitarla, consulte la sección Disable Image streaming de la documentación de GKE.
Instalación
Agregue lo siguiente a la sección spec del archivo datadog-agent.yaml:
# datadog-agent.yaml file
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
features:
# Enables Misconfigurations
cspm:
enabled: true
hostBenchmarks:
enabled: true
# Enables Software Bill of Materials (SBOM) collection
sbom:
enabled: true
# Enables Container Vulnerability Management
containerImage:
enabled: true
# Enables scanning of application libraries in addition to OS packages (Agent 7.70+)
analyzers: ["os", "languages"]
# Enables Host Vulnerability Management
host:
enabled: true
# Enables scanning of application libraries in addition to OS packages (Agent 7.70+)
analyzers: ["os", "languages"]
# Enables runtime package prioritization (Agent 7.79+)
# See Runtime Package Prioritization section below.
enrichment:
usage:
enabled: true
Aplique los cambios y reinicie el Agent.
Agregue lo siguiente a la sección datadog del archivo datadog-values.yaml:
# datadog-values.yaml file
datadog:
securityAgent:
# Enables Misconfigurations
compliance:
enabled: true
host_benchmarks:
enabled: true
# Enables Software Bill of Materials (SBOM) collection
sbom:
# Enables Container Vulnerability Management
containerImage:
enabled: true
# Enables scanning of application libraries in addition to OS packages (Agent 7.70+)
analyzers: ["os", "languages"]
# Enables Host Vulnerability Management
host:
enabled: true
# Enables scanning of application libraries in addition to OS packages (Agent 7.70+)
analyzers: ["os", "languages"]
# Enables runtime package prioritization (Agent 7.79+)
# See Runtime Package Prioritization section below.
enrichment:
usage:
enabled: true
Reinicie el Agent.
Agregue las siguientes variables de entorno a cada contenedor del Agent en el archivo daemonset.yaml, incluyendo agent, security-agent y system-probe. Estas variables habilitan Misconfigurations, Vulnerability Management, el escaneo de imágenes de contenedor basado en montaje y la priorización de paquetes en tiempo de ejecución.
- name: DD_COMPLIANCE_CONFIG_ENABLED
value: "true"
- name: DD_COMPLIANCE_CONFIG_HOST_BENCHMARKS_ENABLED
value: "true"
- name: DD_SBOM_ENABLED
value: "true"
- name: DD_SBOM_CONTAINER_IMAGE_ENABLED
value: "true"
- name: DD_SBOM_HOST_ENABLED
value: "true"
- name: DD_SBOM_CONTAINER_IMAGE_USE_MOUNT
value: "true"
- name: DD_SBOM_ENRICHMENT_USAGE_ENABLED
value: "true"
- name: HOST_ROOT
value: /host/root
Si su DaemonSet monta la raíz del servidor en una ruta diferente, establezca HOST_ROOT en esa ruta de montaje en cada contenedor del Agent.
Establezca hostPID: true en la especificación del pod y agregue el siguiente securityContext al contenedor agent. Estos ajustes son necesarios para el escaneo de imágenes de contenedor basado en montaje con DD_SBOM_CONTAINER_IMAGE_USE_MOUNT=true.
# Source: datadog/templates/daemonset.yaml
apiVersion: apps/v1
kind: DaemonSet
[...]
spec:
[...]
template:
[...]
spec:
hostPID: true
containers:
[...]
- name: agent
[...]
securityContext:
capabilities:
add:
- SYS_ADMIN
readOnlyRootFilesystem: true
appArmorProfile:
type: Unconfined
Reinicie el Agent.
Nota: enrichment.usage.enabled: true requiere Datadog Agent 7.79.0 o posterior. Consulte la sección Runtime Package Prioritization para conocer los requisitos.
Nota: El languages analizador requiere Datadog Agent 7.70 o posterior. Cuando está habilitado, detecta vulnerabilidades en las bibliotecas de aplicaciones administradas por los administradores de paquetes a continuación, además de los paquetes del sistema operativo. Cuando se omite el campo analyzers, Datadog solo escanea los paquetes del SO para las imágenes de contenedor.
Administradores de paquetes de bibliotecas de aplicaciones compatibles
El analizador languages cubre los siguientes ecosistemas de paquetes:
| Ecosistema | Gestor/formato de paquetes |
|---|
| Ruby | Bundler, GemSpec |
| Rust | Cargo, el binario de Rust |
| PHP | Composer |
| Java | Jar, Maven (pom.xml), bloqueo de Gradle, bloqueo de Sbt |
| JavaScript | npm (package-lock.json), Yarn, pnpm, paquete de Node |
| .NET | NuGet, .NET Core, PackagesProps |
| Python | Paquete de Python (egg), pip, Pipenv, Poetry, uv, paquete de Conda, entorno de Conda |
| Go | Go binario, módulos de Go |
| C/C++ | Bloqueo de Conan |
| Swift / Objective-C | CocoaPods, Swift |
| Dart | Bloqueo de PubSpec |
| Elixir | Bloqueo de Mix |
| Julia | Julia |
Runtime Package Prioritization
Runtime Package Prioritization identifica qué paquetes en una imagen de contenedor se utilizan durante la ejecución, para que pueda priorizar las vulnerabilidades en el código que se ejecuta sobre las vulnerabilidades en paquetes que están instalados pero nunca se ejecutan.
Cuando está habilitado, el Agent utiliza eBPF para observar el acceso a archivos en sus cargas de trabajo y agrega estas señales a los hallazgos de vulnerabilidades para esa imagen:
| Señal | Qué le indica |
|---|
| El paquete se está ejecutando | Se observó que los archivos del paquete fueron accedidos por un proceso en ejecución. |
| Accedido por proceso raíz | El paquete fue accedido por un proceso que se ejecuta como raíz (UID 0). |
| Binario SUID presente | El paquete contiene un binario con el bit SUID establecido, lo que puede permitir la escalada de privilegios. |
El paquete se está ejecutando alimenta la dimensión de Reachability del Runtime Prioritization Engine. Para consultar estas señales directamente, consulte Filtrar hallazgos por señales de tiempo de ejecución.
Requisitos:
- Datadog Agent 7.79.0 o superior. En Kubernetes, utilice 7.81.0 o superior para obtener la cobertura de señales más completa.
- Solo Linux (dependencia de eBPF). Consulte Workload Protection setup para conocer las distribuciones y versiones de kernel compatibles.
Las señales de tiempo de ejecución se aplican a los paquetes instalados por un administrador de paquetes del sistema operativo (apt, yum o apk) en los hallazgos de vulnerabilidades de imágenes de contenedor.
Agregue el bloque enrichment a la sección sbom de su archivo datadog-agent.yaml:
spec:
features:
sbom:
enabled: true
containerImage:
enabled: true
# Enables runtime package prioritization (Agent 7.79+)
enrichment:
usage:
enabled: true
Aplique los cambios y reinicie el Agent.
Agregue el bloque enrichment a la sección sbom de su archivo datadog-values.yaml:
datadog:
sbom:
containerImage:
enabled: true
# Enables runtime package prioritization (Agent 7.79+)
enrichment:
usage:
enabled: true
Reinicie el Agent.
Establezca hostPID: true en la especificación del pod y agregue las siguientes variables de entorno a cada contenedor del Agent en su archivo daemonset.yaml, incluidos agent, security-agent y system-probe:
# Pod spec
hostPID: true
# Add to each Agent container's env section.
- name: DD_SBOM_ENABLED
value: "true"
- name: DD_SBOM_CONTAINER_IMAGE_ENABLED
value: "true"
- name: DD_SBOM_ENRICHMENT_USAGE_ENABLED
value: "true"
Reinicie el Agent.
Para verificar la configuración, filtre los hallazgos de vulnerabilidades por señales de tiempo de ejecución.