kibana-audit
Kibanaの保存オブジェクトへのアクセス、ログイン、スペース操作に関する監査ログを有効化・設定します。Kibanaの監査設定を行う際や、イベントのフィルタリング、KibanaとElasticsearchの監査ログを突き合わせて分析する場合に使用します。
description の原文を見る
> Enable and configure Kibana audit logging for saved object access, logins, and space operations. Use when setting up Kibana audit, filtering events, or correlating Kibana and ES audit logs.
SKILL.md 本文
Kibana 監査ログ
kibana.yml 経由で Kibana の監査ログを有効にして設定します。Kibana 監査ログは、Elasticsearch が認識しないアプリケーション層のセキュリティイベント(保存されたオブジェクトの CRUD、ダッシュボード、ビジュアライゼーション、インデックスパターン、ルール、ケース)、ログイン・ログアウト、セッション期限切れ、スペース操作、Kibana レベルの RBAC 強制実行をカバーしています。
Elasticsearch 監査ログ(認証失敗、アクセス許可・拒否、セキュリティ設定の変更)については、elasticsearch-audit を参照してください。認証および API キー管理については、elasticsearch-authn を参照してください。ロールおよびユーザー管理については、elasticsearch-authz を参照してください。
詳細なイベントタイプ、スキーマ、相関クエリについては、
references/api-reference.md を参照してください。
デプロイメント注: Kibana 監査設定はデプロイメントタイプ間で異なります。詳細については デプロイメント互換性 を参照してください。
実現すること
- Kibana 監査ログを有効または無効にする
- 監査ログ出力を設定する(ローリングファイル、コンソール)
- ノイズの多いイベントをフィルタリングする(例:
saved_object_find) - 保存されたオブジェクトのアクセスまたは削除イベントを調査する
- Kibana ログイン・ログアウトおよびセッションアクティビティを追跡する
- スペースの作成、変更、削除を監視する
trace.id経由で Kibana 監査イベントと Elasticsearch 監査ログを相関させる- Kibana 監査ログを Elasticsearch に送信してクエリを統合する
前提条件
| 項目 | 説明 |
|---|---|
| Kibana アクセス | kibana.yml へのファイルシステムアクセス(自管理)または Cloud コンソールアクセス(ECH) |
| ライセンス | 監査ログには gold、platinum、enterprise、またはトライアルライセンスが必要です |
| Elasticsearch URL | .security-audit-* に対する相関クエリのためのクラスタエンドポイント |
ユーザーに不足している値の入力を促してください。
Kibana 監査ログを有効にする
Kibana 監査は kibana.yml で静的に設定されます(API 経由ではありません)。変更後には Kibana を再起動する必要があります。
xpack.security.audit.enabled: true
xpack.security.audit.appender:
type: rolling-file
fileName: /path/to/kibana/data/audit.log
policy:
type: time-interval
interval: 24h
strategy:
type: numeric
max: 10
無効にするには、xpack.security.audit.enabled を false に設定して Kibana を再起動します。
アペンダータイプ
| タイプ | 説明 |
|---|---|
rolling-file | ローテーションポリシーでファイルに書き込みます。推奨されています。 |
console | stdout に書き込みます。コンテナ化されたデプロイメントに便利です。 |
イベントタイプ
Kibana 監査イベントは ECS 形式を使用し、ES 監査と同じコアフィールド(event.action、event.outcome、user.name、
trace.id、@timestamp)を持ち、kibana.saved_object.type、kibana.saved_object.id、kibana.space_id などの Kibana 固有フィールドを追加しています。
主要なイベントアクション:
| イベントアクション | 説明 | カテゴリ |
|---|---|---|
saved_object_create | 保存されたオブジェクトが作成されました | database |
saved_object_get | 保存されたオブジェクトが読み込まれました | database |
saved_object_update | 保存されたオブジェクトが更新されました | database |
saved_object_delete | 保存されたオブジェクトが削除されました | database |
saved_object_find | 保存されたオブジェクト検索が実行されました | database |
saved_object_open_point_in_time | 保存されたオブジェクトで PIT が開かれました | database |
saved_object_close_point_in_time | 保存されたオブジェクトで PIT が閉じられました | database |
saved_object_resolve | 保存されたオブジェクトが解決されました(エイリアスリダイレクト) | database |
login | ユーザーがログインしました(成功または失敗) | authentication |
logout | ユーザーがログアウトしました | authentication |
session_cleanup | 期限切れセッションがクリーンアップされました | authentication |
access_agreement_acknowledged | ユーザーがアクセス契約に同意しました | authentication |
space_create | Kibana スペースが作成されました | web |
space_update | Kibana スペースが更新されました | web |
space_delete | Kibana スペースが削除されました | web |
space_get | Kibana スペースが取得されました | web |
完全なイベントスキーマについては references/api-reference.md を参照してください。
フィルターポリシー
kibana.yml の ignore_filters を使用してノイズの多いイベントを抑制します:
xpack.security.audit.ignore_filters:
- actions: [saved_object_find]
categories: [database]
| フィルターフィールド | タイプ | 説明 |
|---|---|---|
actions | list | 無視するイベントアクション |
categories | list | 無視するイベントカテゴリ |
単一のフィルターエントリ内で指定されたすべてのフィールドに一致する場合、イベントはフィルタリングされます。
Elasticsearch 監査ログとの相関
Kibana が Elasticsearch にリクエストを送信する際、ユーザーの代わりに、両システムは同じ trace.id(X-Opaque-Id ヘッダー経由で渡される)を記録します。これは 2 つの監査ログ間でイベントを相関させるための主キーです。
前提条件: Elasticsearch 監査をクラスタ設定 API 経由で有効にする必要があります。セットアップ手順、イベントタイプ、ES 固有のフィルターポリシーについては、elasticsearch-audit スキルを参照してください。
相関ワークフロー
- Kibana 監査ログで疑わしいイベントを見つけます。
- その
trace.id値を抽出します。 - ES 監査インデックス(
.security-audit-*)で同じtrace.idを持つすべてのイベントを検索します。 - 結合されたタイムラインを確認して、Kibana アクションがトリガーした ES レベルの操作を理解します。
elasticsearch-audit スキルでも ES 監査イベントから始めて元の Kibana アクションを探す場合のワークフローが説明されています。
trace ID で ES 監査を検索する
疑わしい Kibana イベント(例えば保存されたオブジェクトの削除)を指定して、その trace.id を抽出し、ES 監査インデックスを検索します:
curl -X POST "${ELASTICSEARCH_URL}/.security-audit-*/_search" \
<auth_flags> \
-H "Content-Type: application/json" \
-d '{
"query": {
"bool": {
"filter": [
{ "term": { "trace.id": "'"${TRACE_ID}"'" } },
{ "range": { "@timestamp": { "gte": "now-24h" } } }
]
}
},
"sort": [{ "@timestamp": { "order": "asc" } }]
}'
二次相関フィールド:user.name、source.ip、および @timestamp(時間ウィンドウ結合)。
Kibana 監査ログを Elasticsearch に送信する
Kibana 監査イベントを ES 監査イベントと一緒にクエリするには、Filebeat を使用して Kibana 監査ログファイルを Elasticsearch インデックスに送信します:
filebeat.inputs:
- type: log
paths: ["/path/to/kibana/data/audit.log"]
json.keys_under_root: true
json.add_error_key: true
output.elasticsearch:
hosts: ["https://localhost:9200"]
index: "kibana-audit-%{+yyyy.MM.dd}"
インデックス化されたら、.security-audit-*(ES)と kibana-audit-*(Kibana)の両方を trace.id でフィルタリングされたマルチインデックスクエリで一緒に検索できます。
例
コンプライアンスのために Kibana 監査を有効にする
リクエスト: 「Kibana 監査ログを有効にして、10 個のローテーションされたログファイルを保持してください。」
xpack.security.audit.enabled: true
xpack.security.audit.appender:
type: rolling-file
fileName: /var/log/kibana/audit.log
policy:
type: time-interval
interval: 24h
strategy:
type: numeric
max: 10
適用後 Kibana を再起動します。
削除されたダッシュボードを調査する
リクエスト: 「誰かがダッシュボードを削除しました。Kibana 監査ログを確認してください。」
Kibana 監査ログ(またはインデックス化された kibana-audit-* データ)で saved_object_delete イベントを kibana.saved_object.type: dashboard で検索します。trace.id を抽出して ES 監査インデックスと相互参照し、基本的な Elasticsearch 操作を確認します。
保存されたオブジェクト検索からの監査ノイズを減らす
リクエスト: 「定数の saved_object_find イベントのため Kibana 監査ログが大きすぎます。」
xpack.security.audit.ignore_filters:
- actions: [saved_object_find]
categories: [database]
これは大量の読み取り操作を抑制し、作成、更新、削除イベントは保持します。
ガイドライン
常に Elasticsearch 監査と一緒に有効にする
完全なカバレッジのため、kibana.yml と Elasticsearch の両方で監査を有効にします。Kibana 監査がない場合、保存されたオブジェクトのアクセスと Kibana ログインイベントは見えません。ES 監査がない場合、クラスタレベルの操作は見えません。ES 側のセットアップについては、elasticsearch-audit スキルを参照してください。
相関に trace.id を使用する
Kibana イベントを調査する際は、常に trace.id を抽出して ES 監査インデックス(.security-audit-*)を検索します。これにより、単一の Kibana アクションがトリガーする操作の完全なチェーンが明らかになります。クエリについては上記の Elasticsearch 監査ログとの相関 を参照してください。
ノイズの多い読み取りイベントをフィルタリングする
saved_object_find は忙しい Kibana インスタンスで非常に大量に生成されます。読み取りアクセスを監査する必要がある場合を除き、それを抑制します。
ログを Elasticsearch に送信して統合クエリを行う
Kibana 監査ログはデフォルトではファイルに書き込まれます。Filebeat 経由で Elasticsearch に送信して、ES 監査イベントと一緒にプログラム的にクエリします。
適切にローテーションして保持する
ローリングファイルローテーションを設定してディスク容量の枯渇を避けます。コンプライアンスのために 30~90 日間の保持が一般的です。
デプロイメント互換性
| 機能 | 自管理 | ECH | Serverless |
|---|---|---|---|
Kibana 監査(kibana.yml) | Yes | Cloud UI 経由 | 利用できません |
| ローリングファイルアペンダー | Yes | Cloud UI 経由 | 利用できません |
| コンソールアペンダー | Yes | Yes | 利用できません |
| フィルターの無視 | Yes | Cloud UI 経由 | 利用できません |
trace.id で相関 | Yes | Yes | 利用できません |
| Filebeat 経由で ES に送信 | Yes | Yes | 利用できません |
ECH 注: Kibana 監査は Cloud コンソールのデプロイメント編集ページで有効にされます。ログファイルは Cloud コンソールのデプロイメントログを通じてアクセスできます。
Serverless 注:
- Kibana 監査ログは Serverless ではユーザー設定が可能ではありません。セキュリティイベントはプラットフォームの一部として Elastic によって管理されます。
- ユーザーが Serverless での Kibana 監査について質問する場合は、Elastic Cloud コンソールまたは自分のアカウントチームに指示してください。
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- elastic
- リポジトリ
- elastic/agent-skills
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/elastic/agent-skills / ライセンス: Apache-2.0
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。