Cloudflare WAF ルールでブロックが発生した場合にアクティビティログから確認できることについて

2022.12.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、yagiです。

Cloudflare Advent Calendar 2022の18日目の記事になります。

Cloudflare WAF ルール にてWebサイトへのアクセスに対してブロックが発生した場合に、ダッシュボード上のアクティビティログから確認できることについて記載します。

Cloudflare WAF マネージド ルール について

Cloudflare WAFには個別に設定可能なカスタムルールのほか、下記のマネージドルールも利用可能となっています。

WAF マネージド ルールセットは、以下に対する即時保護を提供する事前設定済みのルールセットです。

  • ゼロデイ脆弱性

  • トップ 10 の攻撃手法

  • 盗まれた/公開された資格情報の使用

  • 機密データの抽出

  • これらのルールセットは定期的に更新されます。いくつかの可能なアクションから選択して、マネージド ルールの動作を調整できます。

Cloudflare は、次の WAF マネージド ルールセットを提供します。

Cloudflare WAF マネージド ルールセット

なお、CloudflareのWAFマネージドルールセットで利用可能となっているのは、以下の3つとなります。

上記はダッシュボード上のセキュリティ > WAF ページの 管理ルール タブの 管理ルールセット より設定の編集、展開ができます。

なおフリープランの場合は、無料のCloudflareマネージドルールセットにてサイト保護が可能となります。

ブロックが発生した場合の確認方法

WAFのファイヤーウォールルールを編集し、テストサイトのホスト名を指定した場合にブロックが発生するように設定します。

ブロックが発生したので、Access Denyのページを表示しています。

ホスト名やIPアドレス等でもフィルタできますが、エラーページにも表示されるRay IDにて、ファイアウォールイベントのアクティビティログを一意にフィルタすることができます。

ファイアウォールイベントはダッシュボード上の セキュリティ > イベント より確認ができます。

各イベントのアクティビティログもダッシュボードより確認ができます。順に見ていきます。

一致するサービス

日時と実行された操作がブロックであることから、該当のログを特定します。(Ray IDについては後述します。) ファイアウォールルールのどのルールに一致してブロックされたのかが確認できます。

なお今回は自身で設定したカスタムルールにおいてブロックされましたが、Cloudflare Managed Rule やOWASP Managed Ruleにてブロックされた場合、ルールセット名とルール名がこちらでそれぞれ確認できるようになっています。該当のアクセスが誤検知である場合には、ルールIDで該当ルールを特定の上、個別にオフにするなどの調整ができます。

リクエスト分析

ボットのスコアに関しては、公式ドキュメントに以下の説明があります。

ボット スコアは、リクエストがボットから送信された可能性を示す1~99のスコアです。たとえば、スコア 1 は Cloudflare がリクエストが自動化されたものであると確信していることを意味し、スコア 99 は Cloudflare がリクエストが人間からのものであると確信していることを意味します。

ボットのスコアとしては、〜29が自動化されている可能性が高く、30〜99は人間らしいとしています。(0は未計算、1は自動化されたボット、その他に検証済みボットの分類あり。)

今回のアクセスは人がブラウザにてアクセスしたものであるため、87のスコアとなっています。

ボットのソースについては、ボットスコアの生成方法としてヒューリスティック、機械学習、異常検出、JavaScript の検出がありますが、今回は機械学習となっています。

JA3 フィンガープリントも確認できます。誤検知の場合は、特定のJA3 フィンガープリントを許可するなどのカスタムルールを設定することもできます。

詳細なボットスコアの検出、JA3 フィンガープリントについては、ボットマネジメントを追加したエンタープライズプランにて利用することが可能となっています。

リクエストの詳細

Ray IDはこちらのセクションで確認ができます。上部のフィルターからRay IDを入力してログを一意にフィルタすることもできます。

ASNや国、パス、クエリー文字列などの詳細をこちらから確認することができます。どのようなリクエストがブロックされたのか、の理解に役立てることができます。

さいごに

Cloudflare WAF ルールでブロックが発生した場合に、アクティビティログから確認できることについてまとめてみました。

これだけでも様々な情報を簡単に確認することが可能だと思います。なお、上記はほんの一例で、確認できる内容や新しい機能は日々追加され、刷新されています。

Webサイトを各種攻撃から守るために、Cloudflare WAF ルールとイベントのアクティビティログで確認できる情報を上手に活用していきたいと思います。

以上です。