このトピックでは、Web Application Firewall (WAF) ログに含まれるフィールドについて説明します。
フィールド取得のためのテーブル
次の表に、WAFでサポートされている排他的ログフィールドを示します。 フィールド名を使用してフィールドを取得できます。
初期 | 項目 |
a |
|
b |
|
c |
|
d |
|
f | リクエストに対してWAFによって実行される最終アクションに関連するフィールド: final_action | final_plugin | final_rule_id | final_rule_type |
h |
|
m |
|
q | クエリ文字列の記録に使用するフィールド: querystring |
r |
|
秒 |
|
t | リクエストが送信された時刻を記録するために使用されるフィールド: time |
u |
|
w |
|
必須フィールド
必須フィールドは、WAFログに含める必要があるフィールドを参照します。
項目 | 説明 | 例 |
bypass_matched_ids | リクエストを許可する一致したルールのID。 ルールは、ホワイトリストルールまたはカスタム保護ルールにすることができます。 リクエストを許可する複数のルールが一度に一致する場合、このフィールドにはすべてのルールのIDが記録されます。 複数のIDはコンマ (,) で区切ります。 | 283531 |
content_type | 要求されたコンテンツのタイプ。 | application/x-www-form-urlencoded |
dst_port | 要求された宛先ポート。 重要 このフィールドは、Function Computeのwebアプリケーションにバインドされたカスタムドメイン名ではサポートされていません。 | 443 |
final_action | リクエストに対してWAFによって実行される最後のアクション。 有効な値:
WAF保護アクションの詳細については、「 *_actionフィールドの説明」をご参照ください。 要求が保護モジュールをトリガしない場合、このフィールドは記録されない。 たとえば、リクエストがリクエストを許可するルールに一致する場合、またはクライアントがCAPTCHA検証またはJavaScript検証に合格した後にリクエストが許可される場合、このフィールドは記録されません。 要求が一度に複数の保護モジュールをトリガする場合、このフィールドは記録され、実行される最後のアクションのみを含む。 次のアクションは、優先度の高い順にリストされています。blocking (block、strict slider CAPTCHA verification (captcha_strict) 、common slider CAPTCHA verification captcha、およびJavaScript validation (js) 。 | block |
final_plugin | リクエストに対して実行される最終アクションに基づいた保護モジュール。 final_actionフィールドは、実行される最終アクションを記録する。 有効な値:
要求が保護モジュールをトリガしない場合、このフィールドは記録されない。 たとえば、リクエストがリクエストを許可するルールに一致する場合、またはクライアントがCAPTCHA検証またはJavaScript検証に合格した後にリクエストが許可される場合、このフィールドは記録されません。 要求が一度に複数の保護モジュールをトリガする場合、このフィールドは、最終的なアクションが実行される基礎となる保護モジュールのみを記録する。 final_actionフィールドは、実行された最後のアクションを記録します。 | waf |
final_rule_id | 最終的なアクションが実行されるルールのID。 final_actionフィールドは、実行された最後のアクションを記録します。 | 115341 |
final_rule_type | 最終的なアクションの実行に基づくルールのサブタイプ。 final_rule_idフィールドは、ルールを記録する。 たとえば、 | xss/webShell |
ホスト | 要求されたドメイン名またはIPアドレスを含むリクエストヘッダーのHostフィールド。 このフィールドの値は、サービスの設定によって異なります。 | api.example.com |
http_cookie | クライアントのCookie情報を含むリクエストヘッダーのcookieフィールド。 | k1=v1;k2=v2 |
http_referer | リクエストのソースURLに関する情報を含むリクエストヘッダーのRefererフィールド。 リクエストにソースURL情報が含まれていない場合、このフィールドの値はハイフン ( | http://example.com |
http_user_agent | ブラウザとオペレーティングシステムに関する情報を含むリクエストヘッダーのUser-Agentフィールド。 | Dalvik/2.1.0 (Linux; U; アンドロイド10; x86ビルド /QSR1.200715.002のために造られるアンドロイドSDK) |
http_x_forward_for | リクエストヘッダーのX-Forwarded-For (XFF) フィールド。 このフィールドは、HTTPプロキシまたはロードバランサーを使用してwebサーバーに接続されているクライアントの送信元IPアドレスを識別するために使用されます。 | 47.100.XX.XX |
https | リクエストが HTTPS リクエストであるかどうかを示します。
| on |
一致した_host | 要求された保護オブジェクト。 保護対象オブジェクトは、インスタンスまたはドメイン名にすることができます。 説明 ドメイン名は、完全一致ドメイン名またはワイルドカードドメイン名にすることができます。 たとえば、* .aliyundoc.comドメイン名がWAFに追加されてd www.aliyundoc.comが要求された場合、* .aliyundoc.comドメイン名は要求された保護オブジェクトです。 | *.aliyundoc.com |
request_uri | 要求されるパスとパラメーター。 | /news/search.php?id=1 |
real_client_ip | リクエストを送信するクライアントの送信元IPアドレス。 WAFはリクエストを分析してIPアドレスを特定します。 WAFがクライアントの送信元IPアドレスを識別できない場合、このフィールドの値はハイフン ( | 192.0.XX.XX |
region | WAFインスタンスがデプロイされているリージョンのID。 有効な値:
| cn |
src_port | WAFに接続されているポート。 WAFの前にレイヤ7プロキシがデプロイされていない場合、このフィールドにはクライアントのポートが記録されます。 Alibaba Cloud CDNなどのレイヤ7プロキシがWAFの前にデプロイされている場合、このフィールドにはレイヤ7プロキシのポートが記録されます。 | 80 |
src_ip | WAFに接続されているIPアドレス。 WAFの前にレイヤ7プロキシがデプロイされていない場合、このフィールドにはクライアントのIPアドレスが記録されます。 Alibaba Cloud CDNなどのレイヤ7プロキシがWAFの前にデプロイされている場合、このフィールドにはレイヤ7プロキシのIPアドレスが記録されます。 | 198.51.XX.XX |
start_time | リクエストが開始された時刻。 単位は秒です。 | 1696534058 |
request_length | リクエスト行、リクエストヘッダー、リクエスト本文のバイトを含む、リクエストのバイト数。 単位はバイトです。 | 111111 |
request_method | リクエスト方式。 | GET |
request_time_msec | WAFがリクエストを処理するのにかかる時間。 単位:ミリ秒。 | 44 |
request_traceid | WAFがクライアント要求に対して生成する一意の識別子。 | 7837b11715410386943437009ea1f0 |
request_traceid_origin | リクエストの元のID。 | 7ce319151 ***** 18890e |
remote_region_id | IPアドレスが属する省のID。 | 410000 |
server_protocol | クライアントとWAF間の接続に使用されるプロトコル。 重要 このフィールドは、Function Computeのwebアプリケーションにバインドされたカスタムドメイン名ではサポートされていません。 | HTTP/1.1 |
ssl_cipher | クライアントによって使用される暗号スイート。 | ECDHE-RSA-AES128-GCM-SHA256 |
ssl_protocol | クライアントが使用するSSLまたはTLSプロトコルのバージョン。 | TLSv1.2 |
status | WAFからクライアントへの応答に含まれるHTTPステータスコード。 例: 200。これは、リクエストが受信され、受け入れられたことを示します。 | 200 |
時間 | リクエストが送信された時刻。 時間は | 2018-05-02T16:03:59+08:00 |
upstream_addr | オリジンサーバーのIPアドレスとポート。 形式は 重要 このフィールドは、Function Computeのwebアプリケーションにバインドされたカスタムドメイン名ではサポートされていません。 | 198.51.XX.XX:443 |
upstream_response_time | WAFによって転送されたリクエストに配信元サーバーが応答するのにかかる時間。 単位は秒です。 | 0.044 |
upstream_status | WAFによって転送されたリクエストに応答してオリジンサーバーによって送信されるHTTPステータスコード。 例: 200。これは、リクエストが受信され、受け入れられたことを示します。 | 200 |
ユーザー_id | WAFインスタンスが属するAlibaba CloudアカウントのID。 | 17045741 ******** |
オプションフィールド
ビジネス要件に基づいて、WAFログのオプションフィールドを有効にできます。 WAFログには、有効にしたオプションフィールドのみが記録されます。
オプションのフィールドを有効にすると、WAFログはより多くのストレージ容量を占有します。 十分なログストレージ容量がある場合は、追加のオプションフィールドを有効にすることを推奨します。 これにより、ログ分析をより包括的に実行できます。 オプションフィールドの設定方法の詳細については、「ログフィールド」をご参照ください。
項目 | 説明 | 例 |
acl_アクション | IPアドレスブラックリストルールまたはカスタム (アクセス制御) ルールに基づいてリクエストに対して実行されるアクション。 有効な値:
WAF保護アクションの詳細については、「 *_actionフィールドの説明」をご参照ください。 | block |
acl_rule_id | 一致するIPアドレスブラックリストルールまたはカスタム (アクセス制御) ルールのID。 | 151235 |
acl_rule_type | 一致するIPアドレスブラックリストルールまたはカスタム (アクセス制御) ルールのタイプ。 有効な値:
| custom |
acl_test | IPアドレスブラックリストルールまたはカスタム (アクセス制御) ルールに基づいて、リクエストに使用される保護モード。 有効な値:
| false |
antiscan_アクション | スキャン保護ルールに基づいてリクエストに対して実行されるアクション。 このフィールドの値はblockとして固定され、リクエストがブロックされていることを示します。 WAF保護アクションの詳細については、「 *_actionフィールドの説明」をご参照ください。 | block |
antiscan_rule_id | 一致するスキャン保護ルールのID。 | 151235 |
antiscan_rule_type | 一致するスキャン保護ルールのタイプ。 有効な値:
| highfreq |
antiscan_test | スキャン保護ルールに基づいてリクエストに使用される保護モード。 有効な値:
| false |
body_bytes_sent | サーバーからクライアントに返されるバイト数。 レスポンスヘッダーのバイト数は含まれていません。 単位はバイトです。 重要 このフィールドは、Function Computeのwebアプリケーションにバインドされたカスタムドメイン名ではサポートされていません。 | 1111 |
cc_アクション | リクエストに対して実行されるアクションは、カスタム (スロットリング) ルールに基づいています。 有効な値:
WAF保護アクションの詳細については、「 *_actionフィールドの説明」をご参照ください。 | block |
cc_rule_id | 一致するカスタム (スロットリング) ルールのIDです。 | 151234 |
cc_rule_type | 一致するルールの種類。The type of the rule that is matched. 有効な値:
| custom |
cc_test | リクエストに対して使用される保護モードは、カスタム (スロットリング) ルールに基づいています。 有効な値:
| false |
request_body | リクエスト本文。 値のサイズは最大8 KBです。 | test123curl -ki https:// automated-acltest02。***.top/ -automated-acltest02を解決します。***.top:443:39.107.XX.XX |
request_headers_すべて | すべてのリクエストヘッダー。 | { "Accept": "*/*" 、 "Accept-Encoding": "gz** 、de **te、** r "、 "Accept-Language": "zh-Hans-CN;q=1" 、 "Connection": "keep-*** ve" 、 "Content-Length": "1** 6 "、 "Content-Type": "application/json" 、 "Cookie": "cookie_key=***; acw_tc=0abc **** opqrstuvwxyz0 *** 7890;" 、 "ホスト": "1.****.****.1" 、 ... } |
request_header | カスタム要求ヘッダー。 このフィールドを有効にする場合は、リクエストヘッダーを指定する必要があります。 最大5つのカスタムリクエストヘッダーを追加できます。 複数のリクエストヘッダーはコンマ (,) で区切ります。 重要 このフィールドは、Function ComputeのwebアプリケーションにバインドされたMSEインスタンスまたはカスタムドメイン名ではサポートされません。 | {"ttt":"abcd"} |
server_port | 要求されたWAFポート。 重要
| 443 |
waf_action | 基本的な保護ルールに基づいてリクエストに対して実行されるアクション。 このフィールドの値はblockとして固定され、リクエストがブロックされていることを示します。 WAF保護アクションの詳細については、「 *_actionフィールドの説明」をご参照ください。 | block |
waf_rule_id | 一致する基本保護ルールのID。 説明 ルールIDは、[セキュリティレポート] ページの [基本保護ルール] タブに表示されます。 詳細については、「基本的な保護ルールモジュール」をご参照ください。 | 113406 |
waf_rule_type | 一致する基本保護ルールのタイプ。 有効な値:
| xss |
waf_test | 基本的な保護ルールに基づいてリクエストに使用される保護モード。 有効な値:
| false |
major_protection_アクション | メジャーイベント保護テンプレートに基づいてリクエストに対して実行されるアクション。 WAF保護アクションの詳細については、「 *_actionフィールドの説明」をご参照ください。 | block |
major_protection_rule_id | 一致するメジャーイベント保護ルールのID。 | 2221 |
major_protection_rule_型 | 一致するメジャーイベント保護ルールのタイプ。 有効な値:
| waf_blocks |
major_protection_test | メジャーイベント保護ルールに基づいて使用される保護モード。 有効な値:
| true |
response_set_cookie | サーバーからクライアントに送信されるcookie。 重要 このフィールドは、Function ComputeのwebアプリケーションにバインドされたMSEインスタンスまたはカスタムドメイン名ではサポートされません。 | acw_tc=781bad3616674790875002820e2cebbc55b6e0dfd9579302762b1dece40e0a;path=\/;HttpOnly;Max-Age=1800 |
response_header | すべてのレスポンスヘッダー。 重要 このフィールドは、Function ComputeのwebアプリケーションにバインドされたMSEインスタンスまたはカスタムドメイン名ではサポートされません。 | {"transfer-encoding":"chunked" 、"set-cookie":"acw_tc=***;path=\/;HttpOnly;Max-Age=1800" 、"content-type":"text\/html;charset=utf-8" 、"x-powered-by":"PHP\/7.2.24" 、"server":"nginx\/1.18.0" "connection":"close"} |
response_info | レスポンス本文。 値のサイズは最大16 KBです。 content-encodingヘッダーの値がgzipの場合、レスポンスボディはBase64でエンコードされます。 重要 このフィールドは、Function ComputeのwebアプリケーションにバインドされたALBインスタンス、MSEインスタンス、またはカスタムドメイン名ではサポートされません。 | $_POST Received:<br/>Array ( [***] => ) <hr/> $GLOBALS['HTTP_RAW_POST_DATA '] Received:<br/> <hr/> php:// input Received:*** |
request_path | リクエストの相対パス。 相対パスは、要求されたURLのうち、ドメイン名の後かつ疑問符 (?) の前にある部分であり、クエリ文字列を除く。 説明 このフィールドはデフォルトで選択されています。 | /news/search.php |
dlp_アクション | データ漏洩防止ルールに基づいてリクエストに対して実行されるアクション。 有効な値:
WAF保護アクションの詳細については、「 *_actionフィールドの説明」をご参照ください。 | block |
dlp_rule_id | 一致するデータ漏洩防止ルールのID。 | 20031483 |
dlp_test | データ漏洩防止ルールに基づいてリクエストに使用される保護モード。 有効な値:
| true |
querystring | クライアント要求のクエリ文字列。 クエリ文字列は、要求されたURLの疑問符 (?) に続く部分です。 説明 このフィールドはデフォルトで選択されています。 | title=tm_content%3Darticle&pid=123 |
scene_action | ボット管理シナリオ固有のルールに基づいてリクエストに対して実行されるアクション。 有効な値:
WAF保護アクションの詳細については、「 *_actionフィールドの説明」をご参照ください。 | js |
scene_id | 一致するボット管理シナリオ固有ルールのシナリオID。 | a82d992b_bc8c_47f0_87ce_****** |
scene_rule_id | ボット管理シナリオ固有ルールのIDと基本保護ルールのID。 | js-a82d992b_bc8c_47f0_87ce_****** |
scene_rule_type | 一致するボット管理シナリオ固有のルールのタイプ。 有効な値:
| bot_aialgo |
scene_test | ボット管理シナリオ固有のルールに基づいてリクエストに使用される保護モード。 有効な値:
| true |
remote_addr | WAFに接続されているIPアドレス。 WAFの前にレイヤ7プロキシがデプロイされていない場合、このフィールドにはクライアントのIPアドレスが記録されます。 Alibaba Cloud CDNなどのレイヤ7プロキシがWAFの前にデプロイされている場合、このフィールドにはレイヤ7プロキシのIPアドレスが記録されます。 説明 このフィールドはデフォルトで選択されています。 | 198.51.XX.XX |
remote_port | WAFに接続されているポート。 WAFの前にレイヤ7プロキシがデプロイされていない場合、このフィールドにはクライアントのポートが記録されます。 Alibaba Cloud CDNなどのレイヤ7プロキシがWAFの前にデプロイされている場合、このフィールドにはレイヤ7プロキシのポートが記録されます。 説明 このフィールドはデフォルトで選択されています。 | 80 |
waf_hit | 基本的な保護ルールに一致するコンテンツ。 | {"postarg_values":{"hit":["${jndi:ldap://"],"raw":"postarg.log4j =${ jndi:ldap://"}} |
コンプライアンス_ヒット | プロトコルコンプライアンス違反攻撃に一致するコンテンツ。 | ********** 7df271da040a |
コンプライアンス_アクション | プロトコル準拠ルールに基づいてリクエストに対して実行されるアクション。 このフィールドの値はブロックとして固定され、リクエストがブロックされていることを示します。 WAF保護アクションの詳細については、「アクションフィールドの説明」をご参照ください。 | block |
compliance_rule_id | 一致するプロトコル準拠ルールのID。 | 300033 |
compliance_rule_type | 一致するプロトコル準拠ルールのタイプ。 値はprotocol_violationとして固定されます。 | protocol_violation |
compliance_test | プロトコル準拠ルールに基づいて要求に使用される保護モード。 有効な値:
| false |
セマ_ヒット | セマンティック分析攻撃に一致するコンテンツ。 | {"queryarg_values":{"hit":["\" fro m mysql.us er "]," raw ":" queryarg.y=\"fro m mysql.us er"}} |
sema_action | セマンティック分析ルールに基づいてリクエストに対して実行されるアクション。 このフィールドの値はブロックとして固定され、リクエストがブロックされていることを示します。 WAF保護アクションの詳細については、「アクションフィールドの説明」をご参照ください。 | block |
sema_rule_id | 一致するセマンティック分析ルールのID。 | 810015 |
sema_rule_type | 一致するセマンティック分析ルールのタイプ。 値は、SQLインジェクション防止ルールを示すsqliとして固定されています。 | sqli |
sema_test | セマンティック分析ルールに基づいてリクエストに使用される保護モード。 有効な値:
| false |
wxbb_info_tbl | アプリ保護のボット管理ルールに一致するリクエストのデバイス情報。 | { "abnormal_imei": "0" 、 "abnormal_time": "1" 、 ***** "appversion": "9.4.3" 、 "ブランド": "Android" 、 ***** } |
*_actionフィールドの説明
*_actionは、さまざまな保護ルールの保護アクションを示します。 たとえば、final_actionはWAFによって実行される最後のアクションを示し、waf_actionは基本的な保護ルールの保護アクションを示します。 保護アクションは、保護ルールに基づいて異なります。 保護アクションの詳細については、パラメーターの説明をご参照ください。
次の表に、WAFでサポートされている保護アクションを示します。
保護アクション | 説明 |
block | リクエストがブロックされました。 WAFはクライアント要求をブロックし、HTTPエラーコード405をクライアントに返します。 |
captcha_strict | 厳密なスライダーCAPTCHA検証が実行されます。 WAFは、スライダーCAPTCHA検証に使用されるページをクライアントに返します。 クライアントが厳密なスライダーCAPTCHA検証に合格した場合、WAFは要求を許可します。 それ以外の場合、WAFはリクエストをブロックします。 クライアントがリクエストを送信するたびに、クライアントは厳密なスライダーCAPTCHA検証に合格する必要があります。 |
captcha | 共通スライダーCAPTCHA検証が実行されます。 WAFは、スライダーCAPTCHA検証に使用されるページをクライアントに返します。 クライアントが共通スライダーCAPTCHA検証に合格した場合、WAFは特定の時間範囲内にクライアントから送信されたリクエストを許可します。 デフォルトでは、時間範囲は30分に設定されています。 それ以外の場合、WAFはクライアントからの要求をブロックします。 |
js | JavaScriptの検証が実行されます。 WAFはJavaScriptコードをクライアントに返します。 JavaScriptコードは、クライアントブラウザによって自動的に実行されます。 クライアントがJavaScript検証に合格した場合、WAFは特定の時間範囲内にクライアントから送信されたリクエストを許可します。 デフォルトでは、時間範囲は30分に設定されています。 それ以外の場合、WAFはクライアントからの要求をブロックします。 |
js_pass | JavaScriptの検証が渡されます。 WAFはリクエストを許可します。 |
sigchl | 動的トークン認証が実行され、webリクエストが署名されます。 クライアントがリクエストを送信すると、WAFによって発行されたWeb SDKがリクエストの署名を生成します。 署名は、リクエストと共にオリジンサーバーに転送されます。 署名が生成されて検証された場合、リクエストはオリジンサーバーに転送されます。 署名の生成または検証に失敗した場合、動的トークンを取得するために使用できるコードブロックがクライアントに返され、要求に再署名する必要があります。 |