다음 지침을 따라 잘못된 구성 및 Vulnerability Management를 활성화하세요.

Collecting events using Cloud Security affects your billing. For more information, see Datadog Pricing.

전제 조건

참고: SBOM 수집은 Google Kubernetes Engine(GKE)의 이미지 스트리밍 기능과 호환되지 않습니다. 비활성화하려면 GKE 설명서의 이미지 스트리밍 비활성화 섹션을 참조하세요.

설치

  1. datadog-agent.yaml 파일의 spec 섹션에 다음을 추가합니다.

    # 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 (Preview, Agent 7.79+)
          # See Runtime Package Prioritization section below.
          enrichment:
            usage:
              enabled: true
    
  2. 변경 사항을 적용하고 Agent를 재시작합니다.

  1. datadog-values.yaml 파일의 datadog 섹션에 다음을 추가합니다.

    # 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 (Preview, Agent 7.79+)
        # See Runtime Package Prioritization section below.
        enrichment:
          usage:
            enabled: true
    
  2. Agent를 재시작합니다.

  1. daemonset.yaml 파일의 모든 Agent 컨테이너(agent, security-agentsystem-probe 포함)에 다음 환경 변수를 추가합니다. 이 변수들은 구성 오류, Vulnerability Management, 마운트 기반 컨테이너 이미지 스캔 및 런타임 패키지 우선순위 지정을 활성화합니다.

    - 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
    

DaemonSet이 호스트 루트를 다른 경로에 마운트하는 경우, 각 Agent 컨테이너에서 HOST_ROOT를 해당 마운트 경로로 설정하세요.

  1. 포드 사양에서 hostPID: true를 설정하고, agent 컨테이너에 다음 securityContext를 추가합니다. 이 설정들은 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
    
  2. Agent를 재시작합니다.

참고: enrichment.usage.enabled: true는 Datadog Agent 7.79.0 이상이 필요합니다. 요구 사항은 런타임 패키지 우선순위 섹션을 참조하세요.

참고: languages 분석기는 Datadog Agent 7.70 이상이 필요합니다. 활성화되면 OS 패키지 외에도 아래 패키지 관리자가 관리하는 애플리케이션 라이브러리의 취약점도 탐지합니다. analyzers 필드가 생략되면 Datadog은 컨테이너 이미지의 OS 패키지만 스캔합니다.

지원되는 애플리케이션 라이브러리 패키지 관리자

languages 분석기는 다음 패키지 에코시스템을 다룹니다.

에코시스템패키지 관리자/형식
RubyBundler, GemSpec
RustCargo, Rust binary
PHPComposer
JavaJar, Maven (pom.xml), Gradle lock, Sbt lock
JavaScriptnpm (package-lock.json), Yarn, pnpm, Node package
.NETNuGet, .NET Core, PackagesProps
PythonPython package (egg), pip, Pipenv, Poetry, uv, Conda package, Conda environment
GoGo binary, Go modules
C/C++Conan lock
Swift / Objective-CCocoaPods, Swift
DartPubSpec lock
ElixirMix lock
JuliaJulia

런타임 패키지 우선순위(미리 보기)

런타임 패키지 우선순위 지정은 컨테이너 이미지 내에서 어떤 패키지가 런타임에 사용되는지 식별하여, 설치되었지만 실행되지 않는 패키지보다 실제로 실행되는 코드의 취약점을 우선적으로 처리할 수 있도록 합니다.

활성화되면 Agent는 eBPF를 사용하여 워크로드의 파일 액세스를 관찰하고, 이러한 신호를 해당 이미지의 취약점 결과에 추가합니다.

신호제공 정보
패키지 실행 중실행 중인 프로세스가 패키지 파일에 액세스하는 것이 관찰되었습니다.
루트 프로세스에 의해 액세스됨패키지가 루트(UID 0)로 실행 중인 프로세스에 의해 액세스되었습니다.
SUID 바이너리 존재패키지에 SUID 비트가 설정된 바이너리가 포함되어 있어 권한 상승이 가능할 수 있습니다.

*“패키지 실행 중”*은 Runtime Prioritization EngineReachability 차원에 데이터를 제공합니다. 이 신호를 직접 쿼리하려면 런타임 신호별 결과 필터링을 참조하세요.

요구 사항:

  • Datadog Agent 7.79.0 이상. Kubernetes의 경우, 가장 완벽한 신호 적용 범위를 확보하려면 7.81.0 이상을 사용하세요.
  • Linux 전용(eBPF 종속성). 지원되는 배포판 및 커널 버전은 Workload Protection 설정을 참조하세요.

런타임 신호는 컨테이너 이미지 취약점 탐지 결과에서 운영 체제 패키지 관리자(apt, yum 또는 apk)를 통해 설치된 패키지에 적용됩니다.

enrichment 블록을 datadog-agent.yaml 파일의 sbom 섹션에 추가하세요.

spec:
  features:
    sbom:
      enabled: true
      containerImage:
        enabled: true
      # Enables runtime package prioritization (Preview, Agent 7.79+)
      enrichment:
        usage:
          enabled: true

변경 사항을 적용하고 Agent를 재시작하세요.

enrichment 블록을 datadog-values.yaml 파일의 sbom 섹션에 추가하세요.

datadog:
  sbom:
    containerImage:
      enabled: true
    # Enables runtime package prioritization (Preview, Agent 7.79+)
    enrichment:
      usage:
        enabled: true

Agent를 재시작하세요

포드 사양에서 hostPID: true를 설정하고, daemonset.yaml 파일에서 agent, security-agentsystem-probe를 비롯한 모든 Agent 컨테이너에 다음 환경 변수를 추가하세요.

# 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"

Agent를 재시작하세요

설정을 확인하려면 런타임 신호별로 취약점 결과를 필터링하세요.