Alibaba Cloud Dynamic Content Delivery Network (DCDN) は、ドメインアクセスとWeb Application Firewall (WAF) ブロッキングイベントを1時間ごとにログ記録します。 分析のために、30日以内の特定の日に特定のドメインのログをローカルPCにダウンロードできます。
使用上の注意
DCDNコンソールで使用可能なモニタリングまたはリソース使用機能を使用するか、API操作を呼び出して照会される高速化ドメイン名のトラフィック使用量は、ログで収集されたものとは異なります。 通常、モニタリング機能またはリソース使用量機能を使用して照会される高速化ドメイン名のトラフィック使用量は、ログに収集されたトラフィック使用量の1.1倍です。 詳細については、「」をご参照ください。監視および使用分析機能または使用統計機能を使用して検出されたトラフィック量が、ログに記録されているトラフィック量と異なるのはなぜですか。
リソースモニタリングに関しては、クライアントIPアドレスのリージョンとISPに基づいてデータが収集されます。 課金に関しては、料金は、各課金可能リージョンのDCDNポイントオブプレゼンス (POP) でのネットワークトラフィック、帯域幅、およびリクエスト数に基づいて計算されます。 リソース監視データと計測データは、収集方法が異なるため、わずかに異なる場合があります。
いくつかのインターネットサービスプロバイダ (ISP) は、特定の領域内のクライアントにプライベートIPアドレスを割り当てることができる。 したがって、POPはプライベートIPアドレスから要求を受信することができる。
説明プライベートIPアドレスの種類は次のとおりです。
Type-プライベートIPアドレス: 10.0.0.0〜10.255.255.255。 サブネットマスク: 10.0.0.0/8。
Type-BプライベートIPアドレス: 172.16.0.0〜172.31.255.255 サブネットマスク: 172.16.0.0/12。
Type-CプライベートIPアドレス: 192.168.0.0〜192.168.255.255。 サブネットマスク: 192.168.0.0/16。
ログダウンロード
ログの更新遅延: ほとんどの場合、ログデータはイベント発生後24時間以内に生成されます。 場合によっては、時間がかかることがあります。
ログファイルの命名規則: domainName_year_month_day_startTime_endTime [extensionField].gz. 拡張フィールドはアンダースコア (_) で始まります。 例:
aliyundoc.com_2018_10_30_000000_010000_xx.gz
説明特定のログファイルの名前には、拡張フィールドが含まれない場合があります。 例:
aliyundoc.com_2018_10_30_000000_010000.gz
アクセスログのフィールド
サンプルログエントリ
[9/Jun/2015:01:58:09 +0800] 10.10.10.10 - 1542 "-" "GET http://www.aliyun.com/index.html" 200 191 2830 MISS "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://example.com/robot/)" "text/html" 1.1.1.1
フィールド
項目
説明
[9/Jun/2015:01:58:09 + 0800]
リクエストの終了時刻。
10.10.10.10
リクエストに含まれるX-Forwarded-Forヘッダーの最初のIPアドレス (client_ip) 。 クライアントがプレゼンスポイント (POP) に接続するためにプロキシを使用しない場合、IPアドレスはPOPに接続するためにクライアントによって使用されます。
説明X-Forwarded-Forリクエストヘッダーの形式は、
X-Forwarded-For: <client_ip>, <proxy_ip>
です。クライアントがプロキシを使用してPOPに接続しない場合、X-Forwarded-Forリクエストヘッダーには <client_ip> のみが含まれます。 この場合、ログ内のclient_ipの値はプライベートIPアドレスである可能性があります。 一般的な理由は、インターネットサービスプロバイダー (ISP) がクライアントにプライベートIPアドレスを割り当てて、パブリックIPアドレスの使用とコストを削減することです。
クライアントがプロキシを使用してPOPに接続する場合、X-Forwarded-Forリクエストヘッダーには <client_ip> と <proxy_ip> が含まれます。 この場合、ログ内のclient_ipの値はプライベートIPアドレスである可能性もあります。 一般的な理由は、ISPがプロキシにパブリックIPアドレスを割り当て、クライアントにプライベートIPアドレスを割り当てることです。
X-Forwarded-Forヘッダーが偽造される可能性があるため、ログフィールドでremote_ipを使用してログ分析を行い、WAFルールを設定して不良IPアドレスをブロックすることを推奨します。 これは、remote_ipがDCDNへの接続に使用される実際のクライアントIPアドレスを示すためです。
-
リクエストに含まれるX-Forwarded-Forヘッダーの2番目のIPアドレス (proxy_ip) 。 クライアントがプロキシを使用してAlibaba Cloud CDN POPに接続しない場合、このフィールドの値は
-
です。1542
応答時間。 単位:ミリ秒。
"-"
HTTPリクエストのRefererヘッダー。
GET
リクエスト方式。
http://www.aliyun.com/index.html
リクエストのURL。
200
HTTP ステータスコード
191
リクエストのサイズ。 単位はバイトです。
2830
レスポンスのサイズ。 単位はバイトです。
ミス
キャッシュヒットのステータス。 有効な値:
HIT: リクエストはキャッシュヒットであり、オリジンサーバーにリダイレクトする必要はありません。
MISS: リクエストはキャッシュミスであるため、L2 POPまたはオリジンサーバーにリダイレクトする必要があります。
Alibaba Cloud CDNは、L2 POPを除くPOPからログデータを収集します。 フィールド値がMISSの場合、オリジン情報は提供されません。 この場合、ログデータには、キャッシュミス要求がオリジンサーバーにリダイレクトされたかどうかは表示されません。
Mozilla/5.0 (互換性のある; AhrefsBot/5.0; + http://example.com/robot/)
User-Agentヘッダー。
text/html
ファイルタイプ。
説明グローバルリソースプランを有効にするドメイン名のログには、このフィールドは含まれません。
1.1.1.1
DCDNへの接続に使用されるIPアドレス。
説明その他のフィールド:
ダイナミック: ダイナミックなリクエストです。
CHARGE: リクエストは課金されます。
NOTLAST: 意味のない予約済みフィールド。
WAFログのフィールド
サンプルログエントリ
[16/May/2023:10:36:09 +0800] HEAD "http" api.aliyun.com "/block" "_dyc=89e7639543f17ddbe77361c56b9952b9" "-" api.aliyun.com 3d30530216842045692847280e 403 "-" "curl/7.29.0" "-" 1.XX.XX.1 1.XX.XX.1 false "-" deny "custom_acl" 20000014
フィールド
項目
例
説明
unixtime
[16 /5月 /2023:10:36:09 + 0800]
リクエストが開始された時刻。
method
ヘッド
リクエスト方式。
scheme
http
リクエストが送信されたプロトコル。
domain
api.aliyun.com
リクエストの送信先のドメイン名。
ウリ
/ブロック
要求されたリソース。
uri_param
_dyc=89e7639543f17ddbe77361c56b9952b 9
リクエストパラメーター。
content_type
-
要求されたコンテンツのタイプ。
matched_host
api.aliyun.com
WAFによって保護されているドメイン名。
request_id
3d3053021684204569284728 0e
リクエスト ID。
return_code
403
返されたHTTPステータスコード。
referer
-
HTTPリクエストのRefererヘッダー。
user_agent
カール /7.29.0
クライアントのプロキシに関する情報。
x_forwarded_for
-
X-Forwarded-For (XFF) ヘッダー。 このフィールドは、HTTPプロキシまたは負荷分散サービスを使用してwebサーバーに接続されているクライアントの送信元IPアドレスを識別するために使用されます。
client_ip
1.XX. XX.1
クライアントの送信元IPアドレス。
remote_addr
1.XX. XX.1
クライアントの IP アドレス。
final_test
偽
監視モードが一致しないことを示します。
cookie
-
HTTP Cookieヘッダー。 このフィールドは、クライアントに関する情報を含む。
final_action
否定
実行された保護アクション。
block: リクエストは基本web保護モジュールによってブロックされます。
deny: リクエストは、基本web保護モジュール以外のモジュールによってブロックされます。
captcha: 要求はスライダーCAPTCHAを使用して確認されます。
js: リクエストはJavaScriptを使用して検証されます。
空の文字列: リクエストはブロックされていません。 クライアントがスライダーCAPTCHA検証またはJavaScript検証に合格した後、保護ルールがトリガーされない、ホワイトリストルールまたはモニタールールがトリガーされる、またはリクエストが許可されます。
説明要求が複数の保護モジュールを同時にトリガーする場合、フィールドは記録され、実行される最後のアクションのみが含まれます。 ブロック、スライダーCAPTCHA検証、動的トークンベースの認証、およびJavaScript検証のアクションが優先度の高い順にリストされています。
final_plugin
custom_acl
一致した保護モジュール。
final_actionが設定されている場合、このフィールドはリクエストに対する最終アクションに対応する保護モジュールを指定します。
final_actionが空のままである場合、このフィールドは、要求によってヒットしたすべての保護ルールのモジュールに関する情報を指定します。 ヒットルールがホワイトリストまたは基本web保護ルールモジュールに属しておらず、モジュール名の末尾に「-T」が付いている場合、リクエストはモジュールの監視ルールにヒットします。
このフィールドには、コンマ (,) で区切られた複数の値があります。 有効な値:
whitelist: ホワイトリストモジュールが一致します。
waf: 基本的なweb保護モジュールが一致しています。
custom_acl: カスタムルールモジュールが一致しています。
ip_blacklist: ipブラックリストモジュールが一致しています。
region_block: リージョンブラックリストモジュールが一致しています。
bot: ボット管理モジュールが一致しています。
anti_scan: スキャン保護モジュールは一致します。
final_rule_id
20000014
一致した保護ルール。
final_actionが設定されている場合、このフィールドにはリクエストに適用される保護ルールのIDのみが指定されます。
final_actionが空の場合、このフィールドは、要求によってヒットされたすべての保護ルールに関するID情報を指定します。 この場合、final_rule_idの値は、moduleName − protectionRuleID (− T) のフォーマットである。 一致したホワイトリストまたは基本的なweb保護ルールの場合、このフィールドには「-T」は含まれません。 ホワイトリストまたは基本web保護ルール以外の一致した保護ルールの場合、このフィールドに「-T」が含まれている場合、ルールはモニタータイプです。
このフィールドには、コンマ (,) で区切られた複数の値があります。
手順
左側のナビゲーションウィンドウで、 .
ログダウンロードタブで、ドメイン名と日付を選択し、検索.
ダウンロードするログファイルを見つけて、をクリックします。ダウンロードで、アクション列を作成します。
関連する API 操作
DescribeDcdnDomainLog: 特定のドメインの標準ログをダウンロードできるアドレスを照会します。