dd-audit-security-investigation について
`pup audit-logs`を使って調査する、Datadog監査ログ向けのセキュリティ調査スキルです。ユーザー操作、アクセス変更、ログイン、異常の確認に役立ちます。
主な機能
- 01ユーザー、リソース、IP、イベントで監査ログを検索
- 02リソースの削除や変更を調査
- 03ログインとアクセス権の変更を確認
- 04地理情報や行動の異常を検出
活用シーン
- 01指定期間にリソースを削除した人物の特定
- 02ユーザー操作やリソース履歴の確認
- 03ログイン失敗や見慣れない場所からの操作の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ datadog-labs/ agent-skills --skill dd-audit-security-investigationインストール後、Claude Code で/dd-audit-security-investigationを入力して読み込まれたか確認します。
詳細
監査証跡:セキュリティ調査
pup audit-logs を使用して、セキュリティ調査でよくある質問に回答します。
前提条件
pup auth login # OAuth2 (recommended)
# or set DD_API_KEY + DD_APP_KEY with audit_logs_read scope
コマンドの実行順序
- 調査範囲を明確にします。対象者、リソースタイプ、期間を確認します。
- まず最も具体的なクエリを実行し、結果がない場合にのみ範囲を広げます。
- 結果が大量にある場合は、
jqにパイプしてグループ化または要約します。 - 異常を確認します。一括操作、通常と異なる地域、時間外のアクティビティ、サポートユーザーによる操作などです。
よくある調査クエリ
期間内にリソースを削除したのは誰ですか?
pup audit-logs search --query "@action:deleted" --from 24h -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
actor_type: .attributes.attributes.evt.actor.type,
resource_type: .attributes.attributes.asset.type,
resource_id: .attributes.attributes.asset.id,
country: .attributes.attributes.network.client.geoip.country.name
}]'
特定のリソース(ID 指定)を変更したのは誰ですか?
pup audit-logs search --query "@asset.id:RESOURCE_ID" --from 7d -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
action: .attributes.attributes.action,
event: .attributes.attributes.evt.name
}]'
特定のユーザーは何をしましたか?
pup audit-logs search --query "@usr.email:[email protected]" --from 7d --limit 200 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
action: .attributes.attributes.action,
event: .attributes.attributes.evt.name,
resource_type: .attributes.attributes.asset.type,
resource_id: .attributes.attributes.asset.id,
ip: .attributes.attributes.network.client.ip,
country: .attributes.attributes.network.client.geoip.country.name
}]'
ログインアクティビティ — 地域情報付きのすべてのログイン
pup audit-logs search --query "@evt.name:Authentication @action:login" --from 7d --limit 200 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
status: .attributes.attributes.status,
ip: .attributes.attributes.network.client.ip,
city: .attributes.attributes.network.client.geoip.city.name,
country: .attributes.attributes.network.client.geoip.country.name,
asn: .attributes.attributes.network.client.geoip.as.name
}]'
失敗したログインのみ
pup audit-logs search --query "@evt.name:Authentication @action:login @status:error" --from 7d --limit 200 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
ip: .attributes.attributes.network.client.ip,
country: .attributes.attributes.network.client.geoip.country.name
}]'
ロールまたは権限を変更したのは誰ですか?
pup audit-logs search --query "@evt.name:\"Access Management\"" --from 30d --limit 200 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
action: .attributes.attributes.action,
resource_type: .attributes.attributes.asset.type,
resource_id: .attributes.attributes.asset.id
}]'
特定の IP から行われた操作は何ですか?
pup audit-logs search --query "@network.client.ip:1.2.3.4" --from 30d --limit 200 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
actor_type: .attributes.attributes.evt.actor.type,
action: .attributes.attributes.action,
event: .attributes.attributes.evt.name,
resource_type: .attributes.attributes.asset.type
}]'
API キーを作成または削除したのは誰ですか?
pup audit-logs search --query "@evt.name:Authentication @asset.type:api_key" --from 90d --limit 200 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
action: .attributes.attributes.action,
key_id: .attributes.attributes.asset.id,
ip: .attributes.attributes.network.client.ip,
country: .attributes.attributes.network.client.geoip.country.name
}]'
イベントカテゴリのリファレンス
カテゴリ(@evt.name) | 対象となる内容 |
|---|---|
Authentication | ログイン、API キーの作成/削除/変更 |
Access Management | ロール、ユーザーの追加/削除、制限ポリシー |
Dashboard | 作成、変更、削除、共有 |
Monitor | 作成、変更、削除、解決 |
Log Management | パイプライン、インデックス、アーカイブ、除外フィルター |
Integration | インテグレーションの追加/変更/削除 |
Metrics | カスタムメトリクスの作成/変更/削除 |
Organization Management | 子組織の作成、組織設定 |
Notebook | 作成、変更、削除 |
APM | 保持フィルター、サンプリング設定 |
Cloud Security Platform | CWS ルール、セキュリティシグナルの状態変更 |
Bits AI SRE | MCP ツール呼び出し、AI による調査 |
表面化させるべき異常のフラグ
調査結果を提示する際は、以下を明示してください。
- アクタータイプが
SUPPORT_USER— Datadog サポートが組織にアクセスしました - 一括削除 — 短時間のうちに、同じユーザーが同じ操作で多数のリソースを削除しました
- 予期しない地域 — そのユーザーの過去のログインでは確認されていない国からのアクセスです
- 時間外のアクティビティ — ユーザーの通常のタイムゾーンでは不自然な時間帯の操作です
- 初めて確認された ASN — これまで確認されていないクラウドプロバイダーまたは VPN からの操作です(
@network.client.geoip.as.name)
参考資料
コメント
Markdown 対応