フィールドの照合は、多次元の構成オプションを提供します。
フィールドカテゴリ
ESA は3種類の照合フィールドをサポートしています。
標準フィールド:クライアントのリクエストまたはレスポンスで伝送される HTTP、IP、TLS などの標準プロトコルに関する情報を示します。標準フィールドには、ホスト名、リクエストヘッダー、レスポンスヘッダーが含まれます。
拡張フィールド:ESA がクライアントのリクエストまたはレスポンスに対して特定の操作を実行した後に取得した計算値を示します。拡張フィールドは、一般的に HTTP リクエストの脅威インテリジェンスに関連しています。
オリジナルフィールド:ESA によって保持されているクライアントリクエストの元のプロパティ値を示します。オリジナルフィールドは、一般的に、クライアントリクエストが複数の ESA 機能モジュール間で転送される際に元のプロパティ値を保持するために使用されます。
例: (http.host eq "example-1.com")
標準フィールド
標準フィールドには、HTTP リクエストと IP 情報の共通フィールドが含まれます。
http.cookie
HTTP リクエストで伝送される Cookie
ヘッダー。
フィールド名:
Cookie
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列を許可します。
例:
"sessionid=330688;userid=abc123"
http.host
HTTP リクエストで使用されるホスト名。
フィールド名:
Hostname
タイプ:
String
大文字と小文字は区別されません。
一致値に空の文字列は許可されません。
例:
"www.example.com"
http.referer
HTTP リクエストで伝送される Referer
ヘッダー。
フィールド名:
Referer
タイプ:
String
大文字と小文字は区別されません。
一致値に空の文字列を許可します。
例:
"http://www.example.com/index"
http.request.body.form
Content-Type
ヘッダーの値が application/x-www-form-urlencoded
の場合、HTTP リクエストで伝送されるフォーム形式のリクエスト本文。 Map
(連想配列)として表されます。
フィールド名:
Body
クエリ文字列タイプ:
Map<Array<String>>
例:
{"username":["admin"]}
http.request.body.mime
HTTP リクエストの本文で検出された Multipurpose Internet Mail Extensions(MIME)タイプ。動画、音声、画像、アプリケーション、テキスト
などの一般的なタイプのリソースの最も一般的な MIME タイプがサポートされています。
フィールド名:MIME タイプ
タイプ:
String
例:
"application/json"
http.request.cookies
HTTP リクエストで伝送される Cookie
ヘッダー。マップ(連想配列)として表されます。
フィールド名:Cookie 値
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列を許可します。
例:
{"sessionid":["330668"]}
http.request.full_uri
プロトコル、ホスト名、パス、クエリ文字列を含む、HTTP リクエストの完全な Uniform Resource Identifier(URI)。
フィールド名:完全な URI
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列は許可されません。
例:
"https://www.example.com/image/cat.jpg?width=400&height=300&format=webp"
http.request.headers
HTTP リクエストに含まれるヘッダー。マップ(連想配列)として表されます。連想配列のキー(ヘッダー名)のすべての文字は小文字でなければなりません。
フィールド名:ヘッダー
タイプ:
Object
大文字と小文字が区別されます。
一致値に空の文字列を許可します。
例:
{"content-type":["application/json"]}
http.request.method
HTTP リクエストで使用されるリクエストメソッド。
フィールド名:リクエストメソッド
タイプ:
String
例:
"GET"
http.request.timestamp.sec
ESA ポイント オブ プレゼンス(POP)が HTTP リクエストを受信したときの UNIX タイムスタンプ(秒単位)。
フィールド名:リクエストタイムスタンプ
タイプ:
Integer
UNIX 時間:(1735019278)
例:
1735019278
http.request.uri
パスとクエリ文字列を含む、HTTP リクエストの URI。
フィールド名:URI
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列は許可されません。
例:
"/image/cat.jpg?width=400&height=300&format=webp"
http.request.uri.args
HTTP リクエストの URI のクエリ文字列。マップ(連想配列)として表されます。
フィールド名:URI クエリ文字列パラメーター
タイプ:
Map<Array<String>>
大文字と小文字が区別されます。
一致値に空の文字列を許可します。
例:
{"format":["webp"]}
説明次のいずれかの照合演算子を選択した場合にのみ、null 値を指定できます。
等しい
等しくない
含む
正規表現に一致
http.request.uri.path
HTTP リクエストの URI パス。
フィールド名:URI パス
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列は許可されません。
例:
"/image/cat.jpg"
http.request.uri.path.extension
HTTP リクエストの URI パスのファイル名拡張子。
フィールド名:ファイル名拡張子
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列は許可されません。
例:
URI パス
フィールド値
/cat
""
/cat.jpg
"jpg"
/.jpg
""
/.cat.jpg
"jpg"
/cat.jpg.tar
"tar"
/cat.
""
/cat.JPG
"JPG"
http.request.uri.path.file_name
HTTP リクエストの URI パスのファイル名。
フィールド名:ファイル名
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列は許可されません。
例:
URI パス
フィールド値
/cat
"cat"
/cat.jpg
"cat"
/.jpg
""
/.cat.jpg
".cat"
/cat.jpg.tar
"cat.jpg"
/cat.
"cat"
/CAT.jpg
"CAT"
http.request.uri.path.full_file_name
HTTP リクエストの URI パスの完全なファイル名。
フィールド名:完全なファイル名
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列は許可されません。
例:
"cat.jpg"
http.request.uri.query
HTTP リクエストの URI クエリ文字列。
フィールド名:URI クエリ文字列
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列は許可されません。
例:
"width=400&height=300&format=webp"
http.request.version
HTTP リクエストの HTTP バージョン。
フィールド名:HTTP バージョン
タイプ:
String
例:
"HTTP/1.0"
"HTTP/1.1"
"HTTP/2.0"
"HTTP/3.0"
http.user_agent
HTTP リクエストで伝送される User-Agent ヘッダー。
フィールド名:ユーザーエージェント
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列を許可します。
例:
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.X.X Safari/537.36"
http.x_forwarded_for
HTTP リクエストで伝送される X-Forwarded-For
ヘッダー。
フィールド名:X-Forwarded-For
タイプ:
String
大文字と小文字が区別されます。
一致値に空の文字列を許可します。
例:
"192.168.0.1, 10.10.0.1"
ip.geoip.asnum
ソース IP アドレスが属する CIDR ブロックの自律システム番号(ASN)。 詳細については、「ASN とは」をご参照ください。
フィールド名:ASN
値の例:
数値
例:
37963
ip.geoip.continent
リクエストソース IP アドレスが配置されている大陸。
フィールド名:大陸
タイプ:
String
例:
AS
大陸名 | 大陸コード |
アフリカ | AF |
南極大陸 | AN |
アジア | AS |
ヨーロッパ | EU |
北アメリカ | NA |
オセアニア | OC |
南アメリカ | SA |
ip.geoip.country
リクエストソース IP アドレスが配置されている国または地域。詳細については、「ISO 3166 規格の概要」をご参照ください。
フィールド名:国または地域
タイプ:
String
大文字と小文字は区別されません。
一致値に空の文字列は許可されません。
例:
"CN"
ip.src
リクエストソース IP アドレス。
フィールド名:クライアント IP
タイプ:
IP アドレス
大文字と小文字は区別されません。
一致値に空の文字列は許可されません。
例:
192.0.2.1
ip.src.isp
リクエストソース IP アドレスのインターネットサービスプロバイダー(ISP)。
フィールド名:ISP
タイプ:
String
例:
"100017"
ISP 名 | ISP コード |
China Telecom | 100017 |
China Mobile | 100025 |
China Unicom | 100026 |
China Netcom | 100016 |
China Tietong | 100020 |
Great Wall Broadband | 100061 |
中国教育科学研究ネットワーク (CERNET) | 100027 |
China Broadcasting Network | 1000139 |
Beijing Gehua CATV Network | 100080 |
Dr.Peng Group | 1000143 |
Alibaba | 100098 |
Alibaba Cloud | 1000323 |
Tencent | 1000401 |
Baidu | 100099 |
ChinaNetCenter | 100093 |
ip.src.version
リクエストソース IP アドレスの IP バージョン。
フィールド名:IP バージョン
タイプ:
String
例:
"IPv4"
"IPv6"
ip.src.subdivision_1_iso_code
リクエストソース IP アドレスの地理的位置における第1レベルの行政区画エリアの ISO コード。詳細については、「ISO 3166 規格の概要」をご参照ください。
フィールド名:省
タイプ:
String
大文字と小文字が区別されます。
例:
"CN-ZJ"
ip.src.region_code
リクエストソース IP アドレスの地理的位置におけるロードバランサーの リージョンコード。
フィールド名:ロードバランサーリージョン
タイプ:
String
大文字と小文字が区別されます。
例:
"EAS"
リージョン名 | リージョンコード |
東ヨーロッパ | EEU |
西ヨーロッパ | WEU |
北アメリカ | NAM |
南アメリカ | SAM |
中東 | ME |
北アフリカ | NAF |
南アフリカ | SAF |
オセアニア | OC |
東アジア | EAS |
東南アジア | SEAS |
南アジア | SAS |
中国本土 | CNM |
ssl
SSL プロトコルまたは TLS プロトコルを使用するかどうかを示します。
フィールド名:SSL/HTTPS
タイプ:
Boolean
例:
true
拡張フィールド
動的フィールドは、特別なシナリオで ESA によって提供されるカスタムフィールドです。
ali.ja3_hash
JA3フィンガープリントは、TLSハンドシェイクプロセス中に Client Hello メッセージから特定のフィールドを収集することによって生成されます。これらのフィールドには、TLS バージョン、許容される暗号スイート、拡張リスト、楕円曲線、楕円曲線点フォーマットが含まれます。次に、これらのフィールドに対して MD5 ハッシュが実行されます。
フィールド名:JA3 フィンガープリント
タイプ:
String
例:
d0bfcdbbf2c6aeb4e0fbcf8234fd6cb6
ali.ja4
JA4 フィンガープリントは、JA3 フィンガープリント技術の進化版です。より多くのハンドシェイク手順情報が含まれており、既存の情報に対して異なる処理方法を使用して、フィンガープリントの一意性と精度を向上させています。
フィールド名:JA4 フィンガープリント
タイプ:
String
例:
d0bfcdbbf2c6aeb4e0fbcf8234fd6cb6
ali.js_detection.passed
JavaScript 検証に合格しました。
フィールド名:JavaScript 検証済み
タイプ:
Boolean
例:
true
ali.static_resource
リクエストが静的リクエストかどうかを示します。
フィールド名:静的リクエスト
タイプ:
Boolean
例:
true
ali.tls_client_auth.cert_verified
クライアント証明書が検証されました。
フィールド名:クライアント証明書検証済み
タイプ:
Boolean
例:
true
ali.tls_hash
リクエストで伝送される TLS 情報に対応するハッシュ値。
フィールド名:TLS フィンガープリント
タイプ:
String
例:
ABC123HASH
オリジナルフィールド
オリジナルフィールドは、クライアントリクエストが複数の ESA 機能モジュール間で転送される際に、クライアントリクエストの元のプロパティ値が保持されるようにし、内部ロジック処理によるソースデータ特性の損失を防ぎます。
http.request.body.raw
HTTP リクエストの元の本文コンテンツ。
フィールド名:HTTP リクエスト本文
タイプ:
String
例:
"ABC123"