リクエストの検索
- English
- 日本語
シグナルでタグ付けされ、すべてのもしくはサンプリングされたデータストレージカテゴリに該当する個々のリクエストのリストを表示できます。このガイドでは、このリストを絞り込むために使用できるさまざまな検索機能と検索構文について説明します。
フィルタリング
フィルターを使用すれば、特定の条件に合致するリクエストを検索できます。選択した値は検索バーに自動的に入力され、そこでクエリをさらに修正できます。
- Next-Gen WAF control panel
- Fastly control panel
リクエストページのフィルターオプションには、次のものがあります。
時間:リクエストが送信された時間に基づいてリクエストリストをフィルタリングします。たとえば、
2 hoursが選択されると、過去2時間以内に行われたリクエストのみがページに表示されます。攻撃シグナル:リクエストがタグ付けされた攻撃シグナルに基づいてリクエストリストをフィルタリングします。たとえば、
Attack Toolingが選択されると、Attack Toolingシグナルがタグ付けされたリクエストのみがページに表示されます。異常シグナル:リクエストがタグ付けされた異常シグナルに基づいてリクエストリストをフィルタリングします。たとえば、
Address Changedが選択されると、Address Changedシグナルがタグ付けされたリクエストのみがページに表示されます。レスポンスコード:リクエストに関連付けられたレスポンスコードに基づいてリクエストリストをフィルタリングします。たとえば、
404が選択されると、404レスポンスコードを持つリクエストのみがページに表示されます。
検索バー
検索バーに自由形式のテキストや明示的なクエリを入力することで、特定の条件に合致するリクエストを検索できます。明示的なクエリは、次の <key><operator><value> 構文に従います。
フリーテキストおよび明示的なクエリの例は次の通りです。
| フリーテキストクエリ | 明示的なクエリ | 説明 |
/a/path/here sqli -7h | path:/a/path/here sqli from:-7h | この特定のパスをで、過去7時間のすべての SQLI を表示 |
RU | country:ru | ロシアからの最近のすべてのリクエスト |
cn 500 | country:cn httpcode:500 | 中国からの最近のリクエストのうち、500 エラーが発生したものすべて |
404 233.252.0.23 | httpcode:404 ip:233.252.0.23 | 404 エラーが発生した IP からの最近のリクエスト |
キー
検索可能なキーは次の通りです。
| Name | 種類 | 説明 |
agent | 文字列 | オンプレミス WAF デプロイの場合、agent はエージェント (agent:~hostname、agent:~appname、agent:hostname.appname、もしくは agent:hostname-appname) のサーバーホスト名 (あるいはエイリアス) です。エッジ WAF デプロイの場合、agent はリクエストがアクセスしようとしているドメインもしくはサーバーのホスト名です (例:agent:www.example.com)。 |
agentcode | 整数 | エージェントの内部レスポンスコード |
bytesout | 整数 | HTTP レスポンスサイズ (バイト単位) |
country | 文字列 | 推定の発進元の国 (例:米国、ロシア) をリクエスト |
from | 時間 | 特定の日付以降のリクエストで出力をフィルタリングします。詳細については、時間セクションを確認してください。 |
httpcode | 整数 | レスポンスの HTTP レスポンスコード |
ip | 文字列 | 単一の IPv4 (ip:198.51.100.128)単一の IPv6 ( ip:2001:0db8:1681:f16f:d4dc:a399:c00d:0225)IPv4 CIDR ( ip:198.51.100.0/24)IPv6 CIDR ( ip:2001:0db8:1681:f16f::/64)IPv4 範囲 ( ip:198.51.100.0..198.51.100.255)IPv6 範囲 ( ip:2001:0db8:1681:f16f:: から 2001:0db8:1681:f16f:ffff:ffff:ffff:ffff) |
ja3 | 文字列 | JA3 フィンガープリント |
ja4 | 文字列 | JA4 フィンガープリント |
list | 文字列 | フラグ付きイベントをトリガーしたクライアント。サポートされている値は flagged のみです。 |
method | 文字列 | HTTP メソッド (例:GET、POST) |
path | 文字列 | リクエスト URL パス (クエリパラメータを含まない) |
payload | 文字列 | シグナルをトリガーしたデータ (すなわち攻撃値) |
protocol | 文字列 | HTTP リクエストプロトコル (通常は HTTP/1.1 もしくは HTTP/1.0) |
ratelimited | 文字列 | 特定のしきい値シグナルでタグ付けされ、レート制限が適用されたリクエスト。検索構文は ratelimited:site.<threshold-signal-ID> です。<threshold-signal-ID> を、しきい値シグナルとして使用されている カスタムシグナル の ID に置き換えてください。 |
responsemillis | 整数 | HTTP レスポンス時間 (ミリ秒単位) |
remotehost | 文字列 | リモートホスト名 (remotehost:www.example.com) もしくはサブドメイン一致 (remotehost:~example.com) |
requestheader | 文字列 | サポートされているリクエストヘッダー (例:requestheader:Accept-Encoding:gzip) |
ruleid | 文字列 | ルールの ID |
server | 文字列 | HTTP リクエストでリクエストされたサーバー名 (例:example.com が http://example.com/name の場合) |
tag | 文字列 | リクエストの特定のシグナル (SQLI、XSS など)。詳細については、シグナルセクションを確認してください。 |
target | 文字列 | サーバー + パス |
sort | 文字列 | time-asc (古い順) もしくはtime-desc (新しい順) でソート |
until | 時間 | 特定の日付より前のリクエストで出力をフィルタリングします。詳細については、時間セクションを確認してください。 |
useragent | 文字列 | リクエストのユーザーエージェント (ブラウザ) |
workspace | 文字列 | アカウント内の特定のワークスペース。Fastly コンソールでは、アカウントレベルでリクエストを表示する場合にのみ利用可能です。 |
requestheader キー
リクエストヘッダーを検索するには、requestheader:<headername>:<headervalue> 構文 (例:requestheader:Accept-Encoding:gzip) を使用します。ヘッダー名は大文字小文字を区別して入力することも、区別せずに入力することもできます。requestheader キーは、すべての検索演算子 (例:-requestheader:Accept-Encoding:gzip もしくは requestheader:~Accept-Encoding:gz) および以下のリクエストヘッダーをサポートします。
AcceptAccept-EncodingCache-ControlContent-LengthContent-TypeOriginReferrerSec-Ch-UaSec-Ch-Ua-MobileSec-Ch-Ua-PlatformSec-Ch-Ua-Platform-VersionSec-Ch-Ua-ArchSec-Ch-Ua-BitnessSec-Ch-Ua-Full-Version-ListSec-Ch-Ua-ModelSec-Fetch-DestSec-Fetch-ModeSec-Fetch-SiteSec-Fetch-UserUpgrade-Insecure-RequestsUser-AgentX-Bug-BountyX-Forwarded-ForX-Forwarded-HostX-Forwarded-PortX-Forwarded-ProtoX-Forwarded-ServerX-Real-Ip
演算子
演算子を使用する際は、以下の点に留意してください。
以下のすべての値は、スペースを含めるために引用符で囲むことができます。
任意のキーの前に
-(マイナス) を追加すると、オペレーションが無効になります。異なるキー名は AND 演算子 (
from:-1h path:/foo) として機能します。同じ名前の複数のキーは OR 演算子として機能します (
path:/foo path:/barは、/fooもしくは/barのいずれかに一致するパスを返す必要があります)。
サポートされている演算子には以下のようなものがあります。
| 演算子 | 意味 |
key:value | 等しい |
key:=value | 等しい、代替構文 |
-key:value | 等しくない、すべての演算子の一般的な否定 |
+key:value | 検索結果には指定されたキーとその値が含まれている必要があります |
key:!=value | 等しくない、代替構文 |
key:>value | より大きい、整数のみ |
key:>=value | 等しいまたはより大きい、整数のみ |
key:<value | より小さい、整数のみ |
key:<=value | 等しいまたは以下、整数のみ |
key:value1..value2 | value1からvalue2までの範囲で、整数のみ。時間については、from と until をご確認ください。 |
key:~value | 指定された用語でフィールドを検索します |
key:"*value"、key:"value*"、または key:"val*ue" | partial 値 (例:remotehost:~"*fiber*") で検索します。* は任意の数の文字に一致します。 |
+ 演算子
同じキーの複数のインスタンスを含むリクエストを検索するには、+ 演算子を使用します。たとえば、tag:CMDEXE +tag:TRAVERSAL を検索すると、CMDEXE と TRAVERSAL の両方のシグナルでタグ付けされたリクエストが返されます。演算子 + がない場合、tag:CMDEXE tag:TRAVERSAL 検索では CMDEXE、もしくは TRAVERSAL のいずれかのシグナルでタグ付けされたリクエストが返されます。
+ 演算子を使用した検索クエリを作成する際には、次の点に留意してください。
+演算子は、payload、ruleid、およびtagキーのみをサポートします。検索にキーのインスタンスが1つしかない場合、
+演算子は不要です。検索結果には、既にキーとその値が含まれています。たとえば、+tag:scanner country:usとtag:scanner country:usは同じリクエストを返します。検索において同一キーが2つ存在する場合、
+演算子を配置しても結果は変わりません。たとえば、以下の検索は同じ結果を返します。+tag:suspected-bad-bot +tag:scanner、+tag:suspected-bad-bot tag:scanner、およびtag:suspected-bad-bot +tag:scanner。検索で同じキーのインスタンスが複数ある場合、
+演算子がないインスタンスは OR ロジックでグループ化されます。たとえば、+tag:suspected-bad-bot tag:scanner tag:sansの検索では、SUSPECTED-BAD-BOTとSCANNERの両方のシグナルがタグ付けされたリクエスト、またはSUSPECTED-BAD-BOTとSANSの両方のシグナルがタグ付けされたリクエストが検索されます。
時間
時間範囲は、from と until キーを使用してさまざまな方法で指定できます。
リクエストページのクエリは、最大7日間の範囲に制限されています。7日を超える期間のクエリでは結果は返されません。たとえば、2週間前の検索結果を検索したい場合、クエリでは from:-21d until:-14d を使用する必要があり、これは7日間のウィンドウになります。単に from:-21d のクエリでは、その期間が21日間のウィンドウになるため、結果は得られません。
相対時間
| サフィックス | 意味 |
-5s | 5 秒前 (現在時刻から) |
-5min | 5 分前 |
-5h | 5 時間前 |
-5d | 5 日前 |
-5w | 5 週間前 |
-5mon | 5 か月前 |
-5y | 5 年前 |
例:
from:-5h(現在まで)from:-5h until:-4h(1時間の範囲)
絶対時間
絶対時間は以下を使用して指定することも可能です
Unix UTC エポックからの秒数
Java/JavaScript UTC エポックからのミリ秒
ISO 日付形式
YYYYMMDD
絶対時間の例:Unix UTC 秒
from:141384000(現在まで)from:141384000 until:1413844691
絶対時間の例:Java/JavaScript ミリ秒 UTC
from:141384000000(現在まで)from:141384000000 until:1413844691000
絶対日付の例:YYYYMMDD
from:20141031(現在まで)from:20141031 until:20141225
時間形式を組み合わせて使用することもできます。
from:20141031 until:-1h
シグナル
検索バーでは、tag キーを使用して、特定のシグナル (例:SQLI、XSS) でリクエストをフィルタリングできます。
| シグナルタイプ | 説明 |
| システムシグナル | 検索構文は tag:<system-signal> です。<system-signal> を検索したいシステムシグナルの名前に必ず置き換えてください。 |
| Corp (アカウント) カスタムシグナル | 検索構文は tag:corp.<corp-custom-signal> です。<corp-custom-signal> を検索したい企業 (アカウント) のカスタムシグナルの名前に必ず置き換えてください。 |
| サイト (ワークスペース) カスタムシグナル | 検索構文は tag:site.<site-custom-signal> です。<site-custom-signal> を検索したいサイト (ワークスペース) のカスタムシグナルの名前に必ず置き換えてください。 |
クエリビルダー
重要:クエリビルダーは Fastly コンソールでのみ使用でき、Next-Gen WAF コンソールでは使用できません。
クエリビルダーでは、タグ (例:NOUA)、HTTP ステータスコード (例:404、500)、およびワークスペースの特定の組み合わせによるリクエストをフィルタリングします。
クエリビルダーを使用して結果をフィルタリングするには、次の手順を実行します。
Time menu を使用して、リクエストが送信された時間範囲を指定します。
Query builder をクリックします。
Tag、HTTP Code、Workspace タブから、フィルタリングしたいタグとコードの組み合わせを選択します。選択内容が検索バーに入力されます。
いずれかのタブで Select All をクリックすると、すべてのタグ、HTTP コード、またはワークスペースを選択できます。指定されたタブで Clear selection をクリックして、そのタブの選択を解除するか、Clear all をクリックしてすべてのクエリビルダーフィルターを解除します。
クエリビルダーを終了します。
Search をクリックします。