ATP マネージドルールグループをウェブ ACL に追加 - AWS WAF、 AWS Firewall Manager、および AWS Shield Advanced

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ATP マネージドルールグループをウェブ ACL に追加

ウェブトラフィックのアカウント乗っ取りアクティビティを認識するように ATP マネージドルールグループを設定するには、アプリケーションにログインリクエストを送信する方法に関する情報をクライアントで指定します。保護されている Amazon CloudFront ディストリビューションでは、アプリケーションがログインリクエストにどのように応答するかについての情報も提供します。この設定は、マネージドルールグループの通常の設定に追加されます。

ルールグループの説明とルールリストについては、「AWS WAF Fraud Control アカウント乗っ取り防止 (ATP) ルールグループ」を参照してください。

注記

盗まれた認証情報の ATP データベースには、E メール形式のユーザー名のみが含まれています。

このガイダンスは、 AWS WAF ウェブ ACL、ルール、およびルールグループを作成および管理する方法を一般的に認識しているユーザーを対象としています。これらのトピックは、このガイドの前のセクションでカバーされています。マネージドルールグループをウェブ ACL に追加する方法の基本については、「コンソールを通じたウェブ ACL へのマネージドルールグループの追加」を参照してください。

ベストプラクティスに従う

ATP ルールグループは、「インテリジェントな脅威の軽減のためのベストプラクティス」に記載されているベストプラクティスに従って使用してください。

ウェブ ACL で AWSManagedRulesATPRuleSet ルールグループを使用するには
  1. AWS AWSManagedRulesATPRuleSetマネージドルールグループをウェブ ACL に追加し、保存する前にルールグループの設定を編集します

    注記

    このマネージドルールグループを使用する場合、追加料金が請求されます。詳細については、「AWS WAF の料金」を参照してください。

  2. [ルールグループを設定] ペインで、ATP ルールグループがログインリクエストの検査に使用する情報を入力します。

    1. ログインページのパス仕様に合わせて正規表現による照合を行う場合は、[ AWS WAF パスに正規表現を使用] をオンに切り替えます。

      AWS WAF PCRE libpcre ライブラリで使用されているパターン構文をサポートしていますが、一部例外があります。ライブラリは、「PCRE - Perl Compatible Regular Expressions」で文書化されています。 AWS WAF サポートについて詳しくは、を参照してくださいでの正規表現パターンマッチング AWS WAF

    2. [Login path] (ログインパス) で、アプリケーションのログインエンドポイントのパスを指定します。ルールグループは、指定されたログインエンドポイントに対する HTTP POST リクエストのみを検査します。

      注記

      エンドポイントの照会では大文字と小文字が区別されません。 正規表現の仕様には、大文字と小文字を区別しない照合を無効にするフラグ (?-i) を含めてはいけません。文字列の指定はフォワードスラッシュ「/」で始まる必要があります。

      例えば、URL https://example.com/web/login では、文字列パスの指定「/web/login」を指定できます。指定したパスで始まるログインパスは一致と見なされます。例えば、/web/login はログインパス /web/login/web/login//web/loginPage、および /web/login/thisPage に一致しますが、ログインパス /home/web/login または /website/login には一致しません。

    3. [リクエスト検査] で、リクエストのペイロードタイプと、ユーザー名とパスワードが指定されているリクエスト本文内のフィールドの名前を指定して、アプリケーションがログイン試行を受け入れる方法を指定します。これらのフィールド名の指定は、ペイロードタイプによって異なります。

      • JSON ペイロードタイプ – JSON Pointer 構文でフィールド名を指定します。JSON ポインター構文については、インターネット技術標準化委員会 (IETF) のドキュメント「JavaScriptオブジェクト表記 (JSON) ポインター」を参照してください。

        例えば、次の JSON ペイロードの例では、ユーザー名フィールドの指定は /login/username で、パスワードフィールドの指定は /login/password です。

        { "login": { "username": "THE_USERNAME", "password": "THE_PASSWORD" } }
      • FORM_ENCODED ペイロードタイプ – HTML 形式の名前を使用します。

        例えば、username1password1 という名前の入力要素を持つ HTML フォームの場合、ユーザー名フィールドの指定は username1 で、パスワードフィールドの指定は password1 です。

    4. Amazon CloudFront ディストリビューションを保護する場合は、「レスポンスインスペクション」で、アプリケーションがログイン試行に対する応答で成功または失敗をどのように示すかを指定します。

      注記

      ATP レスポンスインスペクションは、ディストリビューションを保護するウェブ ACL でのみ使用できます。 CloudFront

      ATP で検査するログインレスポンスのコンポーネントを 1 つ指定します。本文および JSON コンポーネントタイプの場合、 AWS WAF はコンポーネントの最初の 65,536 バイト (64 KB) を検査できます。

      インターフェイスに示されているように、コンポーネントタイプの検査基準を指定します。コンポーネント内で検査する成功基準と失敗基準の両方を指定する必要があります。

      例えば、アプリケーションがログイン試行のステータスを応答のステータスコードで示し、成功の場合は「200 OK」、失敗の場合は「401 Unauthorized」または「403 Forbidden」を使用するとします。レスポンス検査の [コンポーネントタイプ][ステータスコード] に設定し、[成功] テキストボックスに「200」と入力し、[失敗] テキストボックスの 1 行目に「401」、2 行目に「403」と入力します。

      ATP ルールグループは、成功または失敗の検査基準に一致する応答のみをカウントします。ルールグループのルールは、カウントされた応答の失敗率が過度に高いクライアントに適用されます。ルールグループのルールが正確に動作するように、ログイン試行の成功と失敗の両方に関する詳細な情報を必ず入力してください。

      ログインレスポンスを検査するルールを確認するには、「AWS WAF Fraud Control アカウント乗っ取り防止 (ATP) ルールグループ」のルールリストで VolumetricIpFailedLoginResponseHighVolumetricSessionFailedLoginResponseHigh を探します。

  3. ルールグループに必要な追加設定を指定します。

    マネージドルールグループステートメントにスコープダウンステートメントを追加することで、ルールグループが検査するリクエストの範囲をさらに限定できます。例えば、特定のクエリ引数または cookie を持つリクエストのみを検査できます。ルールグループは、スコープダウンステートメントの基準に一致する、指定したログインエンドポイントへの HTTP POST リクエストのみを検査します。スコープダウンステートメントの詳細については、「スコープダウンステートメント」を参照してください。

  4. ウェブ ACL に対する変更を保存します。

本番稼働トラフィックに ATP 実装をデプロイする前に、トラフィックへの潜在的な影響に慣れるまで、ステージング環境またはテスト環境でテストおよびチューニングします。その後、ルールを有効にする前に、本番稼働用トラフィックでカウントモードでルールをテストしてチューニングします。ガイダンスについては、次のセクションを参照してください。