AWS WAF を使用して、User-Agent ヘッダーを含まない HTTP リクエストをブロックするにはどうすればよいですか?

所要時間2分
0

特定の User-Agent を含まない HTTP リクエストや、リクエストに特定の User-Agent ヘッダー値を含まない HTTP リクエストを制限したいと考えています。

簡単な説明

デフォルトでは、AWS WAF フィルタは HTTP リクエストパラメータが存在するかどうかを確認しません。HTTP リクエストパラメータが存在するかどうかを確認するには、次の操作を行います:

AWS マネージドルールを使用して、User-Agent ヘッダーを含まないリクエストをブロックします。

または、

カスタムルールを使用して、User-Agent ヘッダーを含まないリクエストをブロックするか、リクエストに特定の User-Agent が含まれている場合はトラフィックをブロックします。

解決策

AWS マネージドルールを使用して、ユーザーエージェントヘッダーを含まないリクエストをブロックする

AWS WAF 用 AWS マネージドルールを使用すると、独自のルールを作成しなくても、ユーザーエージェントヘッダーが含まれない HTTP リクエストをブロックできます。

注: マネージドルールについては、バージョンが変更されたり、有効期限が切れたりする場合があります。詳細については、「マネージドルールグループのバージョン処理に関するベストプラクティス」を参照してください。

次のルールは、HTTP User-Agent ヘッダーがないリクエストと、ウェブブラウザからのものではないと考えられる User-Agent 文字列を検査します。

NoUserAgent_HEADER
このルールは、コアルールセット (CRS) マネージドルールグループからのものです。このルールは、HTTP User-Agent ヘッダーがないリクエストを検査します。

SignalNonBrowserUserAgent
このルールは、AWS WAF Bot Control ルールグループからのものです。このルールは、User-Agent を持たないリクエストを含む、ウェブブラウザからのものではないと考えられる User-Agent 文字列を検査します。

ウェブ ACL に AWS マネージドルールグループを追加するには

  1. AWS WAF コンソールを開きます。

  2. ナビゲーションペインの [AWS WAF] で、[ウェブ ACL] を選択します。

  3. [リージョン] で、ウェブ ACL を作成した AWS リージョンを選択します。
    **注:**ウェブ ACL が Amazon CloudFront 用に設定されている場合は、[グローバル] を選択してください。

  4. ウェブ ACL を選択します。

  5. [ルール] を選択し、[ルールを追加] を選択します。ドロップダウンから [マネージドルールグループの追加] を選択します。

  6. [AWS マネージドルールグループ] セクションを展開します。

  7. ルールグループを見つけて、[ウェブ ACL に追加] をオンにします。
    例えば、NoUserAgent_HEADER ルールを含む [コアルールセット][ウェブ ACL に追加] をオンにすることができます。

  8. (オプション) ルールグループの設定を表示および変更するには、[編集] を選択します。

  9. [ルールを追加] を選択します。

  10. [保存] を選択します。

ウェブ ACL の既存の AWS マネージドルールグループを編集するには

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインの [AWS WAF] で、[ウェブ ACL] を選択します。
  3. [リージョン] で、ウェブ ACL を作成した AWS リージョンを選択します。
    **注:**ウェブ ACL が Amazon CloudFront 用に設定されている場合は、[グローバル] を選択してください。
  4. ウェブ ACL を選択します。
  5. [ルール] を選択し、[編集] を選択して設定を表示および変更します。
    **注:**設定の編集の詳細については、「マネージドルールグループの使用」を参照してください。
  6. 編集が終了したら、[保存] を選択します。

AWS マネージドルールのルールグループで誤検知が発生した場合は、「AWS WAF の AWS マネージドルール」を参照してください。

カスタムルールを使用して、User-Agent ヘッダーを含まないリクエストをブロックする

カスタムルールを使用して User-Agent ヘッダーを含まないリクエストをブロックするには、次を実行します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインの [AWS WAF] で、[ウェブ ACL] を選択します。
  3. [リージョン] で、ウェブ ACL を作成した AWS リージョンを選択します。
    注: ウェブ ACL が Amazon CloudFront 用に設定されている場合は、[グローバル] を選択してください。
  4. ウェブ ACL を選択します。
  5. [ルール] を選択し、[ルールを追加]、[独自のルールとルールグループのを追加] の順に選択します。
  6. **[ルールタイプ] **で [ルールビルダー] を選択します。
  7. [名前] に、このルールを識別するための名前を入力します。
  8. [タイプ][正規ルール] を選択します。
  9. [リクエストの場合] ** で、[ステートメントと一致しない (NOT)]** を選択します。
  10. [ステートメント][検査] で、[単一ヘッダー] を選択します。
    [ヘッダーフィールド名] に、フィールドの名前を入力します。例: ユーザーエージェント
    [一致タイプ] ** で[次を超えるサイズ]** を選択します。
    [サイズ (バイト単位)] ** に 0 (ゼロ) と入力します。
    (オプション) [ テキスト変換] を選択するか、
    [なし]** を選択します。
  11. [アクション][ブロック] を選択します。
  12. [ルールを追加] を選択します。
  13. (オプション) [ルールの優先度を設定] で、ルールを選択して優先度を変更します。ルールは表示された順に処理されます。詳細については、「ウェブ ACL でのルールおよびルールグループの処理順序」を参照してください。
  14. [保存] を選択します。

カスタムルールを使用して、リクエストに特定の User-Agent が含まれている場合はトラフィックをブロックする

カスタムルールを使用して、リクエストに特定の User-Agent が含まれている場合にトラフィックをブロックするには、次を実行します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインの [AWS WAF] で、[ウェブ ACL] を選択します。
  3. [リージョン] で、ウェブ ACL を作成した AWS リージョンを選択します。
    注: ウェブ ACL が Amazon CloudFront 用に設定されている場合は、[グローバル] を選択してください。
  4. ウェブ ACL を選択します。
  5. [ルール] を選択し、[ルールを追加]、[独自のルールとルールグループのを追加] の順に選択します。
  6. **[ルールタイプ] **で [ルールビルダー] を選択します。
  7. [名前] に、このルールを識別するための名前を入力します。
  8. [タイプ][正規ルール] を選択します。
  9. [リクエストがあった場合] で、**[ステートメントと一致] **を選択します。
  10. [ステートメント][検査] で、[単一ヘッダー] を選択します。
    [ヘッダーフィールド名] に、フィールドの名前を入力します。例: ユーザーエージェント
    [マッチタイプ][文字列を含む] を選択します。
    [一致する文字列] に、ブロックする特定のユーザーエージェントの値を入力します。
    (オプション) [ テキスト変換] を選択するか、
    [なし]
    を選択します。
  11. [アクション][ブロック] を選択します。
  12. [ルールを追加] を選択します。
  13. (オプション) [ルールの優先度を設定] で、ルールを選択して優先度を変更します。ルールは表示された順に処理されます。詳細については、「ウェブ ACL でのルールおよびルールグループの処理順序」を参照してください。
  14. [保存] を選択します。

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ