次の方法で共有


Azure Web Application Firewall JavaScript チャレンジ (プレビュー)

重要

Azure Web Application Firewall JavaScript チャレンジは、現在プレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

Azure Front Door と Azure Application Gateway 上の Azure Web Application Firewall (WAF) は、高度なボット保護のための軽減策オプションの 1 つとして JavaScript チャレンジ機能を備えています。 Azure Front Door の場合、これは、Premium バージョンでは、カスタム ルール セットおよび Bot Manager 1.x ルールセットのアクションとして利用できます。

JavaScript チャレンジは、正当なユーザーとボットを区別するために使用される非表示の Web チャレンジです。 悪意のあるボットはチャレンジに失敗し、これにより Web アプリケーションが保護されます。 さらに、JavaScript チャレンジは人間の介入をまったく必要としないため、正当なユーザーの手間を減らすという点においても有益です。

しくみ

Azure WAF で JS チャレンジがアクティブで、クライアントの HTTP(s) 要求が特定のルールと一致すると、クライアントに Microsoft JS チャレンジ ページが表示されます。 ユーザーのブラウザーがチャレンジを計算している間、ユーザーにこのページが数秒間表示されます。 クライアントのブラウザーは、Azure WAF からの検証を受け取るために、このページで JavaScript チャレンジの計算に成功する必要があります。 計算に成功すると、WAF は要求を非ボット クライアントとして検証し、残りの WAF ルールを実行します。 チャレンジの計算に失敗した要求はブロックされます。

クロスオリジン リソース共有 (CORS) 要求では、アクセス試行のたびにチャレンジが行われます。 そのため、クライアントが、チャレンジをホストしているドメインとは異なるドメインから JavaScript チャレンジをトリガーするページにアクセスすると、クライアントが以前にチャレンジに合格した場合でも、クライアントはもう一度チャレンジに直面します。

さらに、クライアントが JavaScript チャレンジを解決した後、クライアントの IP アドレスが変更されると、チャレンジが再び発行されます。

以下に、JavaScript チャレンジ ページの例を示します。

JavaScript チャレンジ ページを示すスクリーンショット。

[有効期限]

WAF ポリシー設定では、JavaScript チャレンジ Cookie の有効期間を分単位で定義します。 有効期間が切れると、ユーザーに対するチャレンジが行われます。 有効期間は 5 から 1,440 分までの整数で、既定値は 30 分です。 JavaScript チャレンジ Cookie 名は、Azure Front Door では afd_azwaf_jsclearance で、Azure Application Gateway では appgw_azwaf_jsclearance です。

JavaScript チャレンジの有効期限 Cookie は、チャレンジが正常に完了した後に、ユーザーのブラウザーに挿入されます。

制限事項

  • AJAX と API の呼び出しはサポートされていません。JavaScript チャレンジは AJAX および API 要求には適用されません。

  • POST 本文のサイズ制限: JAVAScript チャレンジをトリガーする最初の要求は、POST 本文が 128 KB を超えるとブロックされます。

  • HTML 以外の埋め込みリソース: JavaScript チャレンジは HTML リソース用に設計されています。 画像、CSS、JavaScript ファイル、または同様のリソースなど、ページに埋め込まれている HTML 以外のリソースの課題はサポートされていません。 ただし、以前に JavaScript チャレンジ要求が成功した場合、それらの制限は解除されます。

  • ブラウザーの互換性: JavaScript チャレンジは Microsoft Internet Explorer ではサポートされていません。 Microsoft Edge、Chrome、Firefox、Safari の最新バージョンの Web ブラウザーと互換性があります。

  • レート制限はサポートされていません:Application Gateway での JavaScript チャレンジ アクションは、パブリック プレビュー中の レート制限 の種類のカスタム ルールではサポートされていません。