スキップしてコンテンツを表示

AWS WAF を使用して、ユーザーエージェントヘッダーを含まない HTTP リクエストをブロックする方法を教えてください。

所要時間2分
0

AWS WAF を使用して、HTTP リクエストに特定のユーザーエージェント値が含まれていないか、特定のユーザーエージェントヘッダー値が含まれる場合に制限をかけたいです。

簡単な説明

デフォルトでは、AWS WAF フィルターは HTTP リクエストパラメータの有無を確認しません。AWS WAF を使用して、ユーザーエージェントヘッダーに応じて HTTP リクエストをブロックするには、次のいずれかの手順を実行します。

  • AWS マネージドルールを使用して、ユーザーエージェントヘッダーを含まないリクエストをブロックします。
  • カスタムルールを使用して、ユーザーエージェントヘッダーを含まないリクエストをブロックします。
  • カスタムルールを使用して、特定のユーザーエージェントヘッダーを含むリクエストをブロックします。

解決策

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

AWS WAF で AWS マネージドルールを使用する場合、独自のルールを作成する必要はありません。

注: AWS マネージドルールは、バージョンが変更されたり、失効したりする可能性があります。詳細については、「AWS WAF でバージョン管理されたマネージドルールグループを使用する」を参照してください。

NoUserAgent_HEADER ルールは、HTTP User-Agent ヘッダーのないリクエストを検査します。SignalNonBrowserUserAgent ルール は、ウェブブラウザ経由ではないと思われるユーザーエージェント文字列がないかを検査します (リクエストにユーザーエージェントが欠けている場合も含まれます)。

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

次の手順を実行します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで [AWS WAF] を選択します。
  3. [リソースと保護パック] を選択します。
  4. 目的の保護パックを探し、[ルール] の横にある [表示と編集] を選択します。
  5. 右側のペインで [ルールを追加] を選択します。
    [AWS マネージドルールグループ] を選択し、[次へ] を選択します。
  6. 追加するルールグループを選択します。
  7. [ウェブ ACL に追加] を選択します。
    注: [コアルールセット][ウェブ ACL に追加] を選択します。コアルールセットには NoUserAgent_HEADER ルールが含まれています。
  8. [ルールを作成] を選択します。

ウェブ ACL の既存の AWS Managed Rules ルールグループを編集する

次の手順を実行します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで [AWS WAF] を選択します。
  3. [リソースと保護パック] を選択します。
  4. 目的の保護パックを探し、[ルール] の横にある [表示と編集] を選択します。
  5. 右側のペインで [AWS マネージドルールグループ] を選択します。
  6. [ルールオーバーライド] セクション内の設定を編集します。
    注: 設定の編集に関する詳細については、「マネージドルールグループを使用する」を参照してください。
  7. [ルールを保存] を選択します。

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

カスタムルールを使用してユーザーエージェントヘッダーを含まないリクエストをブロックする

次の手順を実行します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで [AWS WAF] を選択します。
  3. [リソースと保護パック] を選択します。
  4. 目的の保護パックを探し、[ルール] の横にある [表示と編集] を選択します。
  5. 右側のペインで [ルールを追加] を選択します。
    [カスタムルール] を選択し、[次へ] をクリックします。
    [カスタムルール] を再度選択し、[次へ] をクリックします。
  6. ルールの [アクション]BLOCK に設定します。
  7. [ルール名] を入力します。
  8. [リクエストが次の場合] でドロップダウンを展開し、[ステートメントに一致しない (NOT)] を選択します。
  9. [検査][単一ヘッダー] を選択します。
  10. [NOT ステートメント] で次の手順を実行します。
    [ヘッダーフィールド名] にフィールド名を入力します (例: User Agent)。
    [一致タイプ] ** で[次を超えるサイズ]** を選択します。
    [サイズ (バイト単位)]0 を入力します。
    (オプション) [テキスト変換] を選択するか、[なし] を選択します。
  11. [ルール****を作成] を選択します。
  12. (オプション) ルールの優先度を設定する場合は、右側のペインで [ルール順序の編集] を選択し、優先度を更新します。詳細については、「ルール優先度を設定する」を参照してください。
    注: ルールは表示された順序で適用されます。
  13. [ルール順序を保存] を選択します。

カスタムルールを使用して、特定のユーザーエージェントヘッダーを含むリクエストをブロックします。

次の手順を実行します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで [AWS WAF] を選択します。
  3. [リソースと保護パック] を選択します。
  4. 目的の保護パックを探し、[ルール] の横にある [表示と編集] を選択します。
  5. 右側のペインで [ルールを追加] を選択します。
    [カスタムルール] を選択し、[次へ] をクリックします。
    [カスタムルール] を再度選択し、[次へ] をクリックします。
  6. ルールの [アクション]BLOCK に設定します。
  7. [ルール名] を入力します。
  8. [リクエストが次の場合] でドロップダウンを展開し、[ステートメントに一致] を選択します。
  9. [検査][単一ヘッダー] を選択します。
  10. [ステートメント] で、次の設定を行います。
    [ヘッダーフィールド名] にフィールド名を入力します (例: User Agent)。
    [マッチタイプ][文字列を含む] を選択します。
    [一致する文字列] にブロックするユーザーエージェントを入力します。
    (オプション) [テキスト変換] を選択するか、[なし] を選択します。
  11. [ルール****を作成] を選択します。
  12. (オプション) ルールの優先度を設定する場合は、右側のペインで [ルール順序の編集] を選択し、優先度を更新します。詳細については、「ルール優先度を設定する」を参照してください。
    注: ルールは表示された順序で適用されます。
  13. [ルール順序を保存] を選択します。
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ