下記の手順に従って、Misconfigurations and Vulnerability Management を有効にします。

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

前提条件

  • Datadog Agent の最新バージョン。インストール手順については、Agent の概要を参照するか、Datadog UI から Agent をインストールしてください。

: 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. agentsecurity-agentsystem-probe を含む daemonset.yaml ファイルのすべての Agent コンテナに次の環境変数を追加します。これらの変数は、Misconfigurations and 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 をそのマウントパスに設定してください。

  2. Pod 仕様で 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
    
  3. Agent を再起動します。

: enrichment.usage.enabled: true には Datadog Agent 7.79.0 以降が必要です。要件については、ランタイムパッケージの優先順位付けセクションを参照してください。

: languages アナライザーには、Datadog Agent 7.70 以降が必要です。有効にすると、OS パッケージに加えて、下記のパッケージマネージャーで管理されているアプリケーションライブラリの脆弱性を検出します。analyzers フィールドが省略された場合、Datadog はコンテナイメージの OS パッケージのみをスキャンします。

サポートされているアプリケーションライブラリのパッケージマネージャー

languages アナライザーは、次のパッケージエコシステムを対象としています。

エコシステムパッケージマネージャー/フォーマット
RubyBundler、GemSpec
RustCargo、Rust バイナリ
PHPComposer
JavaJar、Maven (pom.xml)、Gradle ロック、Sbt ロック
JavaScriptnpm (package-lock.json)、Yarn、pnpm、Node パッケージ
.NETNuGet、.NET Core、PackagesProps
PythonPython パッケージ (egg)、pip、Pipenv、Poetry、uv、Conda パッケージ、Conda 環境
GoGo バイナリ、Go モジュール
C/C++Conan ロック
Swift/Objective-CCocoaPods、Swift
DartPubSpec ロック
ElixirMix ロック
JuliaJulia

ランタイムパッケージの優先順位付け (プレビュー)

ランタイムパッケージの優先順位付けにより、コンテナイメージ内のどのパッケージがランタイムで使用されているかが特定されます。これにより、インストールされているが実行されていないパッケージの脆弱性よりも、実際に実行されているコードの脆弱性に優先的に対処できます。

有効にすると、Agent は eBPF を使用してワークロードでのファイルアクセスを監視し、そのイメージの脆弱性検出結果に次のシグナルを追加します。

シグナル内容
Package is runningパッケージのファイルが、実行中のプロセスによってアクセスされていることが確認されました。
Accessed by root processパッケージが、ルート (UID 0) として実行されているプロセスによってアクセスされました。
SUID binary presentパッケージに SUID ビットが設定されたバイナリが含まれています。これは権限昇格を可能にする可能性があります。

Package is running は、Runtime Prioritization EngineReachability ディメンションに反映されます。これらのシグナルを直接クエリするには、ランタイムシグナルによる検出結果のフィルターを参照してください。

要件:

  • Datadog Agent 7.79.0 以降。Kubernetes では、最も完全なシグナルカバレッジを得るために 7.81.0 以降を使用してください。
  • Linux のみ(eBPF 依存関係)。サポートされているディストリビューションとカーネルバージョンについては、Workload Protection のセットアップを参照してください。

ランタイムシグナルは、コンテナイメージの脆弱性の検出結果において、オペレーティングシステムのパッケージマネージャー (aptyum、または apk) によってインストールされたパッケージに適用されます。

datadog-agent.yaml ファイルの sbom セクションに enrichment ブロックを追加します。

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

変更を適用し、Agent を再起動します。

datadog-values.yaml ファイルの sbom セクションに enrichment ブロックを追加します。

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

Agent を再起動します。

Pod 仕様で hostPID: true を設定し、agentsecurity-agentsystem-probe を含む daemonset.yaml ファイルのすべての 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 を再起動します。

セットアップを確認するには、ランタイムシグナルで脆弱性検出結果をフィルタリングします。