インテリジェントな脅威に対応した JavaScript API の使用 - AWS WAF、AWS Firewall Manager、AWS Shield Advanced、および AWS Shield ネットワークセキュリティディレクター

AWS WAF の新しいコンソールエクスペリエンスのご紹介

更新されたエクスペリエンスを使用して、コンソールの任意の場所で AWS WAF 機能にアクセスできるようになりました。詳細については、「更新されたコンソールエクスペリエンスを使用する」を参照してください。

インテリジェントな脅威に対応した JavaScript API の使用

このセクションでは、クライアントアプリケーションでインテリジェントな脅威 JavaScript API を使用する手順について説明します。

インテリジェントな脅威に対応した API は、ユーザーのブラウザに対してサイレントチャレンジを実行するための操作と、チャレンジや CAPTCHA 応答が成功した証明となる AWS WAF トークンを処理するための操作を実行します。

JavaScript 統合を最初にテスト環境で実装し、次に本番環境で実装します。追加のコーディングガイダンスについては、次のセクションを参照してください。

インテリジェントな脅威に対応した API を使用するには
  1. API のインストール

    CAPTCHA API を使用している場合は、このステップをスキップできます。CAPTCHA API をインストールすると、スクリプトはインテリジェントな脅威に対応した API を自動的にインストールします。

    1. AWS マネジメントコンソール にサインインして AWS WAF コンソール (https://console.aws.amazon.com/wafv2/homev2) を開きます。

    2. ナビゲーションペインで、[Application integration] (アプリケーション統合) を選択します。[アプリケーション統合] ページに、タブ付きのオプションが表示されます。

    3. [インテリジェントな脅威に対応した統合] を選択

    4. タブで、統合する保護パック (ウェブ ACL) を選択します。保護パック (ウェブ ACL) リストには、AWSManagedRulesACFPRuleSet マネージドルールグループ、AWSManagedRulesATPRuleSet マネージドルールグループ、または AWSManagedRulesBotControlRuleSet マネージドルールグループのターゲットを絞った保護レベルを使用する保護パック (ウェブ ACL) のみが含まれます。

    5. [JavaScript SDK] ペインを開き、統合で使用するスクリプトタグをコピーします。

    6. <head> セクションのアプリケーションページコードに、保護パック (ウェブ ACL) 用にコピーしたスクリプトタグを挿入します。この包含により、クライアントアプリケーションは、ページをロードする際にバックグラウンドでトークンを自動的に取得します。

      <head> <script type="text/javascript" src="protection pack (web ACL) integration URL/challenge.js” defer></script> <head>

      この <script> リストは defer 属性で設定されていますが、ページに別の動作が必要な場合は、設定を async に変更できます。

  2. (オプション) クライアントのトークンにドメイン設定を追加する – デフォルトでは、AWS WAF はトークンを作成するときに、保護パック (ウェブ ACL) に関連付けられたリソースのホストドメインを使用します。JavaScript API に追加のドメインを指定するには、「トークンで使用するドメインの提供」のガイダンスに従ってください。

  3. インテリジェントな脅威に対応した統合をコーディングする – クライアントで保護されたエンドポイントにリクエストを送信する前に、トークンの取得が完了するようにコードを記述します。既に fetch API を使用して呼び出しを行っている場合は、AWS WAF 統合 fetch ラッパーに置き換えることができます。fetch API を使用しない場合は、代わりに AWS WAF 統合 getToken オペレーションを使用できます。コーディングガイダンスについては、次のセクションを参照してください。

  4. 保護パック (ウェブ ACL) にトークン検証を追加する – クライアントで送信するウェブリクエスト内に有効なチャレンジトークンがないかチェックするルールを、保護パック (ウェブ ACL) に少なくとも 1 つ追加します。Bot Control マネージドルールグループのターゲットレベルのような、チャレンジトークンをチェックおよびモニタリングするルールグループを使用できるため、「AWS WAF の CAPTCHA および Challenge」の説明に従い、Challenge ルールアクションを使用してチェックします。

    保護パック (ウェブ ACL) を追加すると、保護されたエンドポイントへのリクエストに、クライアント統合で取得したトークンが含まれていることを確認できます。有効で期限が切れていないトークンを含むリクエストは、Challenge 検査に合格し、クライアントに別のサイレントチャレンジを送信することはありません。

  5. (オプション) トークンが不足しているリクエストをブロックする – ACFP マネージドルールグループ、ATP マネージドルールグループまたは Bot Control ルールグループのターゲットを絞ったルールで API を使用する場合、これらのルールはトークンが不足しているリクエストをブロックしません。トークンが不足しているリクエストをブロックするには、有効なトークン AWS WAF がないリクエストをブロックする のガイダンスに従ってください。