- 重要な情報
- はじめに
- 用語集
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Cloud Workload Security (CWS) は、環境全体のファイル、ネットワーク、プロセスアクティビティを監視し、インフラストラクチャーに対する脅威をリアルタイムで検出します。Datadog プラットフォームの一部として、CWS のリアルタイム脅威検出をメトリクス、ログ、トレース、その他のテレメトリーと組み合わせることで、ワークロードに対する潜在的な攻撃を取り巻く完全なコンテキストを確認することができます。
一般的に、CWS のインストールは以下の手順で行います。
リモート構成は、インフラストラクチャーにデプロイされた Datadog リソースの動作をリモートで構成することができる Datadog の機能です。CWS の場合、リモート構成を有効にすると、新しい Agent ルールや更新された Agent ルールがリリースされると自動的に受け取ることができます。
CWS でリモート構成を使用するには、新規または既存の API キーにリモート構成スコープを追加し、Datadog Agent の構成を更新します。詳しくは、リモート構成の設定手順を参照してください。
注:
Datadog アプリのアプリ内の説明に従えば、デプロイ構成に合わせたステップバイステップの説明などによって、最高の体験を実現できます。
まだインストールしていない場合は、Datadog Agent をインストールします。
values.yaml
ファイルの datadog
セクションに以下を追加します。
# values.yaml file
datadog:
remoteConfiguration:
enabled: true
securityAgent:
runtime:
enabled: true
Agent を再起動します。
Cloud SIEM がチェックされている場合、オプションとなります こちらの手順に従って、Kubernetes の監査ログを収集します。
まだインストールしていない場合は、Datadog Agent をインストールします。
values.yaml
ファイルの datadog
セクションに以下を追加します。
# values.yaml file
spec:
features:
cws:
enabled: true
その他の構成オプションについては、Datadog Operator ドキュメントを参照してください。
Agent を再起動します。
Docker 環境でランタイムセキュリティ Agent と system-probe
を起動するには、次のコマンドを使用します。
docker-runtime-security.sh
docker run -d --name dd-agent \
--cgroupns host \
--pid host \
--security-opt apparmor:unconfined \
--cap-add SYS_ADMIN \
--cap-add SYS_RESOURCE \
--cap-add SYS_PTRACE \
--cap-add NET_ADMIN \
--cap-add NET_BROADCAST \
--cap-add NET_RAW \
--cap-add IPC_LOCK \
--cap-add CHOWN \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
-v /etc/passwd:/etc/passwd:ro \
-v /etc/group:/etc/group:ro \
-v /:/host/root:ro \
-v /sys/kernel/debug:/sys/kernel/debug \
-v /etc/os-release:/etc/os-release \
-e DD_RUNTIME_SECURITY_CONFIG_ENABLED=true \
-e DD_RUNTIME_SECURITY_CONFIG_NETWORK_ENABLED=true \ # CWS ネットワークイベントの収集を可能にするため
-e DD_RUNTIME_SECURITY_CONFIG_REMOTE_CONFIGURATION_ENABLED=true \
-e HOST_ROOT=/host/root \
-e DD_API_KEY=<API KEY> \
gcr.io/datadoghq/agent:7
daemonset.yaml
ファイルの security-agent
と system-probe
の env
セクションに、以下の設定を追加します。
# ソース: datadog/templates/daemonset.yaml
apiVersion:app/1
kind: DaemonSet
[...]
spec:
[...]
spec:
[...]
containers:
[...]
- name: agent
[...]
env:
- name: DD_REMOTE_CONFIGURATION_ENABLED
value: "true"
- name: system-probe
[...]
env:
- name: DD_RUNTIME_SECURITY_CONFIG_ENABLED
value: "true"
- name: DD_RUNTIME_SECURITY_CONFIG_REMOTE_CONFIGURATION_ENABLED
value: "true" [...]
パッケージベースのデプロイの場合、Datadog パッケージをデプロイする必要があります。パッケージマネージャーでパッケージをインストールし、datadog.yaml
、security-agent.yaml
、system-probe.yaml
ファイルを更新します。
デフォルトでは、ランタイムセキュリティは無効になっています。有効にするには、security-agent.yaml
と system-probe.yaml
ファイルの両方を更新する必要があります。
# /etc/datadog-agent/datadog.yaml ファイル
remote_configuration:
## @param 有効 - ブール値 - オプション - デフォルト: false
## リモート構成を有効にする場合は true に設定します。
enabled: true
# /etc/datadog-agent/security-agent.yaml ファイル
runtime_security_config:
## @param 有効 - ブール値 - オプション - デフォルト: false
## Cloud Workload Security を完全に有効にする場合は true に設定します。
enabled: true
# /etc/datadog-agent/system-probe.yaml ファイル
runtime_security_config:
## @param 有効 - ブール値 - オプション - デフォルト: false
## Cloud Workload Security を完全に有効にする場合は true に設定します。
enabled: true
remote_configuration:
## @param 有効 - ブール値 - オプション - デフォルト: false
## [Datadog Agent] バージョン 7.42 のみ、リモート構成を有効にする場合
enabled: true
複数の Docker コンテナを持つ Amazon Elastic Beanstalk 環境で、Runtime Security Agent と system-probe
を起動するには、次のデプロイを使用します。
{
"AWSEBDockerrunVersion": 2,
"volumes": [
{
"name": "docker_sock",
"host": {
"sourcePath": "/var/run/docker.sock"
}
},
{
"name": "proc",
"host": {
"sourcePath": "/proc/"
}
},
{
"name": "cgroup",
"host": {
"sourcePath": "/cgroup/"
}
},
{
"name": "debug",
"host": {
"sourcePath": "/sys/kernel/debug"
}
},
{
"name": "os_release",
"host": {
"sourcePath": "/etc/os-release"
}
},
{
"name": "etc_passwd",
"host": {
"sourcePath": "/etc/passwd"
}
},
{
"name": "etc_group",
"host": {
"sourcePath": "/etc/group"
}
}
],
"containerDefinitions": [
{
"image": "gcr.io/datadoghq/agent:7",
"environment": [
{
"name": "DD_API_KEY",
"value": "<YOUR_DD_API_KEY>"
},
{
"name": "DD_SITE",
"value": "<YOUR_DD_SITE>"
},
{
"name": "DD_TAGS",
"value": "<SIMPLE_TAG>, <KEY:VALUE_TAG>"
},
{
"name": "DD_RUNTIME_SECURITY_CONFIG_ENABLED",
"value": "true"
},
{
"name": "DD_REMOTE_CONFIGURATION_ENABLED",
"value": "true"
},
{
"name": "DD_RUNTIME_SECURITY_CONFIG_REMOTE_CONFIGURATION_ENABLED",
"value": "true"
}
],
"memory": 256,
"dockerSecurityOptions": ["apparmor:unconfined"],
"linuxParameters": {
"capabilities": {
"add": [
"SYS_ADMIN",
"SYS_RESOURCE",
"SYS_PTRACE",
"NET_ADMIN",
"NET_BROADCAST",
"NET_RAW",
"IPC_LOCK",
"CHOWN"
]
}
},
"mountPoints": [
{
"sourceVolume": "docker_sock",
"containerPath": "/var/run/docker.sock",
"readOnly": false
},
{
"sourceVolume": "proc",
"containerPath": "/host/proc",
"readOnly": true
},
{
"sourceVolume": "cgroup",
"containerPath": "/host/sys/fs/cgroup",
"readOnly": true
},
{
"containerPath": "/sys/kernel/debug",
"sourceVolume": "debug"
},
{
"sourceVolume": "os_release",
"containerPath": "/host/etc/os-release",
"readOnly": false
},
{
"sourceVolume": "etc_passwd",
"containerPath": "/etc/passwd",
"readOnly": false
},
{
"sourceVolume": "etc_group",
"containerPath": "/etc/group",
"readOnly": false
}
]
}
]
}