Web セッション正規化スキーマは、IP ネットワーク アクティビティを記述するために使用されます。 たとえば、IP ネットワーク アクティビティは、Web サーバー、Web プロキシ、Web セキュリティ ゲートウェイによって報告されます。
Microsoft Sentinelでの正規化の詳細については、「正規化と高度なセキュリティ情報モデル (ASIM)」を参照してください。
スキーマの概要
Web セッション正規化スキーマは HTTP ネットワーク セッションを表し、次のような一般的なソースの種類をサポートするのに適しています。
- Web サーバー
- Web プロキシ
- Web セキュリティ ゲートウェイ
ASIM Web セッション スキーマは、HTTP および HTTPS プロトコル アクティビティを表します。 スキーマはプロトコル アクティビティを表すので、RFC と正式に割り当てられたパラメーター リストによって管理されます。このパラメーター リストは、必要に応じてこの記事で参照されます。
Web セッション スキーマは、ソース デバイスからの監査イベントを表しません。 たとえば、Web Security Gateway ポリシーを変更するイベントを Web セッション スキーマで表すことはできません。
HTTP セッションは、TCP/IP を基になるネットワーク層セッションとして利用するアプリケーション層セッションであるため、Web セッション スキーマは ASIM ネットワーク セッション スキーマのスーパー セットです。
Web セッション スキーマの最も重要なフィールドは次のとおりです。
- クライアントがサーバーから要求した URL を報告する URL。
- SrcIpAddr (IpAddr にエイリアス付き) は、要求の生成元の IP アドレスを表します。
- EventResultDetails フィールド。通常は HTTP 状態コードを報告します。
Web セッション イベントには、 ユーザー と要求を開始する プロセス のユーザーとプロセスの情報も含まれる場合があります。
パーサー
ASIM パーサーの詳細については、 ASIM パーサーの概要に関するページを参照してください。
パーサーの統合
すべての ASIM アウト オブ ザ ボックス パーサーを統合し、構成されているすべてのソースで分析が実行されるようにするパーサーを使用するには、 _Im_WebSession パーサーを使用します。
すぐに使用するソース固有のパーサー
すぐに使用できる Web セッション パーサー Microsoft Sentinelの一覧については、ASIM パーサーの一覧を参照してください。
独自の正規化されたパーサーを追加する
Web セッション情報モデルにカスタム パーサーを実装する場合は、次の構文を使用して KQL 関数に名前を付けます。
-
vimWebSession<vendor><Product>パラメーター化されたパーサーの場合 -
ASimWebSession<vendor><Product>通常のパーサーの場合
パーサー パラメーターのフィルター処理
im および vim* パーサーでは、フィルター 処理パラメーターがサポートされています。 これらのパーサーは省略可能ですが、クエリのパフォーマンスを向上させることができます。
次のフィルター パラメーターを使用できます。
| 名前 | 型 | 説明 |
|---|---|---|
| starttime | 日付型 | この時刻以降に 開始 された Web セッションのみをフィルター処理します。 このパラメーターは、EventStartTime フィールドと EventEndTime フィールドのパーサー固有のマッピングに関係なく、イベントの時刻の標準指定子である TimeGenerated フィールドでフィルター処理します。 |
| endtime | 日付型 | この時刻以前に実行を 開始 した Web セッションのみをフィルター処理します。 このパラメーターは、EventStartTime フィールドと EventEndTime フィールドのパーサー固有のマッピングに関係なく、イベントの時刻の標準指定子である TimeGenerated フィールドでフィルター処理します。 |
| srcipaddr_has_any_prefix | 動的 |
ソース IP アドレス フィールド プレフィックスが一覧表示されている値のいずれかに含まれる Web セッションのみをフィルター処理します。 値の一覧には、IP アドレスと IP アドレス プレフィックスを含めることができます。 プレフィックスは、 .で終わる必要があります (例: 10.0.)。 リストの長さは 10,000 項目に制限されています。 |
| ipaddr_has_any_prefix | 動的 |
宛先 IP アドレス フィールドまたは送信元 IP アドレス フィールド プレフィックスが一覧表示されている値のいずれかに含まれるネットワーク セッションのみをフィルター処理します。 プレフィックスは、 .で終わる必要があります (例: 10.0.)。 リストの長さは 10,000 項目に制限されています。フィールド ASimMatchingIpAddr は、一致するフィールドまたはフィールドを反映するために、 SrcIpAddr、 DstIpAddr、または Both のいずれかの値で設定されます。 |
| url_has_any | 動的 | URL フィールドの値が一覧表示されている Web セッションのみをフィルター処理します。 ソースから報告されない場合、パーサーはパラメーターとして渡された URL のスキーマを無視できます。 指定したセッションが Web セッションでない場合、結果は返されません。 リストの長さは 10,000 項目に制限されています。 |
| httpuseragent_has_any | 動的 | ユーザー エージェント フィールドの値が一覧表示されている Web セッションのみをフィルター処理します。 指定したセッションが Web セッションでない場合、結果は返されません。 リストの長さは 10,000 項目に制限されています。 |
| eventresultdetails_in | 動的 | EventResultDetails フィールドに格納されている HTTP 状態コードが一覧表示されている値のいずれかである Web セッションのみをフィルター処理します。 |
| eventresult | string | 特定の EventResult 値を持つネットワーク セッションのみをフィルター処理します。 |
一部のパラメーターでは、 dynamic 型の値の両方のリストまたは単一の文字列値を受け取ることができます。 動的な値が必要なパラメーターにリテラル リストを渡すには、 動的リテラルを明示的に使用します。 例: dynamic(['192.168.','10.'])
たとえば、指定したドメイン名の一覧に対して Web セッションのみをフィルター処理するには、次のコマンドを使用します。
let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_WebSession (url_has_any = torProxies)
スキーマの詳細
Web セッション情報モデルは、 OSSEM Network エンティティ スキーマ と OSSEM HTTP エンティティ スキーマに合わせて調整されます。
業界のベスト プラクティスに準拠するために、Web セッション スキーマは 記述子 Src と Dst を使用して、フィールド名にトークン Dvc を含めずにセッションのソースと宛先のデバイスを識別します。
そのため、たとえば、ソース デバイスのホスト名と IP アドレスはそれぞれ SrcHostname と SrcIpAddr という名前で、 SrcDvcHostname と SrcDvcIpAddr という名前ではありません。 プレフィックス Dvc は、該当する場合、レポートまたは中間デバイスにのみ使用されます。
ソースおよび宛先デバイスに関連付けられているユーザーとアプリケーションを記述するフィールドも 、Src 記述子と Dst 記述子を使用します。
他の ASIM スキーマでは、通常、Dst の代わりに Target が使用されます。
一般的な ASIM フィールド
重要
すべてのスキーマに共通のフィールドについては、 ASIM 共通フィールド に関する記事を参照してください。
特定のガイドラインを含む一般的なフィールド
次の一覧では、Web セッション イベントに関する特定のガイドラインがあるフィールドについて説明します。
| フィールド | クラス | 型 | 説明 |
|---|---|---|---|
| Eventtype | 必須 | 列挙 | レコードによって報告される操作について説明します。 有効な値は次のとおりです。 - HTTPsession: HTTP または HTTPS に使用されるネットワーク セッションを示します。通常はプロキシや Web セキュリティ ゲートウェイなどの中間デバイスによって報告されます。- WebServerSession: Web サーバーによって報告される HTTP 要求を示します。 このようなイベントは、通常、ネットワーク関連の情報が少なくなります。 報告される URL には、スキーマとサーバー名は含めず、URL のパスとパラメーターの一部のみを含める必要があります。 - ApiRequest: API 呼び出しに関連して報告された HTTP 要求を示します。通常はアプリケーション サーバーによって報告されます。 このようなイベントは、通常、ネットワーク関連の情報が少なくなります。 アプリケーション サーバーによって報告される場合、報告される URL にはスキーマとサーバー名を含めず、URL のパスとパラメーターの一部のみを含める必要があります。 |
| EventResult | 必須 | 列挙 | 次のいずれかの値に正規化されたイベントの結果について説明します。 - Success - Partial - Failure - NA (該当なし) HTTP セッションの場合、 Success は 400より低い状態コードとして定義され、 Failure は 400より高い状態コードとして定義されます。 HTTP 状態コードの一覧については、「 W3 Org」を参照してください。ソースは 、EventResultDetails フィールドの値のみを提供できます。 これは、EventResult 値を取得するために分析する必要があります。 |
| EventResultDetails | 推奨 | 列挙 |
World Wide Web Consortium によって定義された HTTP 状態コード 注: 値は、これらの値に正規化する必要がある異なる用語を使用してソース レコードで指定できます。 元の値は EventOriginalResultDetails フィールドに格納する必要があります。 |
| EventSchema | 必須 | 列挙 | ここに記載されているスキーマの名前は WebSession。 |
| EventSchemaVersion | 必須 | SchemaVersion (String) | スキーマのバージョン。 ここに記載されているスキーマのバージョンは次のとおりです。 0.2.7 |
| Dvc フィールド | Web セッション イベントの場合、デバイス フィールドは Web セッション イベントを報告するシステムを参照します。 これは通常、 HTTPSession イベントの中間デバイスであり、 WebServerSession イベントと ApiRequest イベントの宛先 Web またはアプリケーション サーバーです。 |
すべての共通フィールド
次の表に示すフィールドは、すべての ASIM スキーマに共通です。 上記で指定したガイドラインは、フィールドの一般的なガイドラインをオーバーライドします。 たとえば、フィールドは一般的には省略可能ですが、特定のスキーマでは必須です。 各フィールドの詳細については、 ASIM 共通フィールド に関する記事を参照してください。
| クラス | フィールド |
|---|---|
| 必須 |
-
EventCount - EventStartTime - EventEndTime - Eventtype - EventResult - EventProduct - EventVendor - EventSchema - EventSchemaVersion - Dvc |
| 推奨 |
-
EventResultDetails - EventSeverity - EventUid - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType - DvcAction |
| 省略可能 |
-
EventMessage - EventSubType - EventOriginalUid - EventOriginalType - EventOriginalSubType - EventOriginalResultDetails - EventOriginalSeverity - EventProductVersion - EventReportUrl - EventOwner - DvcZone - DvcMacAddr - DvcOs - DvcOsVersion - DvcOriginalAction - DvcInterface - AdditionalFields - DvcDescription - DvcScopeId - DvcScope |
ネットワーク セッション フィールド
HTTP セッションは、TCP/IP を基になるネットワーク層セッションとして利用するアプリケーション層セッションです。 Web セッション スキーマは 、ASIM ネットワーク セッション スキーマ のスーパー セットであり、すべてのネットワーク スキーマ フィールドも Web セッション スキーマに含まれています。
次の ASIM ネットワーク セッション スキーマ フィールドには、Web セッション イベントに使用する場合の特定のガイドラインがあります。
- 別名 User は、DstUsername ではなく SrcUsername を参照する必要があります。
- EventOriginalResultDetails フィールドには、EventResultDetails に格納されている HTTP 状態コードに加えて、ソースによって報告された結果を保持できます。
- Web セッションの場合、プライマリ宛先フィールドは URL フィールドです。 DstDomain は、推奨されるものではなく省略可能です。 具体的には、使用できない場合は、パーサーの URL から抽出する必要はありません。
- フィールド
NetworkRuleNameとNetworkRuleNumberはそれぞれRuleNameとRuleNumberに名前が変更されます。
Web セッション イベントは、通常、クライアントからの HTTP 接続を終了し、サーバーとのプロキシとして機能する新しい接続を開始する中間デバイスによって報告されます。 中間デバイスを表すには、ASIM ネットワーク セッション スキーマ中間デバイス フィールドを使用します
HTTP セッション フィールド
Web セッションに固有の追加フィールドを次に示します。
| フィールド | クラス | 型 | 説明 |
|---|---|---|---|
| Url | 必須 | URL (文字列) | パラメーターを含む HTTP 要求 URL。
HTTPSessionイベントの場合、URL にスキーマが含まれる場合があり、サーバー名を含める必要があります。
WebServerSessionとApiRequestの場合、URL には通常、スキーマとサーバーは含まれません。これは、それぞれ NetworkApplicationProtocol フィールドと DstFQDN フィールドにあります。 例: https://contoso.com/fo/?k=v&q=u#f |
| UrlCategory | 省略可能 | 文字列 | URL または URL のドメイン部分の定義済みのグループ化。 このカテゴリは一般的に Web セキュリティ ゲートウェイによって提供され、URL が指すサイトのコンテンツに基づいています。 例: 検索エンジン、成人、ニュース、広告、駐車ドメイン。 |
| UrlOriginal | 省略可能 | URL (文字列) | URL がレポート デバイスによって変更され、両方の値が指定された場合の URL の元の値。 |
| HttpVersion | 省略可能 | 文字列 | HTTP 要求バージョン。 例: 2.0 |
| HttpRequestMethod | 推奨 | 列挙 | HTTP メソッド。 値は RFC 7231 と RFC 5789 で定義されており、 GET、 HEAD、 POST、 PUT、 DELETE、 CONNECT、 OPTIONS、 TRACE、 PATCHが含まれます。例: GET |
| HttpStatusCode | Alias | HTTP 状態コード。 EventResultDetails へのエイリアス。 | |
| HttpContentType | 省略可能 | 文字列 | HTTP 応答コンテンツ タイプ ヘッダー。 注: HttpContentType フィールドには、コンテンツ形式と、実際の形式を取得するために使用されるエンコードなどの追加パラメーターの両方が含まれる場合があります。 例: text/html; charset=ISO-8859-4 |
| HttpContentFormat | 省略可能 | 文字列 |
HttpContentType のコンテンツ形式の部分 例: text/html |
| HttpReferrer | 省略可能 | 文字列 | HTTP 参照元ヘッダー。 注: ASIM は OSSEM と同期して、元の HTTP ヘッダースペルではなく、 参照元に正しいスペルを使用します。 例: https://developer.mozilla.org/docs |
| HttpUserAgent | 省略可能 | 文字列 | HTTP ユーザー エージェント ヘッダー。 例: Mozilla/5.0(Windows NT 10.0;WOW64)AppleWebKit/537.36 (KHTML、Gecko など)Chrome/83.0.4103.97 Safari/537.36 |
| UserAgent | Alias | HttpUserAgent へのエイリアス | |
| HttpRequestXff | 省略可能 | IP アドレス | HTTP X-Forwarded-For ヘッダー。 例: 120.12.41.1 |
| HttpRequestTime | 省略可能 | 整数 | 必要に応じて、要求をサーバーに送信するのにかかった時間 (ミリ秒単位)。 例: 700 |
| HttpResponseTime | 省略可能 | 整数 | 必要に応じて、サーバーで応答を受信するまでにかかった時間 (ミリ秒単位)。 例: 800 |
| HttpHost | 省略可能 | 文字列 | HTTP 要求が対象とする仮想 Web サーバー。 この値は通常、 HTTP ホスト ヘッダーに基づいています。 |
| FileName | 省略可 | 文字列 | HTTP アップロードの場合は、アップロードされたファイルの名前。 |
| FileMD5 | 省略可能 | MD5 | HTTP アップロードの場合は、アップロードされたファイルの MD5 ハッシュ。 例: 75a599802f1fa166cdadb360960b1dd0 |
| FileSHA1 | 省略可能 | SHA1 | HTTP アップロードの場合は、アップロードされたファイルの SHA1 ハッシュ。 例: d55c5a4df19b46db8c54c801c4665d3338acdab0 |
| FileSHA256 | 省略可能 | SHA256 | HTTP アップロードの場合は、アップロードされたファイルの SHA256 ハッシュ。 例: e81bb824c4a09a811af17deae22f22dd2e1ec8cbb00b22629d2899f7c68da274 |
| FileSHA512 | 省略可能 | Sha512 | HTTP アップロードの場合は、アップロードされたファイルの SHA512 ハッシュ。 |
| ハッシュ | Alias | 使用可能な [ハッシュ] フィールドのエイリアス。 | |
| HashType | 条件 付き | 列挙 | [ ハッシュ] フィールド のハッシュの型。 使用できる値は、 MD5、 SHA1、 SHA256、 SHA512です。 |
| FileSize | 省略可能 | Long | HTTP アップロードの場合、アップロードされたファイルのサイズ (バイト単位)。 |
| FileContentType | 省略可能 | 文字列 | HTTP アップロードの場合、アップロードされたファイルのコンテンツ タイプ。 |
| HttpCookie | 省略可能 | 文字列 | セッション データの名前と値のペアを含む、クライアントからサーバーに送信される HTTP Cookie ヘッダーの内容。 例: session_id=abc123; user_pref=dark_mode |
| HttpIsProxied | 省略可能 | ブール型 | HTTP 要求がプロキシ サーバー経由で送信されたかどうかを示します。 例: true |
| HttpRequestBodyBytes | 省略可能 | Long | ヘッダーを含まない HTTP 要求本文のサイズ (バイト単位)。 例: 1024 |
| HttpRequestCacheControl | 省略可能 | 文字列 | クライアントからのキャッシュ ディレクティブを指定する HTTP Cache-Control 要求ヘッダーの内容。 例: no-cache |
| HttpRequestHeaderCount | 省略可能 | 整数 | 要求に含まれる HTTP ヘッダーの数。 例: 12 |
| HttpResponseBodyBytes | 省略可能 | Long | ヘッダーを含まない HTTP 応答本文のサイズ (バイト単位)。 例: 8192 |
| HttpResponseCacheControl | 省略可能 | 文字列 | HTTP Cache-Control 応答ヘッダーの内容。サーバーからのキャッシュ ディレクティブを指定します。 例: max-age=3600, public |
| HttpResponseExpires | 省略可能 | 文字列 | HTTP Expires 応答ヘッダーの内容。応答コンテンツの有効期限が切れるタイミングを示します。 例: Thu, 01 Dec 2024 16:00:00 GMT |
| HttpResponseHeaderCount | 省略可能 | 整数 | 応答に含まれる HTTP ヘッダーの数。 例: 15 |
その他のフィールド
イベントが Web セッションのいずれかのエンドポイントによって報告された場合、セッションを開始または終了したプロセスに関する情報が含まれる場合があります。 このような場合、この情報を正規化するための ASIM プロセス イベント スキーマ 。
スキーマの更新
Web セッション スキーマは、ネットワーク セッション スキーマに依存します。 そのため、 ネットワーク セッション スキーマの更新は 、Web セッション スキーマにも適用されます。
スキーマのバージョン 0.2.5 の変更点を次に示します。
- フィールド
HttpHostを追加しました。
スキーマのバージョン 0.2.6 の変更を次に示します。
- FileSize の型が Integer から Long に変更されました。
スキーマのバージョン 0.2.7 の変更点を次に示します。
- フィールド
HttpCookie、HttpIsProxied、HttpRequestBodyBytes、HttpRequestCacheControl、HttpRequestHeaderCount、HttpResponseBodyBytes、HttpResponseCacheControl、HttpResponseExpires、HttpResponseHeaderCountを追加しました。
次の手順
詳細については、以下を参照してください。