検索クエリの監査

検索クエリ専用のaudit event typeは存在しません。検索クエリは分析され、その後処理されます。この処理は監査される認可アクションをトリガーします。しかし、認可監査が行われる際に、クライアントによって提出された元の生のクエリにはアクセスできません。

検索クエリはHTTPリクエストボディ内に含まれていますが、調整ノードのRESTレイヤーによって生成されるいくつかの監査イベントは、リクエストボディを監査ログに出力するように切り替えることができます。したがって、検索クエリを監査するにはリクエストボディを監査する必要があります。

特定の監査イベントにリクエストボディを含めるには、elasticsearch.ymlファイルの以下の設定を編集してください:

Yaml

  1. xpack.security.audit.logfile.events.emit_request_body: true

監査時にフィルタリングは行われないため、監査イベントにリクエストボディが含まれる場合、機密データがプレーンテキストで監査される可能性があります。また、リクエストボディには監査ログを消費するパーサーを壊す可能性のある悪意のあるコンテンツが含まれている場合があります。

リクエストボディは、request.bodyイベント属性にエスケープされたJSON文字列値(RFC 4627)として印刷されます。

上記の設定が切り替えられていても、すべてのイベントがrequest.body属性を含むわけではありません。含むイベントは、authentication_successauthentication_failedrealm_authentication_failedtampered_requestrun_as_denied、およびanonymous_access_deniedです。request.body属性は、調整ノード(RESTリクエストを処理するノード)でのみ印刷されます。これらのイベントタイプのほとんどはデフォルトでは含まれていません

良い実用的なアドバイスは、authentication_successを監査されるイベントタイプに追加することです(xpack.security.audit.logfile.events.includeのリストに追加してください)。このイベントタイプはデフォルトでは監査されません。

通常、インクルードリストにはaccess_grantedaccess_deniedなどの他のイベントタイプも含まれています。